Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelle Spijker <spijker.jelle@gmail.com>2021-12-08 20:47:56 +0300
committerJelle Spijker <spijker.jelle@gmail.com>2021-12-08 20:47:56 +0300
commit9f41115bc144f31636b90a2ea5d5d1ce9061baa2 (patch)
tree49c973e38540c15b6765d572c9f39e5b5a2d391e /plugins/Marketplace/resources
parent4c516e8cec2e2f24f4da10491fee2e819ef3e3cc (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.qml19
-rw-r--r--plugins/Marketplace/resources/qml/PackageCard.qml108
-rw-r--r--plugins/Marketplace/resources/qml/PackagePage.qml108
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)