113 lines
4.1 KiB
QML
113 lines
4.1 KiB
QML
import QtQuick
|
|
import QtQuick.Layouts
|
|
import QtQuick.Controls
|
|
import QtQuick.Window
|
|
import RibbonUI
|
|
|
|
RibbonBackStagePage{
|
|
id: page
|
|
pageName: qsTr("Settings")
|
|
ColumnLayout{
|
|
anchors{
|
|
top: parent.top
|
|
left: parent.left
|
|
right: parent.right
|
|
}
|
|
spacing: 100
|
|
RibbonBackStageGroup{
|
|
Layout.alignment: Qt.AlignTop
|
|
Layout.preferredHeight: theme_combo.height + 40
|
|
Layout.fillWidth: true
|
|
groupName: qsTr("Theme")
|
|
ColumnLayout{
|
|
RowLayout{
|
|
RibbonText{
|
|
text: qsTr("Current Theme: ")
|
|
}
|
|
RibbonComboBox{
|
|
id: theme_combo
|
|
model: ListModel {
|
|
id: model_theme
|
|
ListElement { text: "Light" }
|
|
ListElement { text: "Dark" }
|
|
ListElement { text: "System" }
|
|
}
|
|
iconSource: RibbonIcons.DarkTheme
|
|
Component.onCompleted: update_state()
|
|
onActivated: {
|
|
if (currentText === "System")
|
|
RibbonTheme.themeMode = RibbonThemeType.System
|
|
else if (currentText === "Light")
|
|
RibbonTheme.themeMode = RibbonThemeType.Light
|
|
else
|
|
RibbonTheme.themeMode = RibbonThemeType.Dark
|
|
}
|
|
Connections{
|
|
target: RibbonTheme
|
|
function onThemeModeChanged(){
|
|
theme_combo.update_state()
|
|
}
|
|
}
|
|
function update_state(){
|
|
let str = (RibbonTheme.themeMode === RibbonThemeType.System ? "System" : RibbonTheme.themeMode === RibbonThemeType.Light ? "Light" : "Dark")
|
|
currentIndex = find(str)
|
|
}
|
|
}
|
|
}
|
|
RowLayout{
|
|
RibbonText{
|
|
text: qsTr("Current Style: ")
|
|
}
|
|
RibbonSwitchButton{
|
|
text: qsTr("Style")
|
|
grabberText: checked ? qsTr("Modern") : qsTr("Classic")
|
|
onClicked: RibbonTheme.modernStyle = checked
|
|
checked: RibbonTheme.modernStyle
|
|
}
|
|
}
|
|
}
|
|
}
|
|
RibbonBackStageGroup{
|
|
Layout.alignment: Qt.AlignTop
|
|
Layout.preferredHeight: render_btn.height + 40
|
|
Layout.fillWidth: true
|
|
groupName: qsTr("Text Render")
|
|
RowLayout{
|
|
RibbonText{
|
|
text: qsTr("Current Text Render: ")
|
|
}
|
|
RibbonSwitchButton{
|
|
id: render_btn
|
|
text: "Render"
|
|
grabberText: RibbonTheme.nativeText ? "Native" : "Qt"
|
|
checked: true
|
|
Layout.alignment: Qt.AlignHCenter
|
|
onClicked: {
|
|
RibbonTheme.nativeText = checked
|
|
}
|
|
}
|
|
}
|
|
}
|
|
RibbonBackStageGroup{
|
|
Layout.alignment: Qt.AlignTop
|
|
Layout.preferredHeight: render_btn.height + 40
|
|
Layout.fillWidth: true
|
|
groupName: qsTr("TitleBar")
|
|
RowLayout{
|
|
RibbonText{
|
|
text: qsTr("Show TitleBar Icon: ")
|
|
}
|
|
RibbonSwitchButton{
|
|
text: "Icon"
|
|
grabberText: RibbonTheme.nativeText ? "Show" : "Hide"
|
|
checked: true
|
|
Layout.alignment: Qt.AlignHCenter
|
|
onClicked: {
|
|
Window.window.titleBar.titleIcon.visible = checked
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|