QML UI: replace all switches with our own

As per title, helps simplify theme modifications.

Signed-off-by: Joakim Bygdell <j.bygdell@gmail.com>
This commit is contained in:
Joakim Bygdell 2017-07-24 20:04:47 +02:00 committed by Dirk Hohndel
parent 93ec03105e
commit 071db08b14
2 changed files with 8 additions and 133 deletions

View file

@ -96,7 +96,7 @@ Item {
text: qsTr("Show password")
Layout.preferredWidth: col1Width
}
Switch {
SsrfSwitch {
checked: false
id: showPassword
Layout.preferredWidth: col2Width
@ -105,27 +105,6 @@ Item {
password.text = "" // don't show a hidden password
password.echoMode = checked ? TextInput.Normal : TextInput.Password
}
indicator: Rectangle {
implicitWidth: Kirigami.Units.largeSpacing * 3
implicitHeight: Kirigami.Units.largeSpacing
x: showPassword.leftPadding
y: parent.height / 2 - height / 2
radius: Kirigami.Units.largeSpacing * 0.5
color: showPassword.checked ?
subsurfaceTheme.lightPrimaryColor : subsurfaceTheme.backgroundColor
border.color: subsurfaceTheme.darkerPrimaryColor
Rectangle {
x: showPassword.checked ? parent.width - width : 0
y: parent.height / 2 - height / 2
width: Kirigami.Units.largeSpacing * 1.5
height: Kirigami.Units.largeSpacing * 1.5
radius: height / 2
color: showPassword.down || showPassword.checked ?
subsurfaceTheme.primaryColor : subsurfaceTheme.lightPrimaryColor
border.color: subsurfaceTheme.darkerPrimaryColor
}
}
}
}

View file

@ -82,7 +82,7 @@ Kirigami.ScrollablePage {
}
}
}
Switch {
SsrfSwitch {
id: blueButton
Layout.preferredWidth: gridWidth * 0.25
checked: subsurfaceTheme.currentTheme === "Blue"
@ -92,27 +92,6 @@ Kirigami.ScrollablePage {
manager.theme = subsurfaceTheme.currentTheme
manager.savePreferences()
}
indicator: Rectangle {
implicitWidth: Kirigami.Units.largeSpacing * 3
implicitHeight: Kirigami.Units.largeSpacing
x: blueButton.leftPadding
y: parent.height / 2 - height / 2
radius: Kirigami.Units.largeSpacing * 0.5
color: blueButton.checked ?
subsurfaceTheme.lightPrimaryColor : subsurfaceTheme.backgroundColor
border.color: subsurfaceTheme.darkerPrimaryColor
Rectangle {
x: blueButton.checked ? parent.width - width : 0
y: parent.height / 2 - height / 2
width: Kirigami.Units.largeSpacing * 1.5
height: Kirigami.Units.largeSpacing * 1.5
radius: height / 2
color: blueButton.down || blueButton.checked ?
subsurfaceTheme.primaryColor : subsurfaceTheme.lightPrimaryColor
border.color: subsurfaceTheme.darkerPrimaryColor
}
}
}
Kirigami.Label {
@ -156,7 +135,7 @@ Kirigami.ScrollablePage {
}
}
Switch {
SsrfSwitch {
id: pinkButton
Layout.preferredWidth: gridWidth * 0.25
checked: subsurfaceTheme.currentTheme === "Pink"
@ -166,27 +145,6 @@ Kirigami.ScrollablePage {
manager.theme = subsurfaceTheme.currentTheme
manager.savePreferences()
}
indicator: Rectangle {
implicitWidth: Kirigami.Units.largeSpacing * 3
implicitHeight: Kirigami.Units.largeSpacing
x: pinkButton.leftPadding
y: parent.height / 2 - height / 2
radius: Kirigami.Units.largeSpacing * 0.5
color: pinkButton.checked ?
subsurfaceTheme.lightPrimaryColor : subsurfaceTheme.backgroundColor
border.color: subsurfaceTheme.darkerPrimaryColor
Rectangle {
x: pinkButton.checked ? parent.width - width : 0
y: parent.height / 2 - height / 2
width: Kirigami.Units.largeSpacing * 1.5
height: Kirigami.Units.largeSpacing * 1.5
radius: height / 2
color: pinkButton.down || pinkButton.checked ?
subsurfaceTheme.primaryColor : subsurfaceTheme.lightPrimaryColor
border.color: subsurfaceTheme.darkerPrimaryColor
}
}
}
Kirigami.Label {
@ -229,7 +187,7 @@ Kirigami.ScrollablePage {
}
}
}
Switch {
SsrfSwitch {
id: darkButton
Layout.preferredWidth: gridWidth * 0.25
checked: subsurfaceTheme.currentTheme === "Dark"
@ -239,29 +197,9 @@ Kirigami.ScrollablePage {
manager.theme = subsurfaceTheme.currentTheme
manager.savePreferences()
}
indicator: Rectangle {
implicitWidth: Kirigami.Units.largeSpacing * 3
implicitHeight: Kirigami.Units.largeSpacing
x: darkButton.leftPadding
y: parent.height / 2 - height / 2
radius: Kirigami.Units.largeSpacing * 0.5
color: darkButton.checked ?
subsurfaceTheme.lightPrimaryColor : subsurfaceTheme.backgroundColor
border.color: subsurfaceTheme.darkerPrimaryColor
Rectangle {
x: darkButton.checked ? parent.width - width : 0
y: parent.height / 2 - height / 2
width: Kirigami.Units.largeSpacing * 1.5
height: Kirigami.Units.largeSpacing * 1.5
radius: height / 2
color: darkButton.down || darkButton.checked ?
subsurfaceTheme.primaryColor : subsurfaceTheme.lightPrimaryColor
border.color: subsurfaceTheme.darkerPrimaryColor
}
}
}
}
Rectangle {
color: subsurfaceTheme.darkerPrimaryColor
height: 1
@ -338,34 +276,13 @@ Kirigami.ScrollablePage {
text: qsTr("Save detailed log")
Layout.preferredWidth: gridWidth * 0.75
}
Switch {
SsrfSwitch {
id: libdclogButton
checked: manager.libdcLog
Layout.preferredWidth: gridWidth * 0.25
onClicked: {
manager.libdcLog = checked
}
indicator: Rectangle {
implicitWidth: Kirigami.Units.largeSpacing * 3
implicitHeight: Kirigami.Units.largeSpacing
x: libdclogButton.leftPadding
y: parent.height / 2 - height / 2
radius: Kirigami.Units.largeSpacing * 0.5
color: libdclogButton.checked ?
subsurfaceTheme.lightPrimaryColor : subsurfaceTheme.backgroundColor
border.color: subsurfaceTheme.darkerPrimaryColor
Rectangle {
x: libdclogButton.checked ? parent.width - width : 0
y: parent.height / 2 - height / 2
width: Kirigami.Units.largeSpacing * 1.5
height: Kirigami.Units.largeSpacing * 1.5
radius: height / 2
color: libdclogButton.down || libdclogButton.checked ?
subsurfaceTheme.primaryColor : subsurfaceTheme.lightPrimaryColor
border.color: subsurfaceTheme.darkerPrimaryColor
}
}
}
}
Rectangle {
@ -391,34 +308,13 @@ Kirigami.ScrollablePage {
text: qsTr("Display Developer menu")
Layout.preferredWidth: gridWidth * 0.75
}
Switch {
SsrfSwitch {
id: developerButton
checked: manager.developer
Layout.preferredWidth: gridWidth * 0.25
onClicked: {
manager.developer = checked
}
indicator: Rectangle {
implicitWidth: Kirigami.Units.largeSpacing * 3
implicitHeight: Kirigami.Units.largeSpacing
x: developerButton.leftPadding
y: parent.height / 2 - height / 2
radius: Kirigami.Units.largeSpacing * 0.5
color: developerButton.checked ?
subsurfaceTheme.lightPrimaryColor : subsurfaceTheme.backgroundColor
border.color: subsurfaceTheme.darkerPrimaryColor
Rectangle {
x: developerButton.checked ? parent.width - width : 0
y: parent.height / 2 - height / 2
width: Kirigami.Units.largeSpacing * 1.5
height: Kirigami.Units.largeSpacing * 1.5
radius: height / 2
color: developerButton.down || developerButton.checked ?
subsurfaceTheme.primaryColor : subsurfaceTheme.lightPrimaryColor
border.color: subsurfaceTheme.darkerPrimaryColor
}
}
}
}
}
Item {