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) } } }