diff --git a/cura/API/Interface/__init__.py b/cura/API/Interface/__init__.py index 742254a1a4..cec174bf0a 100644 --- a/cura/API/Interface/__init__.py +++ b/cura/API/Interface/__init__.py @@ -3,7 +3,6 @@ from typing import TYPE_CHECKING -from UM.PluginRegistry import PluginRegistry from cura.API.Interface.Settings import Settings if TYPE_CHECKING: @@ -23,9 +22,6 @@ if TYPE_CHECKING: class Interface: - # For now we use the same API version to be consistent. - VERSION = PluginRegistry.APIVersion - def __init__(self, application: "CuraApplication") -> None: # API methods specific to the settings portion of the UI self.settings = Settings(application) diff --git a/cura/API/__init__.py b/cura/API/__init__.py index ad07452c1a..b3e702263a 100644 --- a/cura/API/__init__.py +++ b/cura/API/__init__.py @@ -4,7 +4,6 @@ from typing import Optional, TYPE_CHECKING from PyQt5.QtCore import QObject, pyqtProperty -from UM.PluginRegistry import PluginRegistry from cura.API.Backups import Backups from cura.API.Interface import Interface from cura.API.Account import Account @@ -22,7 +21,6 @@ if TYPE_CHECKING: class CuraAPI(QObject): # For now we use the same API version to be consistent. - VERSION = PluginRegistry.APIVersion __instance = None # type: "CuraAPI" _application = None # type: CuraApplication @@ -62,4 +60,4 @@ class CuraAPI(QObject): @property def interface(self) -> "Interface": - return self._interface \ No newline at end of file + return self._interface diff --git a/cura/CuraApplication.py b/cura/CuraApplication.py index b605d6e18d..6e52a97518 100755 --- a/cura/CuraApplication.py +++ b/cura/CuraApplication.py @@ -134,7 +134,7 @@ except ImportError: CuraVersion = "master" # [CodeStyle: Reflecting imported value] CuraBuildType = "" CuraDebugMode = False - CuraSDKVersion = "" + CuraSDKVersion = "5.0.0" class CuraApplication(QtApplication): @@ -164,6 +164,7 @@ class CuraApplication(QtApplication): super().__init__(name = "cura", app_display_name = CuraAppDisplayName, version = CuraVersion, + api_version = CuraSDKVersion, buildtype = CuraBuildType, is_debug_mode = CuraDebugMode, tray_icon_name = "cura-icon-32.png", diff --git a/cura/CuraVersion.py.in b/cura/CuraVersion.py.in index 388429bc02..7c6304231d 100644 --- a/cura/CuraVersion.py.in +++ b/cura/CuraVersion.py.in @@ -1,4 +1,4 @@ -# Copyright (c) 2015 Ultimaker B.V. +# Copyright (c) 2018 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. CuraAppDisplayName = "@CURA_APP_DISPLAY_NAME@" diff --git a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml index 4d27489d7a..a48cb2ee3f 100644 --- a/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml +++ b/plugins/Toolbox/resources/qml/ToolboxCompatibilityChart.qml @@ -11,157 +11,208 @@ Item id: base property var packageData - property var technicalDataSheetUrl: { + property var technicalDataSheetUrl: + { var link = undefined if ("Technical Data Sheet" in packageData.links) { + // HACK: This is the way the old API (used in 3.6-beta) used to do it. For safety it's still here, + // but it can be removed over time. link = packageData.links["Technical Data Sheet"] } + else if ("technicalDataSheet" in packageData.links) + { + link = packageData.links["technicalDataSheet"] + } return link } - + property var safetyDataSheetUrl: + { + var sds_name = "safetyDataSheet" + return (sds_name in packageData.links) ? packageData.links[sds_name] : undefined + } + property var printingGuidelinesUrl: + { + var pg_name = "printingGuidelines" + return (pg_name in packageData.links) ? packageData.links[pg_name] : undefined + } anchors.topMargin: UM.Theme.getSize("default_margin").height height: visible ? childrenRect.height : 0 - visible: packageData.type == "material" && packageData.has_configs - Label + + visible: packageData.type == "material" && + (packageData.has_configs || technicalDataSheetUrl !== undefined || + safetyDataSheetUrl !== undefined || printingGuidelinesUrl !== undefined) + + Item { - id: heading - anchors.topMargin: UM.Theme.getSize("default_margin").height + id: combatibilityItem + visible: packageData.has_configs width: parent.width - text: catalog.i18nc("@label", "Compatibility") - wrapMode: Text.WordWrap - color: UM.Theme.getColor("text_medium") - font: UM.Theme.getFont("medium") - } - TableView - { - id: table - anchors.top: heading.bottom - anchors.topMargin: UM.Theme.getSize("default_margin").height - width: parent.width - frameVisible: false + // This is a bit of a hack, but the whole QML is pretty messy right now. This needs a big overhaul. + height: visible ? heading.height + table.height: 0 - // Workaround for scroll issues (QTBUG-49652) - flickableItem.interactive: false - Component.onCompleted: + Label { - for (var i = 0; i < flickableItem.children.length; ++i) - { - flickableItem.children[i].enabled = false - } - } - selectionMode: 0 - model: packageData.supported_configs - headerDelegate: Rectangle - { - color: UM.Theme.getColor("main_background") - height: UM.Theme.getSize("toolbox_chart_row").height - Label - { - anchors.verticalCenter: parent.verticalCenter - elide: Text.ElideRight - text: styleData.value || "" - color: UM.Theme.getColor("text") - font: UM.Theme.getFont("default_bold") - } - Rectangle - { - anchors.bottom: parent.bottom - height: UM.Theme.getSize("default_lining").height - width: parent.width - color: "black" - } - } - rowDelegate: Item - { - height: UM.Theme.getSize("toolbox_chart_row").height - Label - { - anchors.verticalCenter: parent.verticalCenter - elide: Text.ElideRight - text: styleData.value || "" - color: UM.Theme.getColor("text_medium") - font: UM.Theme.getFont("default") - } - } - itemDelegate: Item - { - height: UM.Theme.getSize("toolbox_chart_row").height - Label - { - anchors.verticalCenter: parent.verticalCenter - elide: Text.ElideRight - text: styleData.value || "" - color: UM.Theme.getColor("text_medium") - font: UM.Theme.getFont("default") - } + id: heading + anchors.topMargin: UM.Theme.getSize("default_margin").height + width: parent.width + text: catalog.i18nc("@label", "Compatibility") + wrapMode: Text.WordWrap + color: UM.Theme.getColor("text_medium") + font: UM.Theme.getFont("medium") } - Component + TableView { - id: columnTextDelegate - Label - { - anchors.fill: parent - verticalAlignment: Text.AlignVCenter - text: styleData.value || "" - elide: Text.ElideRight - color: UM.Theme.getColor("text_medium") - font: UM.Theme.getFont("default") - } - } + id: table + anchors.top: heading.bottom + anchors.topMargin: UM.Theme.getSize("default_margin").height + width: parent.width + frameVisible: false - TableViewColumn - { - role: "machine" - title: "Machine" - width: Math.floor(table.width * 0.25) - delegate: columnTextDelegate - } - TableViewColumn - { - role: "print_core" - title: "Print Core" - width: Math.floor(table.width * 0.2) - } - TableViewColumn - { - role: "build_plate" - title: "Build Plate" - width: Math.floor(table.width * 0.225) - } - TableViewColumn - { - role: "support_material" - title: "Support" - width: Math.floor(table.width * 0.225) - } - TableViewColumn - { - role: "quality" - title: "Quality" - width: Math.floor(table.width * 0.1) + // Workaround for scroll issues (QTBUG-49652) + flickableItem.interactive: false + Component.onCompleted: + { + for (var i = 0; i < flickableItem.children.length; ++i) + { + flickableItem.children[i].enabled = false + } + } + selectionMode: 0 + model: packageData.supported_configs + headerDelegate: Rectangle + { + color: UM.Theme.getColor("sidebar") + height: UM.Theme.getSize("toolbox_chart_row").height + Label + { + anchors.verticalCenter: parent.verticalCenter + elide: Text.ElideRight + text: styleData.value || "" + color: UM.Theme.getColor("text") + font: UM.Theme.getFont("default_bold") + } + Rectangle + { + anchors.bottom: parent.bottom + height: UM.Theme.getSize("default_lining").height + width: parent.width + color: "black" + } + } + rowDelegate: Item + { + height: UM.Theme.getSize("toolbox_chart_row").height + Label + { + anchors.verticalCenter: parent.verticalCenter + elide: Text.ElideRight + text: styleData.value || "" + color: UM.Theme.getColor("text_medium") + font: UM.Theme.getFont("default") + } + } + itemDelegate: Item + { + height: UM.Theme.getSize("toolbox_chart_row").height + Label + { + anchors.verticalCenter: parent.verticalCenter + elide: Text.ElideRight + text: styleData.value || "" + color: UM.Theme.getColor("text_medium") + font: UM.Theme.getFont("default") + } + } + + Component + { + id: columnTextDelegate + Label + { + anchors.fill: parent + verticalAlignment: Text.AlignVCenter + text: styleData.value || "" + elide: Text.ElideRight + color: UM.Theme.getColor("text_medium") + font: UM.Theme.getFont("default") + } + } + + TableViewColumn + { + role: "machine" + title: "Machine" + width: Math.floor(table.width * 0.25) + delegate: columnTextDelegate + } + TableViewColumn + { + role: "print_core" + title: "Print Core" + width: Math.floor(table.width * 0.2) + } + TableViewColumn + { + role: "build_plate" + title: "Build Plate" + width: Math.floor(table.width * 0.225) + } + TableViewColumn + { + role: "support_material" + title: "Support" + width: Math.floor(table.width * 0.225) + } + TableViewColumn + { + role: "quality" + title: "Quality" + width: Math.floor(table.width * 0.1) + } } } Label { - id: technical_data_sheet - anchors.top: table.bottom + id: data_sheet_links + anchors.top: combatibilityItem.bottom anchors.topMargin: UM.Theme.getSize("default_margin").height / 2 - visible: base.technicalDataSheetUrl !== undefined + visible: base.technicalDataSheetUrl !== undefined || + base.safetyDataSheetUrl !== undefined || base.printingGuidelinesUrl !== undefined + height: visible ? contentHeight : 0 text: { + var result = "" if (base.technicalDataSheetUrl !== undefined) { - return "%2".arg(base.technicalDataSheetUrl).arg("Technical Data Sheet") + var tds_name = catalog.i18nc("@action:label", "Technical Data Sheet") + result += "%2".arg(base.technicalDataSheetUrl).arg(tds_name) } - return "" + if (base.safetyDataSheetUrl !== undefined) + { + if (result.length > 0) + { + result += "
" + } + var sds_name = catalog.i18nc("@action:label", "Safety Data Sheet") + result += "%2".arg(base.safetyDataSheetUrl).arg(sds_name) + } + if (base.printingGuidelinesUrl !== undefined) + { + if (result.length > 0) + { + result += "
" + } + var pg_name = catalog.i18nc("@action:label", "Printing Guidelines") + result += "%2".arg(base.printingGuidelinesUrl).arg(pg_name) + } + return result } font: UM.Theme.getFont("very_small") color: UM.Theme.getColor("text") linkColor: UM.Theme.getColor("text_link") onLinkActivated: Qt.openUrlExternally(link) } - } diff --git a/plugins/Toolbox/resources/qml/ToolboxDetailTile.qml b/plugins/Toolbox/resources/qml/ToolboxDetailTile.qml index d544757d58..9061a8e06b 100644 --- a/plugins/Toolbox/resources/qml/ToolboxDetailTile.qml +++ b/plugins/Toolbox/resources/qml/ToolboxDetailTile.qml @@ -37,7 +37,7 @@ Item anchors.top: packageName.bottom width: parent.width text: model.description - maximumLineCount: 3 + maximumLineCount: 6 elide: Text.ElideRight wrapMode: Text.WordWrap color: UM.Theme.getColor("text") diff --git a/plugins/Toolbox/src/PackagesModel.py b/plugins/Toolbox/src/PackagesModel.py index aa5626b7f2..a31facf75a 100644 --- a/plugins/Toolbox/src/PackagesModel.py +++ b/plugins/Toolbox/src/PackagesModel.py @@ -12,7 +12,7 @@ from UM.Qt.ListModel import ListModel from .ConfigsModel import ConfigsModel -## Model that holds cura packages. By setting the filter property the instances held by this model can be changed. +## Model that holds Cura packages. By setting the filter property the instances held by this model can be changed. class PackagesModel(ListModel): def __init__(self, parent = None): super().__init__(parent) @@ -70,7 +70,7 @@ class PackagesModel(ListModel): # Links is a list of dictionaries with "title" and "url". Convert this list into a dict so it's easier # to process. - link_list = package['data']['links'] if 'links' in package['data'] else [] + link_list = package["data"]["links"] if "links" in package["data"] else [] links_dict = {d["title"]: d["url"] for d in link_list} if "author_id" not in package["author"] or "display_name" not in package["author"]: diff --git a/plugins/Toolbox/src/Toolbox.py b/plugins/Toolbox/src/Toolbox.py index 43e1f5b3d9..4f3722d7ba 100644 --- a/plugins/Toolbox/src/Toolbox.py +++ b/plugins/Toolbox/src/Toolbox.py @@ -172,18 +172,18 @@ class Toolbox(QObject, Extension): self._cloud_api_version = self._getCloudAPIVersion() self._cloud_api_root = self._getCloudAPIRoot() self._api_url = "{cloud_api_root}/cura-packages/v{cloud_api_version}/cura/v{sdk_version}".format( - cloud_api_root=self._cloud_api_root, - cloud_api_version=self._cloud_api_version, - sdk_version=self._sdk_version + cloud_api_root = self._cloud_api_root, + cloud_api_version = self._cloud_api_version, + sdk_version = self._sdk_version ) self._request_urls = { - "authors": QUrl("{base_url}/authors".format(base_url=self._api_url)), - "packages": QUrl("{base_url}/packages".format(base_url=self._api_url)), - "plugins_showcase": QUrl("{base_url}/showcase".format(base_url=self._api_url)), - "plugins_available": QUrl("{base_url}/packages?package_type=plugin".format(base_url=self._api_url)), - "materials_showcase": QUrl("{base_url}/showcase".format(base_url=self._api_url)), - "materials_available": QUrl("{base_url}/packages?package_type=material".format(base_url=self._api_url)), - "materials_generic": QUrl("{base_url}/packages?package_type=material&tags=generic".format(base_url=self._api_url)) + "authors": QUrl("{base_url}/authors".format(base_url = self._api_url)), + "packages": QUrl("{base_url}/packages".format(base_url = self._api_url)), + "plugins_showcase": QUrl("{base_url}/showcase".format(base_url = self._api_url)), + "plugins_available": QUrl("{base_url}/packages?package_type=plugin".format(base_url = self._api_url)), + "materials_showcase": QUrl("{base_url}/showcase".format(base_url = self._api_url)), + "materials_available": QUrl("{base_url}/packages?package_type=material".format(base_url = self._api_url)), + "materials_generic": QUrl("{base_url}/packages?package_type=material&tags=generic".format(base_url = self._api_url)) } # Get the API root for the packages API depending on Cura version settings. @@ -209,11 +209,11 @@ class Toolbox(QObject, Extension): # Get the packages version depending on Cura version settings. def _getSDKVersion(self) -> Union[int, str]: if not hasattr(cura, "CuraVersion"): - return self._plugin_registry.APIVersion + return self._application.getAPIVersion().getMajor() if not hasattr(cura.CuraVersion, "CuraSDKVersion"): # type: ignore - return self._plugin_registry.APIVersion + return self._application.getAPIVersion().getMajor() if not cura.CuraVersion.CuraSDKVersion: # type: ignore - return self._plugin_registry.APIVersion + return self._application.getAPIVersion().getMajor() return cura.CuraVersion.CuraSDKVersion # type: ignore @pyqtSlot() @@ -299,7 +299,7 @@ class Toolbox(QObject, Extension): for plugin_id in old_plugin_ids: # Neither the installed packages nor the packages that are scheduled to remove are old plugins if plugin_id not in installed_package_ids and plugin_id not in scheduled_to_remove_package_ids: - Logger.log('i', 'Found a plugin that was installed with the old plugin browser: %s', plugin_id) + Logger.log("i", "Found a plugin that was installed with the old plugin browser: %s", plugin_id) old_metadata = self._plugin_registry.getMetaData(plugin_id) new_metadata = self._convertPluginMetadata(old_metadata) diff --git a/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py b/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py index 8213f195d5..1130c1e9e2 100644 --- a/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade33to34/__init__.py @@ -11,6 +11,7 @@ def getMetaData(): # From To Upgrade function ("definition_changes", 3000004): ("definition_changes", 4000004, upgrade.upgradeInstanceContainer), ("quality_changes", 3000004): ("quality_changes", 4000004, upgrade.upgradeInstanceContainer), + ("quality", 3000004): ("quality", 4000004, upgrade.upgradeInstanceContainer), ("user", 3000004): ("user", 4000004, upgrade.upgradeInstanceContainer), }, "sources": { @@ -22,6 +23,10 @@ def getMetaData(): "get_version": upgrade.getCfgVersion, "location": {"./quality_changes"} }, + "quality": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, "user": { "get_version": upgrade.getCfgVersion, "location": {"./user"} diff --git a/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py b/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py index de0fdccb7d..2ea74f6194 100644 --- a/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py +++ b/plugins/VersionUpgrade/VersionUpgrade34to35/__init__.py @@ -13,6 +13,7 @@ def getMetaData(): ("definition_changes", 4000004): ("definition_changes", 4000005, upgrade.upgradeInstanceContainer), ("quality_changes", 4000004): ("quality_changes", 4000005, upgrade.upgradeInstanceContainer), + ("quality", 4000004): ("quality", 4000005, upgrade.upgradeInstanceContainer), ("user", 4000004): ("user", 4000005, upgrade.upgradeInstanceContainer), ("machine_stack", 4000004): ("machine_stack", 4000005, upgrade.upgradeStack), @@ -39,6 +40,10 @@ def getMetaData(): "get_version": upgrade.getCfgVersion, "location": {"./quality_changes"} }, + "quality": { + "get_version": upgrade.getCfgVersion, + "location": {"./quality"} + }, "user": { "get_version": upgrade.getCfgVersion, "location": {"./user"} diff --git a/resources/bundled_packages/cura.json b/resources/bundled_packages/cura.json index fceee75539..ee82b17a75 100644 --- a/resources/bundled_packages/cura.json +++ b/resources/bundled_packages/cura.json @@ -9,7 +9,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -26,7 +26,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -43,7 +43,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -60,7 +60,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -77,7 +77,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -94,7 +94,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -111,7 +111,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -128,7 +128,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -145,7 +145,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -162,7 +162,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -179,7 +179,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -213,7 +213,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -230,7 +230,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -247,7 +247,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -281,7 +281,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -298,7 +298,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -315,7 +315,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -332,7 +332,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -349,7 +349,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -366,7 +366,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -383,7 +383,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -400,7 +400,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -417,7 +417,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -434,7 +434,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -451,7 +451,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -468,7 +468,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -485,7 +485,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -502,7 +502,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -519,7 +519,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -536,7 +536,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -553,7 +553,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -570,7 +570,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -587,7 +587,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -604,7 +604,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -621,7 +621,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -638,7 +638,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -655,7 +655,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -672,7 +672,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -689,7 +689,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -723,7 +723,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -740,7 +740,7 @@ "sdk_version": 5, "website": "https://ultimaker.com", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "plugins@ultimaker.com", "website": "https://ultimaker.com" @@ -1301,7 +1301,7 @@ "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1320,7 +1320,7 @@ "sdk_version": 5, "website": "https://ultimaker.com/products/materials/breakaway", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1339,7 +1339,7 @@ "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1358,7 +1358,7 @@ "sdk_version": 5, "website": "https://ultimaker.com/products/materials/cpe", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1377,7 +1377,7 @@ "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1396,7 +1396,7 @@ "sdk_version": 5, "website": "https://ultimaker.com/products/materials/pc", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1415,7 +1415,7 @@ "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1434,7 +1434,7 @@ "sdk_version": 5, "website": "https://ultimaker.com/products/materials/pp", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1453,7 +1453,7 @@ "sdk_version": 5, "website": "https://ultimaker.com/products/materials/abs", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1472,7 +1472,7 @@ "sdk_version": 5, "website": "https://ultimaker.com/products/materials/tpu-95a", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", @@ -1487,11 +1487,11 @@ "package_type": "material", "display_name": "Ultimaker Tough PLA", "description": "Example package for material and quality profiles for Ultimaker materials.", - "package_version": "1.0.0", + "package_version": "1.0.2", "sdk_version": 5, "website": "https://ultimaker.com/products/materials/tough-pla", "author": { - "author_id": "Ultimaker", + "author_id": "UltimakerPackages", "display_name": "Ultimaker B.V.", "email": "materials@ultimaker.com", "website": "https://ultimaker.com", diff --git a/resources/qml/Preferences/GeneralPage.qml b/resources/qml/Preferences/GeneralPage.qml index 0e8dd1b426..444bdc2dd5 100644 --- a/resources/qml/Preferences/GeneralPage.qml +++ b/resources/qml/Preferences/GeneralPage.qml @@ -171,7 +171,7 @@ UM.PreferencesPage append({ text: "日本語", code: "ja_JP" }) append({ text: "한국어", code: "ko_KR" }) append({ text: "Nederlands", code: "nl_NL" }) - append({ text: "Polski", code: "pl_PL" }) + //Polish is disabled for being incomplete: append({ text: "Polski", code: "pl_PL" }) append({ text: "Português do Brasil", code: "pt_BR" }) append({ text: "Português", code: "pt_PT" }) append({ text: "Русский", code: "ru_RU" }) diff --git a/resources/quality/fabtotum/fabtotum_abs_fast.inst.cfg b/resources/quality/fabtotum/fabtotum_abs_fast.inst.cfg index f2628e16df..95e8b93b36 100644 --- a/resources/quality/fabtotum/fabtotum_abs_fast.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_abs_fast.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = fast weight = -1 -material = fabtotum_abs +material = generic_abs [values] adhesion_type = raft diff --git a/resources/quality/fabtotum/fabtotum_abs_high.inst.cfg b/resources/quality/fabtotum/fabtotum_abs_high.inst.cfg index d750eb98a3..baedf0ed2b 100644 --- a/resources/quality/fabtotum/fabtotum_abs_high.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_abs_high.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = high weight = 1 -material = fabtotum_abs +material = generic_abs [values] adhesion_type = raft diff --git a/resources/quality/fabtotum/fabtotum_abs_normal.inst.cfg b/resources/quality/fabtotum/fabtotum_abs_normal.inst.cfg index 7db9682c8a..58933486ee 100644 --- a/resources/quality/fabtotum/fabtotum_abs_normal.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_abs_normal.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = normal weight = 0 -material = fabtotum_abs +material = generic_abs [values] adhesion_type = raft diff --git a/resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg b/resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg index b6629d1fac..00f0737227 100644 --- a/resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_nylon_fast.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = fast weight = -1 -material = fabtotum_nylon +material = generic_nylon [values] adhesion_type = raft diff --git a/resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg b/resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg index f819f2bbd5..bd7f32c9ba 100644 --- a/resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_nylon_high.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = high weight = 1 -material = fabtotum_nylon +material = generic_nylon [values] adhesion_type = raft diff --git a/resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg b/resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg index 8e0ed4f93c..6a450e7ffe 100644 --- a/resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_nylon_normal.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = normal weight = 0 -material = fabtotum_nylon +material = generic_nylon [values] adhesion_type = raft diff --git a/resources/quality/fabtotum/fabtotum_pla_fast.inst.cfg b/resources/quality/fabtotum/fabtotum_pla_fast.inst.cfg index dce262216a..afac0b0884 100644 --- a/resources/quality/fabtotum/fabtotum_pla_fast.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_pla_fast.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = fast weight = -1 -material = fabtotum_pla +material = generic_pla [values] adhesion_type = skirt diff --git a/resources/quality/fabtotum/fabtotum_pla_high.inst.cfg b/resources/quality/fabtotum/fabtotum_pla_high.inst.cfg index 2dce693235..89dc6d9b33 100644 --- a/resources/quality/fabtotum/fabtotum_pla_high.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_pla_high.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = high weight = 1 -material = fabtotum_pla +material = generic_pla [values] adhesion_type = skirt diff --git a/resources/quality/fabtotum/fabtotum_pla_normal.inst.cfg b/resources/quality/fabtotum/fabtotum_pla_normal.inst.cfg index 01f730c2e8..e5496a13d4 100644 --- a/resources/quality/fabtotum/fabtotum_pla_normal.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_pla_normal.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = normal weight = 0 -material = fabtotum_pla +material = generic_pla [values] adhesion_type = skirt diff --git a/resources/quality/fabtotum/fabtotum_tpu_fast.inst.cfg b/resources/quality/fabtotum/fabtotum_tpu_fast.inst.cfg index be8d2e3e3a..7917c92514 100644 --- a/resources/quality/fabtotum/fabtotum_tpu_fast.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_tpu_fast.inst.cfg @@ -6,7 +6,7 @@ name = Fast Quality [metadata] type = quality setting_version = 5 -material = fabtotum_tpu +material = generic_tpu quality_type = fast weight = -1 diff --git a/resources/quality/fabtotum/fabtotum_tpu_high.inst.cfg b/resources/quality/fabtotum/fabtotum_tpu_high.inst.cfg index 2dcaa15bd3..1c31967d79 100644 --- a/resources/quality/fabtotum/fabtotum_tpu_high.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_tpu_high.inst.cfg @@ -6,7 +6,7 @@ name = High Quality [metadata] type = quality setting_version = 5 -material = fabtotum_tpu +material = generic_tpu quality_type = high weight = 1 diff --git a/resources/quality/fabtotum/fabtotum_tpu_normal.inst.cfg b/resources/quality/fabtotum/fabtotum_tpu_normal.inst.cfg index e680038e26..0a3821f953 100644 --- a/resources/quality/fabtotum/fabtotum_tpu_normal.inst.cfg +++ b/resources/quality/fabtotum/fabtotum_tpu_normal.inst.cfg @@ -6,7 +6,7 @@ name = Normal Quality [metadata] type = quality setting_version = 5 -material = fabtotum_TPU +material = generic_tpu quality_type = normal weight = 0 diff --git a/resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg index c7d7faf575..188bdd25e5 100644 --- a/resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg +++ b/resources/quality/zyyx/zyyx_agile_pro_flex_fast.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = fast weight = 1 -material = zyyx_pro_flex +material = generic_tpu [values] layer_height = 0.3 diff --git a/resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg index 1e0cc16df0..6654889c10 100644 --- a/resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg +++ b/resources/quality/zyyx/zyyx_agile_pro_flex_fine.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = fine weight = 3 -material = zyyx_pro_flex +material = generic_tpu [values] layer_height = 0.12 diff --git a/resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg index 8f7be7b481..f56355100c 100644 --- a/resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg +++ b/resources/quality/zyyx/zyyx_agile_pro_flex_normal.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = normal weight = 2 -material = zyyx_pro_flex +material = generic_tpu [values] layer_height = 0.2 diff --git a/resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg index 7ac7dc89b5..7ae4be06b0 100644 --- a/resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg +++ b/resources/quality/zyyx/zyyx_agile_pro_pla_fast.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = fast weight = 1 -material = zyyx_pro_pla +material = generic_pla [values] layer_height = 0.3 diff --git a/resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg index 98033908f6..64c7d4afc8 100644 --- a/resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg +++ b/resources/quality/zyyx/zyyx_agile_pro_pla_fine.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = fine weight = 3 -material = zyyx_pro_pla +material = generic_pla [values] layer_height = 0.1 diff --git a/resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg b/resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg index b694bd9172..dbdd600ece 100644 --- a/resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg +++ b/resources/quality/zyyx/zyyx_agile_pro_pla_normal.inst.cfg @@ -8,7 +8,7 @@ setting_version = 5 type = quality quality_type = normal weight = 2 -material = zyyx_pro_pla +material = generic_pla [values] layer_height = 0.2