diff options
author | Jelle Spijker <spijker.jelle@gmail.com> | 2021-12-08 20:47:56 +0300 |
---|---|---|
committer | Jelle Spijker <spijker.jelle@gmail.com> | 2021-12-08 20:47:56 +0300 |
commit | 9f41115bc144f31636b90a2ea5d5d1ce9061baa2 (patch) | |
tree | 49c973e38540c15b6765d572c9f39e5b5a2d391e /plugins/Marketplace/resources | |
parent | 4c516e8cec2e2f24f4da10491fee2e819ef3e3cc (diff) |
Rework of the ManageButton
Now uses the internal signal
Contributes to: CURA-8587
Diffstat (limited to 'plugins/Marketplace/resources')
-rw-r--r-- | plugins/Marketplace/resources/qml/ManageButton.qml | 19 | ||||
-rw-r--r-- | plugins/Marketplace/resources/qml/PackageCard.qml | 108 | ||||
-rw-r--r-- | plugins/Marketplace/resources/qml/PackagePage.qml | 108 |
3 files changed, 87 insertions, 148 deletions
diff --git a/plugins/Marketplace/resources/qml/ManageButton.qml b/plugins/Marketplace/resources/qml/ManageButton.qml index 7843805e26..2e2ef294d1 100644 --- a/plugins/Marketplace/resources/qml/ManageButton.qml +++ b/plugins/Marketplace/resources/qml/ManageButton.qml @@ -11,7 +11,7 @@ import Cura 1.6 as Cura Item { id: manageButton - property string button_style + property bool button_style property string text property bool busy property bool confirmed @@ -117,19 +117,10 @@ Item sourceComponent: { - switch (manageButton.button_style) - { - case "primary": - return manageButton.primaryButton; - case "secondary": - return manageButton.secondaryButton; - case "busy": - return manageButton.busyButton; - case "confirmed": - return manageButton.confirmButton; - default: - return; - } + if (busy) { return manageButton.busyButton; } + else if (confirmed) { return manageButton.confirmButton; } + else if (manageButton.button_style) { return manageButton.primaryButton; } + else { return manageButton.secondaryButton; } } } } diff --git a/plugins/Marketplace/resources/qml/PackageCard.qml b/plugins/Marketplace/resources/qml/PackageCard.qml index 5c986c2e6e..897f5abca7 100644 --- a/plugins/Marketplace/resources/qml/PackageCard.qml +++ b/plugins/Marketplace/resources/qml/PackageCard.qml @@ -257,34 +257,16 @@ Rectangle ManageButton { id: enableManageButton - visible: !(installManageButton.confirmed || updateManageButton.confirmed) || enableManageButton.confirmed + visible: root.manageableInListView && !(installManageButton.confirmed || updateManageButton.confirmed) + enabled: !(installManageButton.busy || updateManageButton.busy) + + busy: false + confirmed: false + button_style: packageData.stateManageEnableButton Layout.alignment: Qt.AlignTop - busy: packageData.enableManageButton == "busy" - confirmed: packageData.enableManageButton == "confirmed" - text: { - switch (packageData.stateManageEnableButton) { - case "primary": - return catalog.i18nc("@button", "Enable"); - case "secondary": - return catalog.i18nc("@button", "Disable"); - case "busy": - if (packageData.installationStatus) { - return catalog.i18nc("@button", "Enabling..."); - } else { - return catalog.i18nc("@button", "Disabling..."); - } - case "confirmed": - if (packageData.installationStatus) { - return catalog.i18nc("@button", "Enabled"); - } else { - return catalog.i18nc("@button", "Disabled"); - } - default: - return ""; - } - } - enabled: !installManageButton.busy && !updateManageButton.busy + + text: packageData.stateManageEnableButton ? catalog.i18nc("@button", "Enable") : catalog.i18nc("@button", "Disable") onClicked: { @@ -302,34 +284,31 @@ Rectangle ManageButton { id: installManageButton - visible: (root.manageableInListView || installManageButton.confirmed) && !(enableManageButton.confirmed || updateManageButton.confirmed) + visible: (root.manageableInListView || confirmed) && ((packageData.isBundled && packageData.canDowngrade) || !packageData.isBundled || !updateManageButton.confirmed) + + enabled: !packageData.isUpdating + + busy: packageData.isInstalling + confirmed: packageData.isInstalled || packageData.isUninstalled + button_style: packageData.stateManageInstallButton - busy: packageData.stateManageInstallButton == "busy" - confirmed: packageData.stateManageInstallButton == "confirmed" Layout.alignment: Qt.AlignTop - text: { - switch (packageData.stateManageInstallButton) { - case "primary": - return catalog.i18nc("@button", "Install"); - case "secondary": - return catalog.i18nc("@button", "Uninstall"); - case "busy": - if (packageData.installationStatus) { - return catalog.i18nc("@button", "Installing..."); - } else { - return catalog.i18nc("@button", "Uninstalling..."); - } - case "confirmed": - if (packageData.installationStatus) { - return catalog.i18nc("@button", "Installed"); - } else { - return catalog.i18nc("@button", "Uninstalled"); - } - default: - return ""; + + text: + { + if (packageData.stateManageInstallButton) + { + if (packageData.isInstalling) { return catalog.i18nc("@button", "Installing..."); } + else if (packageData.isInstalled) { return catalog.i18nc("@button", "Installed"); } + else { return catalog.i18nc("@button", "Install"); } + } + else + { + if (packageData.isInstalling) { return catalog.i18nc("@button", "Uninstalling..."); } + else if (packageData.isUninstalled) { return catalog.i18nc("@button", "Uninstalled"); } + else { return catalog.i18nc("@button", "Uninstall"); } } } - enabled: !enableManageButton.busy && !updateManageButton.busy onClicked: { @@ -347,25 +326,20 @@ Rectangle ManageButton { id: updateManageButton - visible: (root.manageableInListView) && (!installManageButton.confirmed || updateManageButton.confirmed) + visible: (root.manageableInListView && confirmed) && !installManageButton.confirmed + enabled: !installManageButton.busy - button_style: packageData.stateManageUpdateButton - busy: packageData.stateManageUpdateButton == "busy" - confirmed: packageData.stateManageUpdateButton == "confirmed" + busy: packageData.isUpdating + confirmed: packageData.isUpdated + + button_style: true Layout.alignment: Qt.AlignTop - enabled: !installManageButton.busy && !enableManageButton.busy - - text: { - switch (packageData.stateManageInstallButton) { - case "primary": - return catalog.i18nc("@button", "Update"); - case "busy": - return catalog.i18nc("@button", "Updating..."); - case "confirmed": - return catalog.i18nc("@button", "Updated"); - default: - return ""; - } + + text: + { + if (packageData.isUpdating) { return catalog.i18nc("@button", "Updating..."); } + else if (packageData.isUpdated) { return catalog.i18nc("@button", "Updated"); } + else { return catalog.i18nc("@button", "Update"); } } onClicked: packageData.updatePackageTriggered(packageData.packageId) diff --git a/plugins/Marketplace/resources/qml/PackagePage.qml b/plugins/Marketplace/resources/qml/PackagePage.qml index fca25c4022..12d24fb812 100644 --- a/plugins/Marketplace/resources/qml/PackagePage.qml +++ b/plugins/Marketplace/resources/qml/PackagePage.qml @@ -207,34 +207,16 @@ Rectangle ManageButton { id: enableManageButton - visible: !(installManageButton.confirmed || updateManageButton.confirmed) || enableManageButton.confirmed + visible: !(installManageButton.confirmed || updateManageButton.confirmed) + + enabled: !(installManageButton.busy || updateManageButton.busy) + busy: false + confirmed: false + button_style: packageData.stateManageEnableButton Layout.alignment: Qt.AlignTop - busy: packageData.enableManageButton == "busy" - confirmed: packageData.enableManageButton == "confirmed" - text: { - switch (packageData.stateManageEnableButton) { - case "primary": - return catalog.i18nc("@button", "Enable"); - case "secondary": - return catalog.i18nc("@button", "Disable"); - case "busy": - if (packageData.installationStatus) { - return catalog.i18nc("@button", "Enabling..."); - } else { - return catalog.i18nc("@button", "Disabling..."); - } - case "confirmed": - if (packageData.installationStatus) { - return catalog.i18nc("@button", "Enabled"); - } else { - return catalog.i18nc("@button", "Disabled"); - } - default: - return ""; - } - } - enabled: !installManageButton.busy && !updateManageButton.busy + + text: packageData.stateManageEnableButton ? catalog.i18nc("@button", "Enable") : catalog.i18nc("@button", "Disable") onClicked: { @@ -252,34 +234,31 @@ Rectangle ManageButton { id: installManageButton - visible: !(enableManageButton.confirmed || updateManageButton.confirmed) + visible: confirmed && ((packageData.isBundled && packageData.canDowngrade) || !packageData.isBundled || !updateManageButton.confirmed) + + enabled: !packageData.isUpdating + + busy: packageData.isInstalling + confirmed: packageData.isInstalled || packageData.isUninstalled + button_style: packageData.stateManageInstallButton - busy: packageData.stateManageInstallButton == "busy" - confirmed: packageData.stateManageInstallButton == "confirmed" Layout.alignment: Qt.AlignTop - text: { - switch (packageData.stateManageInstallButton) { - case "primary": - return catalog.i18nc("@button", "Install"); - case "secondary": - return catalog.i18nc("@button", "Uninstall"); - case "busy": - if (packageData.installationStatus) { - return catalog.i18nc("@button", "Installing..."); - } else { - return catalog.i18nc("@button", "Uninstalling..."); - } - case "confirmed": - if (packageData.installationStatus) { - return catalog.i18nc("@button", "Installed"); - } else { - return catalog.i18nc("@button", "Uninstalled"); - } - default: - return ""; + + text: + { + if (packageData.stateManageInstallButton) + { + if (packageData.isInstalling) { return catalog.i18nc("@button", "Installing..."); } + else if (packageData.isInstalled) { return catalog.i18nc("@button", "Installed"); } + else { return catalog.i18nc("@button", "Install"); } + } + else + { + if (packageData.isInstalling) { return catalog.i18nc("@button", "Uninstalling..."); } + else if (packageData.isUninstalled) { return catalog.i18nc("@button", "Uninstalled"); } + else { return catalog.i18nc("@button", "Uninstall"); } } } - enabled: !enableManageButton.busy && !updateManageButton.busy onClicked: { @@ -297,25 +276,20 @@ Rectangle ManageButton { id: updateManageButton - visible: !installManageButton.confirmed || updateManageButton.confirmed + visible: confirmed && !installManageButton.confirmed + enabled: !installManageButton.busy - button_style: packageData.stateManageUpdateButton - busy: packageData.stateManageUpdateButton == "busy" - confirmed: packageData.stateManageUpdateButton == "confirmed" + busy: packageData.isUpdating + confirmed: packageData.isUpdated + + button_style: true Layout.alignment: Qt.AlignTop - enabled: !installManageButton.busy && !enableManageButton.busy - - text: { - switch (packageData.stateManageInstallButton) { - case "primary": - return catalog.i18nc("@button", "Update"); - case "busy": - return catalog.i18nc("@button", "Updating..."); - case "confirmed": - return catalog.i18nc("@button", "Updated"); - default: - return ""; - } + + text: + { + if (packageData.isUpdating) { return catalog.i18nc("@button", "Updating..."); } + else if (packageData.isUpdated) { return catalog.i18nc("@button", "Updated"); } + else { return catalog.i18nc("@button", "Update"); } } onClicked: packageData.updatePackageTriggered(packageData.packageId) |