From 6b9e66cfb77788915c8589d1bc44eebf56bafdcc Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 3 Mar 2022 14:06:27 +0100 Subject: [PATCH 1/6] Add title to profiles page CURA-8982 --- 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 dcf02bc738..ec886fbcf9 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -13,7 +13,7 @@ import Cura 1.6 as Cura UM.ManagementPage { id: base - + title: catalog.i18nc("@title:tab", "Profiles") property var extrudersModel: CuraApplication.getExtrudersModel() property var qualityManagementModel: CuraApplication.getQualityManagementModel() From 165172f919677bd3f2502a6d7b516b764e03b480 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 3 Mar 2022 14:08:47 +0100 Subject: [PATCH 2/6] Re-add Duplicate button in profiles page CURA-8982 --- resources/qml/Preferences/ProfilesPage.qml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index ec886fbcf9..39885dbfd5 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -179,6 +179,16 @@ UM.ManagementPage } } Cura.MenuItem + { + text: catalog.i18nc("@action:button", "Duplicate") + enabled: base.hasCurrentItem + onTriggered: + { + forceActiveFocus() + duplicateQualityDialog.open() + } + } + Cura.MenuItem { text: catalog.i18nc("@action:button", "Remove") enabled: base.hasCurrentItem && !base.currentItem.is_read_only && !base.isCurrentItemActivated From 802a80b70239d4181bd2fe20337b31e1c2982b13 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 3 Mar 2022 14:12:55 +0100 Subject: [PATCH 3/6] Fix visibility of create new button in profiles page CURA-8982 --- resources/qml/Preferences/ProfilesPage.qml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index 39885dbfd5..8ca545c633 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -50,10 +50,7 @@ UM.ManagementPage } } - property var canCreateProfile: - { - return isCurrentItemActivated && Cura.MachineManager.hasUserSettings; - } + property var canCreateProfile: Cura.MachineManager.hasUserSettings model: qualityManagementModel buttons: [ From 950fc6f3da41a7a6aee5876df8f5afbed20ec994 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 3 Mar 2022 14:18:58 +0100 Subject: [PATCH 4/6] Hide hamburger menu if no item is selected CURA-8982 --- 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 8ca545c633..d0578a5872 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -21,8 +21,9 @@ UM.ManagementPage onHamburgeButtonClicked: menu.popup(content_item, content_item.width - menu.width, hamburger_button.height) + property bool hasCurrentItem: base.currentItem != null + hamburgerButtonVisible: hasCurrentItem - property var hasCurrentItem: base.currentItem != null sectionRole: "section_name" property var currentItem: From e569346750b5cf409501065186dc42f8393761e7 Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 3 Mar 2022 14:19:21 +0100 Subject: [PATCH 5/6] Move scrollview caption over two lines CURA-8982 --- 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 d0578a5872..f8c0b75851 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -17,7 +17,7 @@ UM.ManagementPage property var extrudersModel: CuraApplication.getExtrudersModel() property var qualityManagementModel: CuraApplication.getQualityManagementModel() - scrollviewCaption: catalog.i18nc("@label", "Profiles compatible with active printer:") + "" + Cura.MachineManager.activeMachine.name + "" + scrollviewCaption: catalog.i18nc("@label", "Profiles compatible with active printer:") + "
" + Cura.MachineManager.activeMachine.name + "" onHamburgeButtonClicked: menu.popup(content_item, content_item.width - menu.width, hamburger_button.height) From efea7c9bedc02e17003cc3c07202ae501c4e5f5e Mon Sep 17 00:00:00 2001 From: Jaime van Kessel Date: Thu, 3 Mar 2022 14:23:05 +0100 Subject: [PATCH 6/6] Clean up ordering of properties in profiles page Boyscouting; It was a bit of a mess CURA-8982 --- resources/qml/Preferences/ProfilesPage.qml | 68 ++++++++++------------ 1 file changed, 31 insertions(+), 37 deletions(-) diff --git a/resources/qml/Preferences/ProfilesPage.qml b/resources/qml/Preferences/ProfilesPage.qml index f8c0b75851..e5848a86c7 100644 --- a/resources/qml/Preferences/ProfilesPage.qml +++ b/resources/qml/Preferences/ProfilesPage.qml @@ -13,29 +13,17 @@ import Cura 1.6 as Cura UM.ManagementPage { id: base - title: catalog.i18nc("@title:tab", "Profiles") + property var extrudersModel: CuraApplication.getExtrudersModel() property var qualityManagementModel: CuraApplication.getQualityManagementModel() - - scrollviewCaption: catalog.i18nc("@label", "Profiles compatible with active printer:") + "
" + Cura.MachineManager.activeMachine.name + "" - - onHamburgeButtonClicked: menu.popup(content_item, content_item.width - menu.width, hamburger_button.height) - property bool hasCurrentItem: base.currentItem != null - hamburgerButtonVisible: hasCurrentItem - sectionRole: "section_name" + property var currentItem: objectList.currentIndex == -1 ? null : base.qualityManagementModel.getItem(objectList.currentIndex) - property var currentItem: - { - var current_index = objectList.currentIndex; - return (current_index == -1) ? null : base.qualityManagementModel.getItem(current_index); - } + property string currentItemName: hasCurrentItem ? base.currentItem.name : "" + property string currentItemDisplayName: hasCurrentItem ? base.qualityManagementModel.getQualityItemDisplayName(base.currentItem) : "" - property var currentItemName: hasCurrentItem ? base.currentItem.name : "" - property var currentItemDisplayName: hasCurrentItem ? base.qualityManagementModel.getQualityItemDisplayName(base.currentItem) : "" - - property var isCurrentItemActivated: + property bool isCurrentItemActivated: { if (!base.currentItem) { @@ -51,7 +39,28 @@ UM.ManagementPage } } - property var canCreateProfile: Cura.MachineManager.hasUserSettings + property bool canCreateProfile: Cura.MachineManager.hasUserSettings + + signal createProfile() // Click create profile from ... in Profile context menu + + property string newQualityNameToSelect: "" + property bool toActivateNewQuality: false + + onHamburgeButtonClicked: menu.popup(content_item, content_item.width - menu.width, hamburger_button.height) + + onCreateProfile: + { + createQualityDialog.object = Cura.ContainerManager.makeUniqueName(Cura.MachineManager.activeQualityOrQualityChangesName); + createQualityDialog.open(); + createQualityDialog.selectText(); + } + + title: catalog.i18nc("@title:tab", "Profiles") + scrollviewCaption: catalog.i18nc("@label", "Profiles compatible with active printer:") + "
" + Cura.MachineManager.activeMachine.name + "" + + hamburgerButtonVisible: hasCurrentItem + + sectionRole: "section_name" model: qualityManagementModel buttons: [ @@ -77,18 +86,6 @@ UM.ManagementPage } ] - // Click create profile from ... in Profile context menu - signal createProfile() - onCreateProfile: - { - createQualityDialog.object = Cura.ContainerManager.makeUniqueName(Cura.MachineManager.activeQualityOrQualityChangesName); - createQualityDialog.open(); - createQualityDialog.selectText(); - } - - property string newQualityNameToSelect: "" - property bool toActivateNewQuality: false - Item { id: content_item @@ -246,10 +243,7 @@ UM.ManagementPage id: duplicateQualityDialog title: catalog.i18nc("@title:window", "Duplicate Profile") object: "" - onAccepted: - { - base.qualityManagementModel.duplicateQualityChanges(newName, base.currentItem); - } + onAccepted: base.qualityManagementModel.duplicateQualityChanges(newName, base.currentItem) } // Confirmation dialog for removing a profile @@ -338,9 +332,9 @@ UM.ManagementPage Cura.SecondaryButton { - text: catalog.i18nc("@action:button", "Discard current changes"); + text: catalog.i18nc("@action:button", "Discard current changes") enabled: Cura.MachineManager.hasUserSettings - onClicked: Cura.ContainerManager.clearUserContainers(); + onClicked: Cura.ContainerManager.clearUserContainers() } } @@ -362,7 +356,7 @@ UM.ManagementPage UM.TabRow { id: profileExtruderTabs - UM.TabRowButton //One extra tab for the global settings. + UM.TabRowButton // One extra tab for the global settings. { text: catalog.i18nc("@title:tab", "Global Settings") }