mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-08-09 23:05:01 -06:00
Fix sync button not appearing when opening popup after clicking away
This was achieved by adding an IDLE state, which is the default state when opening the account management popup. The state is now reseted when the popup opens instead of when it closes. In addition, now either the "You are in sync with your account" label or the "Check account for updates" button will appear in the popup based on the state, not both. Finally, with theses changes, if the popup is open and an autosync occurs, the user will be informed that the account is synced and he/she will have to close and reopen the popup in order to trigger a manual update. CURA-7290
This commit is contained in:
parent
7388829fc1
commit
fad02193ab
3 changed files with 14 additions and 5 deletions
|
@ -112,8 +112,8 @@ Item
|
|||
if (popup.opened)
|
||||
{
|
||||
popup.close()
|
||||
Cura.API.account.popupClosed()
|
||||
} else {
|
||||
Cura.API.account.popupOpened()
|
||||
popup.open()
|
||||
}
|
||||
}
|
||||
|
@ -127,6 +127,7 @@ Item
|
|||
x: parent.width - width
|
||||
|
||||
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
|
||||
onOpened: Cura.API.account.popupOpened()
|
||||
|
||||
opacity: opened ? 1 : 0
|
||||
Behavior on opacity { NumberAnimation { duration: 100 } }
|
||||
|
|
|
@ -19,7 +19,7 @@ Row // sync state icon + message
|
|||
width: 20 * screenScaleFactor
|
||||
height: width
|
||||
|
||||
source: UM.Theme.getIcon("update")
|
||||
source: Cura.API.account.manualSyncEnabled ? UM.Theme.getIcon("update") : UM.Theme.getIcon("checked")
|
||||
color: palette.text
|
||||
|
||||
RotationAnimator
|
||||
|
@ -54,6 +54,7 @@ Row // sync state icon + message
|
|||
color: UM.Theme.getColor("text")
|
||||
font: UM.Theme.getFont("medium")
|
||||
renderType: Text.NativeRendering
|
||||
visible: !Cura.API.account.manualSyncEnabled
|
||||
}
|
||||
|
||||
Label
|
||||
|
@ -80,7 +81,9 @@ Row // sync state icon + message
|
|||
signal syncStateChanged(string newState)
|
||||
|
||||
onSyncStateChanged: {
|
||||
if(newState == Cura.AccountSyncState.SYNCING){
|
||||
if(newState == Cura.AccountSyncState.IDLE){
|
||||
icon.source = UM.Theme.getIcon("update")
|
||||
} else if(newState == Cura.AccountSyncState.SYNCING){
|
||||
icon.source = UM.Theme.getIcon("update")
|
||||
stateLabel.text = catalog.i18nc("@label", "Checking...")
|
||||
} else if (newState == Cura.AccountSyncState.SUCCESS) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue