Example: Fix the theme combobox's state don't sync with system.
This commit is contained in:
parent
635cf04179
commit
45d1e59ce9
|
@ -515,6 +515,7 @@ RibbonWindow {
|
|||
height: parent.height
|
||||
spacing: 10
|
||||
RibbonComboBox{
|
||||
id: theme_combo
|
||||
model: ListModel {
|
||||
id: model_theme
|
||||
ListElement { text: "Light" }
|
||||
|
@ -522,10 +523,7 @@ RibbonWindow {
|
|||
ListElement { text: "System" }
|
||||
}
|
||||
icon_source: RibbonIcons.DarkTheme
|
||||
Component.onCompleted: {
|
||||
let str = (RibbonTheme.theme_mode === RibbonThemeType.System ? "System" : RibbonTheme.theme_mode === RibbonThemeType.Light ? "Light" : "Dark")
|
||||
currentIndex = find(str)
|
||||
}
|
||||
Component.onCompleted: update_state()
|
||||
onActivated: {
|
||||
if (currentText === "System")
|
||||
RibbonTheme.theme_mode = RibbonThemeType.System
|
||||
|
@ -534,6 +532,16 @@ RibbonWindow {
|
|||
else
|
||||
RibbonTheme.theme_mode = RibbonThemeType.Dark
|
||||
}
|
||||
Connections{
|
||||
target: RibbonTheme
|
||||
function onTheme_modeChanged(){
|
||||
theme_combo.update_state()
|
||||
}
|
||||
}
|
||||
function update_state(){
|
||||
let str = (RibbonTheme.theme_mode === RibbonThemeType.System ? "System" : RibbonTheme.theme_mode === RibbonThemeType.Light ? "Light" : "Dark")
|
||||
currentIndex = find(str)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue