From cca33bb4a587cc6869b565d5bfd36e2ef0e5a199 Mon Sep 17 00:00:00 2001 From: "saumya.jain" Date: Mon, 10 Jul 2023 13:50:37 +0200 Subject: [PATCH] Added refresh moving icon for feedback purpose While refreshing the material sync, no feedback was provided before, now there is a refreshing icon animation available for "refresh in progress" fixes: CURA-8754 --- .../Materials/MaterialsSyncDialog.qml | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/resources/qml/Preferences/Materials/MaterialsSyncDialog.qml b/resources/qml/Preferences/Materials/MaterialsSyncDialog.qml index 87a8d00ec4..5c40f93837 100644 --- a/resources/qml/Preferences/Materials/MaterialsSyncDialog.qml +++ b/resources/qml/Preferences/Materials/MaterialsSyncDialog.qml @@ -429,10 +429,59 @@ UM.Window Cura.SecondaryButton { id: refreshListButton + property int accountState: Cura.API.account.syncState Layout.alignment: Qt.AlignVCenter text: catalog.i18nc("@button", "Refresh List") iconSource: UM.Theme.getIcon("ArrowDoubleCircleRight") onClicked: Cura.API.account.sync(true) + + onAccountStateChanged: { + if (Cura.API.account.syncState == 0) + { + refreshListButton.visible = false; + } + if (Cura.API.account.syncState == 1) + { + refreshListButton.visible = true; + } + } + } + + Item + { + width: childrenRect.width + Layout.alignment: Qt.AlignVCenter + height: refreshListButton.height + visible: !refreshListButton.visible + + UM.ColorImage + { + id: refreshingIcon + height: UM.Theme.getSize("action_button_icon").height + width: height + anchors.verticalCenter: refreshingLabel.verticalCenter + source: UM.Theme.getIcon("ArrowDoubleCircleRight") + color: UM.Theme.getColor("primary") + + RotationAnimator + { + target: refreshingIcon + from: 0 + to: 360 + duration: 1000 + loops: Animation.Infinite + running: true + } + } + UM.Label + { + id: refreshingLabel + anchors.left: refreshingIcon.right + anchors.leftMargin: UM.Theme.getSize("narrow_margin").width + text: catalog.i18nc("@button", "Refreshing...") + color: UM.Theme.getColor("primary") + font: UM.Theme.getFont("medium") + } } Cura.TertiaryButton