From fcad2101f4f1a71aadafc059b370db5d7f880733 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Sat, 23 Apr 2022 10:49:23 +0200 Subject: [PATCH 01/12] Fix creating a single copy of a model Fixes #11897 --- resources/qml/Menus/ContextMenu.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/qml/Menus/ContextMenu.qml b/resources/qml/Menus/ContextMenu.qml index cbae92efba..bf6e465fca 100644 --- a/resources/qml/Menus/ContextMenu.qml +++ b/resources/qml/Menus/ContextMenu.qml @@ -134,6 +134,7 @@ Cura.Menu from: 1 to: 99 width: 2 * UM.Theme.getSize("button").width + value: 1 } } } From 16bb9952c731ec77cefa897d5082accd9264b663 Mon Sep 17 00:00:00 2001 From: "j.delarago" Date: Tue, 26 Apr 2022 15:55:08 +0200 Subject: [PATCH 02/12] Fix marketplace external link button being tiny. CURA-9194 --- plugins/Marketplace/resources/qml/PackageCardHeader.qml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/Marketplace/resources/qml/PackageCardHeader.qml b/plugins/Marketplace/resources/qml/PackageCardHeader.qml index 8e25e5c64c..9d401c5253 100644 --- a/plugins/Marketplace/resources/qml/PackageCardHeader.qml +++ b/plugins/Marketplace/resources/qml/PackageCardHeader.qml @@ -119,8 +119,8 @@ Item topPadding: UM.Theme.getSize("narrow_margin").width bottomPadding: UM.Theme.getSize("narrow_margin").width - Layout.preferredWidth: UM.Theme.getSize("card_tiny_icon").width + 2 * padding - Layout.preferredHeight: UM.Theme.getSize("card_tiny_icon").width + 2 * padding + width: UM.Theme.getSize("card_tiny_icon").width + 2 * padding + height: UM.Theme.getSize("card_tiny_icon").width + 2 * padding contentItem: UM.ColorImage { source: UM.Theme.getIcon("LinkExternal") From 8bb1b0bee80ad631294223d9df93dbcd1891bdf0 Mon Sep 17 00:00:00 2001 From: "j.delarago" Date: Thu, 28 Apr 2022 14:29:44 +0200 Subject: [PATCH 03/12] selectedNameFilter is now an object instead of a string. The nameFilter has to be manually pulled out using the index in selectedNameFilter. If only one filter is supplied to nameFilters, the index will always be -1. I assume this is because we are not selecting the file type in the Dialog, it just defaults to the only item. This code should still work if the behaviour is changed in the future. FileDialog now uses currentFolder instead of folder. CURA-9214 --- resources/qml/Preferences/Materials/MaterialsPage.qml | 8 +++++--- resources/qml/Preferences/ProfilesPage.qml | 9 +++++++-- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/resources/qml/Preferences/Materials/MaterialsPage.qml b/resources/qml/Preferences/Materials/MaterialsPage.qml index 1e783c9b4d..b5d6ee464e 100644 --- a/resources/qml/Preferences/Materials/MaterialsPage.qml +++ b/resources/qml/Preferences/Materials/MaterialsPage.qml @@ -246,7 +246,7 @@ UM.ManagementPage break; } messageDialog.open(); - CuraApplication.setDefaultPath("dialog_material_path", folder); + CuraApplication.setDefaultPath("dialog_material_path", currentFolder); } } @@ -259,7 +259,9 @@ UM.ManagementPage currentFolder: CuraApplication.getDefaultPath("dialog_material_path") onAccepted: { - const result = Cura.ContainerManager.exportContainer(base.currentItem.root_material_id, selectedNameFilter, selectedFile); + var nameFilterString = selectedNameFilter.index >= 0 ? nameFilters[selectedNameFilter.index] : nameFilters[0] + + const result = Cura.ContainerManager.exportContainer(base.currentItem.root_material_id, nameFilterString, selectedFile); const messageDialog = Qt.createQmlObject("import Cura 1.5 as Cura; Cura.MessageDialog { onClosed: destroy() }", base); messageDialog.title = catalog.i18nc("@title:window", "Export Material"); @@ -275,7 +277,7 @@ UM.ManagementPage } messageDialog.open(); - CuraApplication.setDefaultPath("dialog_material_path", folder); + CuraApplication.setDefaultPath("dialog_material_path", currentFolder); } } } diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index 9957747c42..bbc1afb825 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -354,8 +354,13 @@ UM.ManagementPage currentFolder: CuraApplication.getDefaultPath("dialog_profile_path") onAccepted: { + + // If nameFilters contains only 1 item, the index of selectedNameFilter will always be -1 + // This fetches the nameFilter at index selectedNameFilter.index if it is positive + var nameFilterString = selectedNameFilter.index >= 0 ? nameFilters[selectedNameFilter.index] : nameFilters[0] + var result = Cura.ContainerManager.exportQualityChangesGroup(base.currentItem.quality_changes_group, - selectedFile, selectedNameFilter); + selectedFile, nameFilterString); if (result && result.status == "error") { @@ -365,7 +370,7 @@ UM.ManagementPage } // else pop-up Message thing from python code - CuraApplication.setDefaultPath("dialog_profile_path", folder); + CuraApplication.setDefaultPath("dialog_profile_path", currentFolder); } } From 6b9cc3f1c7010f756c0d5433a9ae927bc9ef00a9 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 28 Apr 2022 17:03:41 +0200 Subject: [PATCH 04/12] Use the correct function parameters when removing objects in menu It turns out that the order of these functions matters. So when we created a function with only one param, it would actually give it the index. Removing with the index didn't work, so the object would still be there. The Qt objects would already be deleted which caused segfaults CURA-9222 --- plugins/PostProcessingPlugin/PostProcessingPlugin.qml | 2 +- resources/qml/Menus/ContextMenu.qml | 2 +- resources/qml/Menus/ExtensionMenu.qml | 4 ++-- resources/qml/Menus/MaterialMenu.qml | 6 +++--- resources/qml/Menus/NozzleMenu.qml | 2 +- resources/qml/Menus/OpenFilesMenu.qml | 2 +- resources/qml/Menus/PrinterMenu.qml | 4 ++-- resources/qml/Menus/PrinterTypeMenu.qml | 2 +- resources/qml/Menus/SaveProjectMenu.qml | 2 +- resources/qml/Menus/SettingVisibilityPresetsMenu.qml | 2 +- resources/qml/Menus/SettingsMenu.qml | 2 +- 11 files changed, 15 insertions(+), 15 deletions(-) diff --git a/plugins/PostProcessingPlugin/PostProcessingPlugin.qml b/plugins/PostProcessingPlugin/PostProcessingPlugin.qml index af9e67b46a..4faf908881 100644 --- a/plugins/PostProcessingPlugin/PostProcessingPlugin.qml +++ b/plugins/PostProcessingPlugin/PostProcessingPlugin.qml @@ -232,7 +232,7 @@ UM.Dialog } onObjectAdded: function(index, object) { scriptsMenu.insertItem(index, object)} - onObjectRemoved: function(object) { scriptsMenu.removeItem(object) } + onObjectRemoved: function(index, object) { scriptsMenu.removeItem(object) } } } diff --git a/resources/qml/Menus/ContextMenu.qml b/resources/qml/Menus/ContextMenu.qml index cbae92efba..f47fd4012c 100644 --- a/resources/qml/Menus/ContextMenu.qml +++ b/resources/qml/Menus/ContextMenu.qml @@ -46,7 +46,7 @@ Cura.Menu } // Add it to the fifth position (and above) as we want it to be added after the extruder header. onObjectAdded: function(index, object) { base.insertItem(index + 5, object) } - onObjectRemoved: function(object) { base.removeItem(object) } + onObjectRemoved: function(index, object) { base.removeItem(object) } } // Global actions diff --git a/resources/qml/Menus/ExtensionMenu.qml b/resources/qml/Menus/ExtensionMenu.qml index 4ba36bbb40..919e094e5e 100644 --- a/resources/qml/Menus/ExtensionMenu.qml +++ b/resources/qml/Menus/ExtensionMenu.qml @@ -54,11 +54,11 @@ Cura.Menu } onObjectAdded: function(index, object) { sub_menu.insertItem(index, object.item)} - onObjectRemoved: function(object) { sub_menu.removeItem(object.item)} + onObjectRemoved: function(index, object) { sub_menu.removeItem(object.item)} } } onObjectAdded: function(index, object) { extensionMenu.insertMenu(index, object) } - onObjectRemoved: function(object) { extensionMenu.removeMenu(object)} + onObjectRemoved: function(index, object) { extensionMenu.removeMenu(object)} } } \ No newline at end of file diff --git a/resources/qml/Menus/MaterialMenu.qml b/resources/qml/Menus/MaterialMenu.qml index c4ae4113f9..cee28cee6a 100644 --- a/resources/qml/Menus/MaterialMenu.qml +++ b/resources/qml/Menus/MaterialMenu.qml @@ -67,7 +67,7 @@ Cura.Menu onTriggered: Cura.MachineManager.setMaterial(extruderIndex, model.container_node) } onObjectAdded: function(index, object) { materialMenu.insertItem(index + 1, object) } - onObjectRemoved: function(object) { materialMenu.removeItem(index) } + onObjectRemoved: function(index, object) { materialMenu.removeItem(index) } } Cura.MenuSeparator { visible: favoriteMaterialsModel.items.length > 0} @@ -89,7 +89,7 @@ Cura.Menu onTriggered: Cura.MachineManager.setMaterial(extruderIndex, model.container_node) } onObjectAdded: function(index, object) { genericMenu.insertItem(index, object)} - onObjectRemoved: function(object) {genericMenu.removeItem(index) } + onObjectRemoved: function(index, object) {genericMenu.removeItem(index) } } } @@ -103,7 +103,7 @@ Cura.Menu materialTypesModel: model } onObjectAdded: function(index, object) { materialMenu.insertItem(index + 4, object)} - onObjectRemoved: function(object) { materialMenu.removeItem(index) } + onObjectRemoved: function(index, object) { materialMenu.removeItem(index) } } Cura.MenuSeparator {} diff --git a/resources/qml/Menus/NozzleMenu.qml b/resources/qml/Menus/NozzleMenu.qml index 896866e82f..f286410a11 100644 --- a/resources/qml/Menus/NozzleMenu.qml +++ b/resources/qml/Menus/NozzleMenu.qml @@ -50,7 +50,7 @@ Cura.Menu } onObjectAdded: function(index, object) { nozzleMenu.insertItem(index, object) } - onObjectRemoved: function(object) {nozzleMenu.removeItem(object)} + onObjectRemoved: function(index, object) {nozzleMenu.removeItem(object)} } } diff --git a/resources/qml/Menus/OpenFilesMenu.qml b/resources/qml/Menus/OpenFilesMenu.qml index 1cc98d2285..ca838b5cb3 100644 --- a/resources/qml/Menus/OpenFilesMenu.qml +++ b/resources/qml/Menus/OpenFilesMenu.qml @@ -36,6 +36,6 @@ Cura.Menu } onObjectAdded: function(index, object) { openFilesMenu.insertItem(index, object)} - onObjectRemoved: function(object) { openFilesMenu.removeItem(object) } + onObjectRemoved: function(index, object) { openFilesMenu.removeItem(object) } } } diff --git a/resources/qml/Menus/PrinterMenu.qml b/resources/qml/Menus/PrinterMenu.qml index 6a9a36b17d..7cea1de52e 100644 --- a/resources/qml/Menus/PrinterMenu.qml +++ b/resources/qml/Menus/PrinterMenu.qml @@ -39,7 +39,7 @@ Cura.Menu onTriggered: Cura.MachineManager.setActiveMachine(model.id) } onObjectAdded: function(index, object) { menu.insertItem(2, object)} - onObjectRemoved: function(object) { menu.removeItem(object)} + onObjectRemoved: function(index, object) { menu.removeItem(object)} } Cura.MenuSeparator { visible: networKPrinterInstantiator.count > 0 } @@ -67,7 +67,7 @@ Cura.Menu } // A bit hackish, but we have 2 items at the end, put them before that onObjectAdded: function(index, object) { menu.insertItem(menu.count - 2, object) } - onObjectRemoved: function(object) { menu.removeItem(object) } + onObjectRemoved: function(index, object) { menu.removeItem(object) } } Cura.MenuSeparator { visible: localPrinterInstantiator.count > 0 } diff --git a/resources/qml/Menus/PrinterTypeMenu.qml b/resources/qml/Menus/PrinterTypeMenu.qml index 1447113208..8691bf7ecc 100644 --- a/resources/qml/Menus/PrinterTypeMenu.qml +++ b/resources/qml/Menus/PrinterTypeMenu.qml @@ -29,6 +29,6 @@ Cura.Menu } } onObjectAdded: function(index, object) { return menu.insertItem(index, object); } - onObjectRemoved: function(object) { return menu.removeItem(object); } + onObjectRemoved: function(index, object) { return menu.removeItem(object); } } } diff --git a/resources/qml/Menus/SaveProjectMenu.qml b/resources/qml/Menus/SaveProjectMenu.qml index ac40f4b598..2140d5e0ef 100644 --- a/resources/qml/Menus/SaveProjectMenu.qml +++ b/resources/qml/Menus/SaveProjectMenu.qml @@ -44,7 +44,7 @@ Cura.Menu enabled: saveProjectMenu.shouldBeVisible } onObjectAdded: function(index, object) { saveProjectMenu.insertItem(index, object)} - onObjectRemoved: function(object) { saveProjectMenu.removeItem(object)} + onObjectRemoved: function(index, object) { saveProjectMenu.removeItem(object)} } WorkspaceSummaryDialog diff --git a/resources/qml/Menus/SettingVisibilityPresetsMenu.qml b/resources/qml/Menus/SettingVisibilityPresetsMenu.qml index 8518f4e93c..57298030c4 100644 --- a/resources/qml/Menus/SettingVisibilityPresetsMenu.qml +++ b/resources/qml/Menus/SettingVisibilityPresetsMenu.qml @@ -33,7 +33,7 @@ Cura.Menu } onObjectAdded: function(index, object) { menu.insertItem(index, object) } - onObjectRemoved: function(object) { menu.removeItem(object)} + onObjectRemoved: function(index, object) { menu.removeItem(object)} } Cura.MenuSeparator {} diff --git a/resources/qml/Menus/SettingsMenu.qml b/resources/qml/Menus/SettingsMenu.qml index c93ee0bb09..ea5de6c66f 100644 --- a/resources/qml/Menus/SettingsMenu.qml +++ b/resources/qml/Menus/SettingsMenu.qml @@ -68,7 +68,7 @@ Cura.Menu } } onObjectAdded: function(index, object) { base.insertMenu(index, object) } - onObjectRemoved:function(object) { base.removeMenu(object)} + onObjectRemoved: function(index, object) { base.removeMenu(object);} } Cura.MenuSeparator { } From 784cd2c99b69b5ab1c05f9683515f7c4f51b4482 Mon Sep 17 00:00:00 2001 From: Casper Lamboo Date: Fri, 29 Apr 2022 10:30:11 +0200 Subject: [PATCH 05/12] Apply suggestions from code review --- resources/qml/Preferences/Materials/MaterialsPage.qml | 2 +- resources/qml/Preferences/ProfilesPage.qml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/qml/Preferences/Materials/MaterialsPage.qml b/resources/qml/Preferences/Materials/MaterialsPage.qml index b5d6ee464e..22f8091314 100644 --- a/resources/qml/Preferences/Materials/MaterialsPage.qml +++ b/resources/qml/Preferences/Materials/MaterialsPage.qml @@ -259,7 +259,7 @@ UM.ManagementPage currentFolder: CuraApplication.getDefaultPath("dialog_material_path") onAccepted: { - var nameFilterString = selectedNameFilter.index >= 0 ? nameFilters[selectedNameFilter.index] : nameFilters[0] + const nameFilterString = selectedNameFilter.index >= 0 ? nameFilters[selectedNameFilter.index] : nameFilters[0]; const result = Cura.ContainerManager.exportContainer(base.currentItem.root_material_id, nameFilterString, selectedFile); diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index bbc1afb825..2a7c50fe59 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -357,7 +357,7 @@ UM.ManagementPage // If nameFilters contains only 1 item, the index of selectedNameFilter will always be -1 // This fetches the nameFilter at index selectedNameFilter.index if it is positive - var nameFilterString = selectedNameFilter.index >= 0 ? nameFilters[selectedNameFilter.index] : nameFilters[0] + const nameFilterString = selectedNameFilter.index >= 0 ? nameFilters[selectedNameFilter.index] : nameFilters[0]; var result = Cura.ContainerManager.exportQualityChangesGroup(base.currentItem.quality_changes_group, selectedFile, nameFilterString); From 1accb30408c8c202fee9a416d12fba3dfc06fe4e Mon Sep 17 00:00:00 2001 From: "j.delarago" Date: Mon, 2 May 2022 11:35:32 +0200 Subject: [PATCH 06/12] The PrintSetupTooltip was catching events while invisible on the top left of the screen. This was causing the menubar not to be clickable. I've disabled PrintSetupTooltip when not visible so that it does not catch events. CURA-9232 --- resources/qml/PrintSetupTooltip.qml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resources/qml/PrintSetupTooltip.qml b/resources/qml/PrintSetupTooltip.qml index 20b9ac8981..8551c5c221 100644 --- a/resources/qml/PrintSetupTooltip.qml +++ b/resources/qml/PrintSetupTooltip.qml @@ -17,6 +17,8 @@ UM.PointingRectangle arrowSize: UM.Theme.getSize("default_arrow").width opacity: 0 + // This should be disabled when invisible, otherwise it will catch mouse events. + enabled: false Behavior on opacity { @@ -52,11 +54,13 @@ UM.PointingRectangle } base.opacity = 1; target = Qt.point(position.x + 1, position.y + Math.round(UM.Theme.getSize("tooltip_arrow_margins").height / 2)) + enabled = true } function hide() { base.opacity = 0; + enabled = false } ScrollView From 28f609cbe27e5bae063e4a06a6f7fe77cfe6e7c2 Mon Sep 17 00:00:00 2001 From: fieldOfView Date: Mon, 2 May 2022 12:17:56 +0200 Subject: [PATCH 07/12] Remove "phantom menu" when there is only a single FileProvider --- resources/qml/Menus/FileMenu.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/qml/Menus/FileMenu.qml b/resources/qml/Menus/FileMenu.qml index 338ada60fc..0884053ef3 100644 --- a/resources/qml/Menus/FileMenu.qml +++ b/resources/qml/Menus/FileMenu.qml @@ -33,6 +33,7 @@ Cura.Menu id: openFilesMenu shouldBeVisible: base.fileProviderModel.count > 1 + enabled: shouldBeVisible } RecentFilesMenu { } From 6f7fbbecf7312348b8d87f809211ed0e28b769a2 Mon Sep 17 00:00:00 2001 From: "j.delarago" Date: Mon, 2 May 2022 13:17:36 +0200 Subject: [PATCH 08/12] Simplify enabled behaviour CURA-9232 --- resources/qml/PrintSetupTooltip.qml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/resources/qml/PrintSetupTooltip.qml b/resources/qml/PrintSetupTooltip.qml index 8551c5c221..e4d322f9d4 100644 --- a/resources/qml/PrintSetupTooltip.qml +++ b/resources/qml/PrintSetupTooltip.qml @@ -18,7 +18,7 @@ UM.PointingRectangle opacity: 0 // This should be disabled when invisible, otherwise it will catch mouse events. - enabled: false + enabled: opacity > 0 Behavior on opacity { @@ -54,13 +54,11 @@ UM.PointingRectangle } base.opacity = 1; target = Qt.point(position.x + 1, position.y + Math.round(UM.Theme.getSize("tooltip_arrow_margins").height / 2)) - enabled = true } function hide() { base.opacity = 0; - enabled = false } ScrollView From f1761a17d0851e662e6fc5fe59b3786a98e7675a Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Mon, 2 May 2022 14:59:28 +0200 Subject: [PATCH 09/12] Fix size of setting extruder swatch --- resources/qml/Settings/SettingExtruder.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/qml/Settings/SettingExtruder.qml b/resources/qml/Settings/SettingExtruder.qml index 3072161c59..697acdec0b 100644 --- a/resources/qml/Settings/SettingExtruder.qml +++ b/resources/qml/Settings/SettingExtruder.qml @@ -154,7 +154,7 @@ SettingItem background: Rectangle { id: swatch - height: Math.round(parent.height / 2) + height: UM.Theme.getSize("standard_arrow").width width: height radius: Math.round(width / 2) anchors.right: parent.right From 4bb72cdd1a33f0bc52b0515654e9775f953da10c Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Mon, 2 May 2022 16:51:07 +0200 Subject: [PATCH 10/12] Set `stepSize` property on `SpinBox` that reflects its `decimals` CURA-9201 --- resources/qml/Preferences/Materials/MaterialsView.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/qml/Preferences/Materials/MaterialsView.qml b/resources/qml/Preferences/Materials/MaterialsView.qml index b033f755cf..77761f0c9e 100644 --- a/resources/qml/Preferences/Materials/MaterialsView.qml +++ b/resources/qml/Preferences/Materials/MaterialsView.qml @@ -601,6 +601,7 @@ Item suffix: " " + model.unit to: 99999 decimals: model.unit == "mm" ? 2 : 0 + stepSize: Math.pow(10, -decimals) onEditingFinished: materialPropertyProvider.setPropertyValue("value", value) } From cb4f1a8ab588db026c8b5eb11808ae90f9897485 Mon Sep 17 00:00:00 2001 From: "c.lamboo" Date: Mon, 2 May 2022 17:07:52 +0200 Subject: [PATCH 11/12] Replace `SpinBox` with `NumericTextFieldWithUnit` CURA-9146 --- resources/qml/Preferences/Materials/MaterialsView.qml | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/resources/qml/Preferences/Materials/MaterialsView.qml b/resources/qml/Preferences/Materials/MaterialsView.qml index 77761f0c9e..a172949812 100644 --- a/resources/qml/Preferences/Materials/MaterialsView.qml +++ b/resources/qml/Preferences/Materials/MaterialsView.qml @@ -574,11 +574,11 @@ Item elide: Text.ElideRight verticalAlignment: Qt.AlignVCenter } - Cura.SpinBox + Cura.NumericTextFieldWithUnit { id: spinBox anchors.left: label.right - value: + valueText: { // In case the setting is not in the material... if (!isNaN(parseFloat(materialPropertyProvider.properties.value))) @@ -598,12 +598,11 @@ Item return 0; } width: settingsPage.columnWidth - suffix: " " + model.unit - to: 99999 + maximum: 99999 + unitText: model.unit decimals: model.unit == "mm" ? 2 : 0 - stepSize: Math.pow(10, -decimals) - onEditingFinished: materialPropertyProvider.setPropertyValue("value", value) + editingFinishedFunction: materialPropertyProvider.setPropertyValue("value", value) } UM.ContainerPropertyProvider From f13ec6526b45683bdc445bf338c85dbbce01b90b Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Tue, 3 May 2022 13:45:56 +0200 Subject: [PATCH 12/12] Disable the running property of the action button by default This would cause scene updates to be drawn all the time, causing constant cpu drain. --- resources/qml/ActionButton.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/resources/qml/ActionButton.qml b/resources/qml/ActionButton.qml index 187da07cb6..21cdda0627 100644 --- a/resources/qml/ActionButton.qml +++ b/resources/qml/ActionButton.qml @@ -155,6 +155,7 @@ Button height: parent.height visible: false + running: visible RotationAnimator {