diff options
author | Grigorii Zimin <gzimin@luxoft.com> | 2020-02-19 14:12:23 +0300 |
---|---|---|
committer | Grigorii Zimin <gzimin@luxoft.com> | 2020-02-21 09:22:26 +0000 |
commit | a38f8579e2919042d3d3909bf75e8c77c9c94ace (patch) | |
tree | 37ad62f8afc20609e359034b8fdabdd5b6300a40 /sysui | |
parent | 0525591041f9f6d7097cd14feb6dfd53f9d3a059 (diff) |
[sysui] save previous selected colors during session
UI reset won't restore last selected colors yet
Change-Id: I1c1db44623625ffd099fb75b3337c88cb564a734
Reviewed-by: Aleksei Korkov <akorkov@luxoft.com>
Diffstat (limited to 'sysui')
-rw-r--r-- | sysui/stores/RootStore.qml | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/sysui/stores/RootStore.qml b/sysui/stores/RootStore.qml index c4eb549d..3e7cbfee 100644 --- a/sysui/stores/RootStore.qml +++ b/sysui/stores/RootStore.qml @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2019 Luxoft Sweden AB +** Copyright (C) 2019-2020 Luxoft Sweden AB ** Copyright (C) 2018 Pelagicore AG ** Contact: https://www.qt.io/licensing/ ** @@ -106,7 +106,9 @@ Store { readonly property ApplicationPopupsStore applicationPopupsStore: ApplicationPopupsStore {} - property bool startupAccentColor: true + property var chosenColor: {0: Config._initAccentColors(0)[1].color + , 1: Config._initAccentColors(1)[4].color} + readonly property SystemUI systemUISettings: SystemUI { id: systemUISettings onApplicationICWindowSwitchCountChanged: { @@ -122,18 +124,25 @@ Store { uiSettings.setRtlMode(Qt.locale(language).textDirection === Qt.RightToLeft) } } + onThemeChanged: { - // since different themes have different color pallets we update colors on theme change - if (uiSettings.theme === 0 /*light*/) { - uiSettings.accentColor = (Config._initAccentColors(0))[1].color; - } else { /*dark*/ - uiSettings.accentColor = (Config._initAccentColors(1))[4].color; + if (isInitialized) { + root.updateThemeRequested(uiSettings.theme); + //different themes have different color pallets, we update colors on theme change + uiSettings.accentColor = chosenColor[uiSettings.theme]; } - - root.updateThemeRequested(uiSettings.theme); } - onAccentColorChanged: { root.accentColorChanged(accentColor); } + onAccentColorChanged: { + if (isInitialized) { + if (Config._initAccentColors(uiSettings.theme) + .some(data => data.color === uiSettings.accentColor)) { + chosenColor[uiSettings.theme] = uiSettings.accentColor; + } + + root.accentColorChanged(accentColor); + } + } onRtlModeChanged: Config.rtlMode = uiSettings.rtlMode Component.onCompleted: { Qt.callLater(function() { |