131 lines
2.6 KiB
QML
131 lines
2.6 KiB
QML
import QtGraphicalEffects 1.0
|
|
import QtQuick 2.7
|
|
import QtQuick.Controls 2.4
|
|
import QtQuick.Controls.Material 2.0
|
|
import QtQuick.Layouts 1.3
|
|
import QtQuick.Window 2.11
|
|
import QtQuick.Controls 1.4
|
|
|
|
import "../widgets"
|
|
import "../widgets/controls"
|
|
|
|
ColumnLayout { // settingsPane
|
|
id: root
|
|
anchors.fill: parent
|
|
|
|
|
|
StackToolbar {
|
|
id: stb
|
|
//: Cwtch Settings title
|
|
text: qsTr("cwtch-settings-title")
|
|
aux.visible: false
|
|
membership.visible: false
|
|
}
|
|
|
|
Flickable {
|
|
anchors.top: stb.bottom
|
|
anchors.left: parent.left
|
|
anchors.right: parent.right
|
|
anchors.bottom: parent.bottom
|
|
boundsBehavior: Flickable.StopAtBounds
|
|
clip:true
|
|
contentWidth: tehcol.width
|
|
contentHeight: tehcol.height
|
|
|
|
|
|
Column {
|
|
id: tehcol
|
|
leftPadding: 10
|
|
spacing: 5
|
|
width: root.width
|
|
|
|
ScalingLabel {
|
|
width: parent.width
|
|
wrapMode: TextEdit.Wrap
|
|
//: Version: %1 Built on: %2
|
|
text: qsTr("version %1 builddate %2").arg(gcd.version).arg(gcd.buildDate)
|
|
}
|
|
|
|
ScalingLabel {
|
|
width: parent.width
|
|
wrapMode: TextEdit.Wrap
|
|
//: Interface zoom (mostly affects text and button sizes)
|
|
text: qsTr("zoom-label") + ":"
|
|
}
|
|
|
|
Slider {
|
|
id: zoomSlider
|
|
minimumValue: 0.5
|
|
maximumValue: 4.0
|
|
value: gcd.themeScale
|
|
updateValueWhileDragging: false
|
|
onValueChanged: {
|
|
gcd.themeScale = zoomSlider.value
|
|
saveSettings()
|
|
}
|
|
width: 400
|
|
}
|
|
|
|
ScalingLabel {
|
|
wrapMode: TextEdit.Wrap
|
|
text: qsTr("large-text-label")
|
|
size: 20
|
|
}
|
|
|
|
ScalingLabel{
|
|
width: parent.width
|
|
wrapMode: TextEdit.Wrap
|
|
//: "Default size text (scale factor: "
|
|
text: qsTr("default-scaling-text") + " " + Math.round(zoomSlider.value * 100) / 100 + ")"
|
|
}
|
|
|
|
ScalingLabel {
|
|
text: qsTr("small-text-label")
|
|
size: 8
|
|
}
|
|
|
|
GridLayout {
|
|
columns: 2
|
|
columnSpacing: 10
|
|
|
|
|
|
FlagButton {
|
|
emoji: "1f1e9-1f1ea"
|
|
locale: "de"
|
|
}
|
|
|
|
FlagButton {
|
|
emoji: "1f1e8-1f1e6"
|
|
locale: "en"
|
|
selected: true
|
|
}
|
|
|
|
FlagButton {
|
|
locale: "fr"
|
|
emoji: "1f1eb-1f1f7"
|
|
}
|
|
|
|
FlagButton {
|
|
locale: "pt"
|
|
emoji: "1f1e7-1f1f7"
|
|
}
|
|
}
|
|
|
|
}//end of column with padding
|
|
}//end of flickable
|
|
|
|
function saveSettings() {
|
|
// language switcher saves itself because erinn is a bad (read: amazing) programmer
|
|
gcd.saveSettings(zoomSlider.value, "")
|
|
}
|
|
|
|
Connections {
|
|
target: gcd
|
|
|
|
onSupplySettings: function(zoom, locale) {
|
|
if (zoom != "") zoomSlider.value = zoom
|
|
// (locale is handled automatically by FlagButton)
|
|
}
|
|
}
|
|
}
|