Use QML defined enum in sync state

These are the enums from cura/API/account.py
somehow exposing these enums from python to QML doesn't work properly anymore
A better solution should be found in the very near future

CURA-9146
This commit is contained in:
c.lamboo 2022-04-21 11:32:03 +02:00
parent d0a35bad3d
commit 66fde9100c

View File

@ -13,31 +13,38 @@ Row // Sync state icon + message
height: childrenRect.height height: childrenRect.height
spacing: UM.Theme.getSize("narrow_margin").height spacing: UM.Theme.getSize("narrow_margin").height
// These are the enums from cura/API/account.py
// somehow exposing these enums from python to QML doesn't work properly anymore
property var _Cura_AccountSyncState_SYNCING: 0
property var _Cura_AccountSyncState_SUCCESS: 1
property var _Cura_AccountSyncState_ERROR: 2
property var _Cura_AccountSyncState_IDLE: 3
states: [ states: [
State State
{ {
name: "idle" name: "idle"
when: syncState == Cura.AccountSyncState.IDLE when: syncState == _Cura_AccountSyncState_IDLE
PropertyChanges { target: icon; source: UM.Theme.getIcon("ArrowDoubleCircleRight")} PropertyChanges { target: icon; source: UM.Theme.getIcon("ArrowDoubleCircleRight")}
}, },
State State
{ {
name: "syncing" name: "syncing"
when: syncState == Cura.AccountSyncState.SYNCING when: syncState == _Cura_AccountSyncState_SYNCING
PropertyChanges { target: icon; source: UM.Theme.getIcon("ArrowDoubleCircleRight") } PropertyChanges { target: icon; source: UM.Theme.getIcon("ArrowDoubleCircleRight") }
PropertyChanges { target: stateLabel; text: catalog.i18nc("@label", "Checking...")} PropertyChanges { target: stateLabel; text: catalog.i18nc("@label", "Checking...")}
}, },
State State
{ {
name: "up_to_date" name: "up_to_date"
when: syncState == Cura.AccountSyncState.SUCCESS when: syncState == _Cura_AccountSyncState_SUCCESS
PropertyChanges { target: icon; source: UM.Theme.getIcon("CheckCircle") } PropertyChanges { target: icon; source: UM.Theme.getIcon("CheckCircle") }
PropertyChanges { target: stateLabel; text: catalog.i18nc("@label", "Account synced")} PropertyChanges { target: stateLabel; text: catalog.i18nc("@label", "Account synced")}
}, },
State State
{ {
name: "error" name: "error"
when: syncState == Cura.AccountSyncState.ERROR when: syncState == _Cura_AccountSyncState_ERROR
PropertyChanges { target: icon; source: UM.Theme.getIcon("Warning") } PropertyChanges { target: icon; source: UM.Theme.getIcon("Warning") }
PropertyChanges { target: stateLabel; text: catalog.i18nc("@label", "Something went wrong...")} PropertyChanges { target: stateLabel; text: catalog.i18nc("@label", "Something went wrong...")}
} }