From dab67d9b38fdef00cacb36a12f8769b180a89f38 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 9 Mar 2022 13:26:16 +0100 Subject: [PATCH 01/13] Ensure that invisible menu seperators have a height of 0 CURA-9012 --- resources/qml/Widgets/MenuSeparator.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/qml/Widgets/MenuSeparator.qml b/resources/qml/Widgets/MenuSeparator.qml index ad79fccd6d..b39f958c69 100644 --- a/resources/qml/Widgets/MenuSeparator.qml +++ b/resources/qml/Widgets/MenuSeparator.qml @@ -18,4 +18,5 @@ MenuSeparator implicitHeight: UM.Theme.getSize("default_lining").height color: UM.Theme.getColor("setting_control_border") } + height: visible ? implicitHeight: 0 } \ No newline at end of file From d752f34b70ea519675be76d08fed04806587c36b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 9 Mar 2022 13:30:22 +0100 Subject: [PATCH 02/13] Shorten english string for show troubleshooting Doesn't solve all of the issues here, but at least fixes it for english. I feel that the word guide also doesn't actually add any meaningfull info anyway CURA-9012 --- resources/qml/Actions.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Actions.qml b/resources/qml/Actions.qml index ec25eb8abb..90d1d549e2 100644 --- a/resources/qml/Actions.qml +++ b/resources/qml/Actions.qml @@ -79,7 +79,7 @@ Item { id: showTroubleShootingAction onTriggered: Qt.openUrlExternally("https://ultimaker.com/en/troubleshooting?utm_source=cura&utm_medium=software&utm_campaign=dropdown-troubleshooting") - text: catalog.i18nc("@action:inmenu", "Show Online Troubleshooting Guide") + text: catalog.i18nc("@action:inmenu", "Show Online Troubleshooting") } Action From 91b6ceb9512044f6ea4d3a66b03fe2cdf1bd0dec Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 9 Mar 2022 14:01:54 +0100 Subject: [PATCH 03/13] Fix spacing for menu CURA-9012 --- resources/qml/MainWindow/ApplicationMenu.qml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/resources/qml/MainWindow/ApplicationMenu.qml b/resources/qml/MainWindow/ApplicationMenu.qml index bf3781331a..3598447d88 100644 --- a/resources/qml/MainWindow/ApplicationMenu.qml +++ b/resources/qml/MainWindow/ApplicationMenu.qml @@ -34,14 +34,16 @@ Item { text: menuBarItem.text.replace(new RegExp("&([A-Za-z])"), function (match, character) { - return `${character}`; + return `${character}` }) horizontalAlignment: Text.AlignLeft verticalAlignment: Text.AlignVCenter } - + leftPadding: UM.Theme.getSize("default_margin").width + rightPadding: UM.Theme.getSize("default_margin").width background: Rectangle { + color: menuBarItem.highlighted ? UM.Theme.getColor("background_2") : "transparent" } } From 6aeac2b2a4bb24042e5d8a32a462127992f849fc Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 9 Mar 2022 16:12:27 +0100 Subject: [PATCH 04/13] Shorten copy of update button Added the full text in the tooltip CURA-9023 --- resources/qml/Preferences/ProfilesPage.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index e5848a86c7..d1a05cba4c 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -325,9 +325,10 @@ UM.ManagementPage Cura.SecondaryButton { - text: catalog.i18nc("@action:button", "Update profile with current settings/overrides") + text: catalog.i18nc("@action:button", "Update profile.") enabled: Cura.MachineManager.hasUserSettings && objectList.currentIndex && !objectList.currentIndex.is_read_only onClicked: Cura.ContainerManager.updateQualityChanges() + tooltip: catalog.i18nc("@action:tooltip", "Update profile with current settings/overrides") } Cura.SecondaryButton From cbf995cb851c76aad2171350074b944787e799b2 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 9 Mar 2022 16:24:49 +0100 Subject: [PATCH 05/13] Add tooltip to create new button CURA-9023 --- resources/qml/Preferences/ProfilesPage.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index d1a05cba4c..b61aa3022c 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -76,7 +76,7 @@ UM.ManagementPage enabled: !Cura.MachineManager.stacksHaveErrors visible: base.canCreateProfile - + tooltip: catalog.i18nc("@action:tooltip", "Create new profile from current settings/overrides") onClicked: { createQualityDialog.object = Cura.ContainerManager.makeUniqueName(base.currentItem.name) From a285e39799ba90af0772263f29c33455bfb6913d Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 9 Mar 2022 16:26:01 +0100 Subject: [PATCH 06/13] Set defaultname for create new profile CURA-9023 --- resources/qml/Preferences/ProfilesPage.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index b61aa3022c..8982931b91 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -79,7 +79,7 @@ UM.ManagementPage tooltip: catalog.i18nc("@action:tooltip", "Create new profile from current settings/overrides") onClicked: { - createQualityDialog.object = Cura.ContainerManager.makeUniqueName(base.currentItem.name) + createQualityDialog.object = Cura.ContainerManager.makeUniqueName("") createQualityDialog.open() createQualityDialog.selectText() } From 84bb4790f808f726409b5dd1d2417450f89b659f Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 9 Mar 2022 16:28:26 +0100 Subject: [PATCH 07/13] Fix spacing between update & discard actions CURA-9023 --- resources/qml/Preferences/ProfilesPage.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index 8982931b91..a4069d4d82 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -316,13 +316,14 @@ UM.ManagementPage elide: Text.ElideRight } + Flow { id: currentSettingsActions width: parent.width visible: base.hasCurrentItem && base.currentItem.name == Cura.MachineManager.activeQualityOrQualityChangesName && base.currentItem.intent_category == Cura.MachineManager.activeIntentCategory - + spacing: UM.Theme.getSize("default_margin").width Cura.SecondaryButton { text: catalog.i18nc("@action:button", "Update profile.") From ec1f8f71250793d338489dc0fe7ef5158f34fcac Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Wed, 9 Mar 2022 16:30:32 +0100 Subject: [PATCH 08/13] Add extra info label CURA-9023 --- resources/qml/Preferences/ProfilesPage.qml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index a4069d4d82..2a6b317314 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -315,7 +315,13 @@ UM.ManagementPage font: UM.Theme.getFont("large_bold") elide: Text.ElideRight } - + UM.Label + { + anchors.left: parent.left + anchors.right: parent.right + text: catalog.i18nc("@action:label", "Some settings from current profile were overwritten.") + visible: currentSettingsActions.visible + } Flow { From 84a0c732c1fa08f5dafcf4c27044da2d10b748f5 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 10 Mar 2022 11:34:11 +0100 Subject: [PATCH 09/13] Fix warnings caused by combobox Parent wasn't always set, which caused ocasional warnings --- resources/qml/Widgets/ComboBox.qml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/resources/qml/Widgets/ComboBox.qml b/resources/qml/Widgets/ComboBox.qml index 5d31348597..698eb4ec10 100644 --- a/resources/qml/Widgets/ComboBox.qml +++ b/resources/qml/Widgets/ComboBox.qml @@ -57,9 +57,7 @@ ComboBox contentItem: UM.Label { id: contentLabel - anchors.left: parent.left - anchors.leftMargin: UM.Theme.getSize("setting_unit_margin").width - anchors.verticalCenter: parent.verticalCenter + leftPadding: UM.Theme.getSize("setting_unit_margin").width + UM.Theme.getSize("default_margin").width anchors.right: downArrow.left wrapMode: Text.NoWrap text: From a5098f469b47244b0f59be48df4f20efb7e368b6 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 10 Mar 2022 11:45:39 +0100 Subject: [PATCH 10/13] Lower the max flick velocity of settingview On my system it was 2500, which made it almost impossible to work with the trackpad CURA-9025 --- resources/qml/Settings/SettingView.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Settings/SettingView.qml b/resources/qml/Settings/SettingView.qml index 2ab98081e7..a2a5e0c36b 100644 --- a/resources/qml/Settings/SettingView.qml +++ b/resources/qml/Settings/SettingView.qml @@ -180,7 +180,7 @@ Item ListView { id: contents - + maximumFlickVelocity: 1000 anchors { top: filterContainer.bottom From dbcf57134015648a4ff9cae9e5b49189bfc831be Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 10 Mar 2022 11:54:58 +0100 Subject: [PATCH 11/13] Apply right theme colors for secondary button CURA-9014 --- resources/qml/SecondaryButton.qml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/resources/qml/SecondaryButton.qml b/resources/qml/SecondaryButton.qml index d8027af3fc..068d65c7b8 100644 --- a/resources/qml/SecondaryButton.qml +++ b/resources/qml/SecondaryButton.qml @@ -12,7 +12,8 @@ Cura.ActionButton color: UM.Theme.getColor("secondary_button") textColor: UM.Theme.getColor("secondary_button_text") outlineColor: UM.Theme.getColor("border_accent_1") - disabledColor: UM.Theme.getColor("action_button_disabled") + disabledColor: UM.Theme.getColor("secondary_button") textDisabledColor: UM.Theme.getColor("action_button_disabled_text") hoverColor: UM.Theme.getColor("secondary_button_hover") + outlineDisabledColor: UM.Theme.getColor("action_button_disabled_text") } \ No newline at end of file From d778b539c29c5890e04601d770c7b664b1a7af0e Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 11 Mar 2022 10:13:32 +0100 Subject: [PATCH 12/13] Parse up to 16 extruders CuraEngine supports up to 16, so we should allow at least that. --- plugins/GCodeReader/FlavorParser.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/plugins/GCodeReader/FlavorParser.py b/plugins/GCodeReader/FlavorParser.py index ac24ce3184..555d9d594e 100644 --- a/plugins/GCodeReader/FlavorParser.py +++ b/plugins/GCodeReader/FlavorParser.py @@ -1,4 +1,4 @@ -# Copyright (c) 2021 Ultimaker B.V. +# Copyright (c) 2022 Ultimaker B.V. # Cura is released under the terms of the LGPLv3 or higher. import math @@ -31,6 +31,8 @@ Position = NamedTuple("Position", [("x", float), ("y", float), ("z", float), ("f class FlavorParser: """This parser is intended to interpret the common firmware codes among all the different flavors""" + MAX_EXTRUDER_COUNT = 16 + def __init__(self) -> None: CuraApplication.getInstance().hideMessageSignal.connect(self._onHideMessage) self._cancelled = False @@ -53,7 +55,7 @@ class FlavorParser: def _clearValues(self) -> None: self._extruder_number = 0 - self._extrusion_length_offset = [0] * 8 # type: List[float] + self._extrusion_length_offset = [0] * self.MAX_EXTRUDER_COUNT # type: List[float] self._layer_type = LayerPolygon.Inset0Type self._layer_number = 0 self._previous_z = 0 # type: float @@ -355,7 +357,7 @@ class FlavorParser: Logger.log("d", "Parsing g-code...") - current_position = Position(0, 0, 0, 0, [0] * 8) + current_position = Position(0, 0, 0, 0, [0] * self.MAX_EXTRUDER_COUNT) current_path = [] #type: List[List[float]] min_layer_number = 0 negative_layers = 0 From 25e914b1cbc3698844582913dd77d083f9739ca0 Mon Sep 17 00:00:00 2001 From: Ghostkeeper Date: Fri, 11 Mar 2022 10:25:31 +0100 Subject: [PATCH 13/13] Fix checkbox for automatic plug-in update checking The checkbox was still there in the preferences page, but it didn't work at all, for two reasons: - The preference entry didn't exist. This was causing warnings in the log (which is why I saw it). - It wasn't checking the preference before making that API call. Could make a bunch of people pretty angry. --- plugins/Marketplace/Marketplace.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/Marketplace/Marketplace.py b/plugins/Marketplace/Marketplace.py index 2d98947572..b9632e5fb0 100644 --- a/plugins/Marketplace/Marketplace.py +++ b/plugins/Marketplace/Marketplace.py @@ -31,8 +31,11 @@ class Marketplace(Extension, QObject): # Not entirely the cleanest code, since the localPackage list also checks the server if there are updates # Since that in turn will trigger notifications to be shown, we do need to construct it here and make sure # that it checks for updates... + preferences = CuraApplication.getInstance().getPreferences() + preferences.addPreference("info/automatic_plugin_update_check", True) self._local_package_list = LocalPackageList(self) - self._local_package_list.checkForUpdates(self._package_manager.local_packages) + if preferences.getValue("info/automatic_plugin_update_check"): + self._local_package_list.checkForUpdates(self._package_manager.local_packages) self._package_manager.installedPackagesChanged.connect(self.checkIfRestartNeeded)