Warning, /plasma/plasma-mobile/initialstart/modules/prepare/package/contents/ui/main.qml is written in an unsupported language. File is not indexed.
0001 // SPDX-FileCopyrightText: 2023 Devin Lin <devin@kde.org> 0002 // SPDX-License-Identifier: GPL-2.0-or-later 0003 0004 import QtQuick 2.15 0005 import QtQuick.Controls 2.15 0006 import QtQuick.Layouts 1.15 0007 0008 import org.kde.kirigami 2.20 as Kirigami 0009 import org.kde.kirigamiaddons.formcard 1.0 as FormCard 0010 import org.kde.plasma.mobileinitialstart.prepare 1.0 as Prepare 0011 0012 Item { 0013 id: root 0014 property string name: i18n("Before we get started…") 0015 0016 readonly property real cardWidth: Math.min(Kirigami.Units.gridUnit * 30, root.width - Kirigami.Units.gridUnit * 2) 0017 0018 ScrollView { 0019 anchors { 0020 fill: parent 0021 topMargin: Kirigami.Units.gridUnit 0022 } 0023 0024 ScrollBar.horizontal.policy: ScrollBar.AlwaysOff 0025 contentWidth: -1 0026 0027 ColumnLayout { 0028 width: root.width 0029 spacing: Kirigami.Units.gridUnit 0030 0031 Label { 0032 Layout.leftMargin: Kirigami.Units.gridUnit 0033 Layout.rightMargin: Kirigami.Units.gridUnit 0034 Layout.alignment: Qt.AlignTop 0035 Layout.fillWidth: true 0036 0037 visible: Prepare.PrepareUtil.brightnessAvailable 0038 wrapMode: Text.Wrap 0039 horizontalAlignment: Text.AlignHCenter 0040 text: i18n("Adjust the screen brightness to be comfortable for the installation process.") 0041 } 0042 0043 FormCard.FormCard { 0044 id: brightnessCard 0045 visible: Prepare.PrepareUtil.brightnessAvailable 0046 maximumWidth: root.cardWidth 0047 0048 Layout.alignment: Qt.AlignTop | Qt.AlignHCenter 0049 0050 FormCard.AbstractFormDelegate { 0051 background: null 0052 0053 contentItem: RowLayout { 0054 spacing: Kirigami.Units.gridUnit 0055 0056 Kirigami.Icon { 0057 implicitWidth: Kirigami.Units.iconSizes.smallMedium 0058 implicitHeight: Kirigami.Units.iconSizes.smallMedium 0059 source: "brightness-low" 0060 } 0061 0062 Slider { 0063 id: brightnessSlider 0064 Layout.fillWidth: true 0065 from: 1 0066 to: Prepare.PrepareUtil.maxBrightness 0067 value: Prepare.PrepareUtil.brightness 0068 onMoved: Prepare.PrepareUtil.brightness = value; 0069 0070 // HACK: for some reason, the slider initial value doesn't set without being done after the component completes loading 0071 Timer { 0072 interval: 0 0073 running: true 0074 repeat: false 0075 onTriggered: brightnessSlider.value = Qt.binding(() => Prepare.PrepareUtil.brightness) 0076 } 0077 } 0078 0079 Kirigami.Icon { 0080 implicitWidth: Kirigami.Units.iconSizes.smallMedium 0081 implicitHeight: Kirigami.Units.iconSizes.smallMedium 0082 source: "brightness-high" 0083 } 0084 } 0085 } 0086 } 0087 0088 Label { 0089 Layout.leftMargin: Kirigami.Units.gridUnit 0090 Layout.rightMargin: Kirigami.Units.gridUnit 0091 Layout.alignment: Qt.AlignTop 0092 Layout.fillWidth: true 0093 0094 wrapMode: Text.Wrap 0095 horizontalAlignment: Text.AlignHCenter 0096 text: i18n("Adjust the size of elements on the screen.") 0097 } 0098 0099 FormCard.FormCard { 0100 id: scalingCard 0101 maximumWidth: root.cardWidth 0102 0103 Layout.alignment: Qt.AlignTop | Qt.AlignHCenter 0104 0105 FormCard.FormComboBoxDelegate { 0106 id: displayScaling 0107 text: i18n("Display Scaling") 0108 displayMode: FormCard.FormComboBoxDelegate.Dialog 0109 currentIndex: Prepare.PrepareUtil.scalingOptions.indexOf(Prepare.PrepareUtil.scaling.toString() + "%"); 0110 model: Prepare.PrepareUtil.scalingOptions 0111 0112 // remove % suffix 0113 onCurrentValueChanged: Prepare.PrepareUtil.scaling = parseInt(currentValue.substring(0, currentValue.length - 1)); 0114 } 0115 } 0116 0117 FormCard.FormCard { 0118 id: darkThemeCard 0119 maximumWidth: root.cardWidth 0120 0121 Layout.alignment: Qt.AlignTop | Qt.AlignHCenter 0122 0123 FormCard.FormSwitchDelegate { 0124 id: darkThemeSwitch 0125 text: i18n("Dark Theme") 0126 checked: Prepare.PrepareUtil.usingDarkTheme 0127 onCheckedChanged: { 0128 if (checked !== Prepare.PrepareUtil.usingDarkTheme) { 0129 Prepare.PrepareUtil.usingDarkTheme = checked; 0130 } 0131 } 0132 } 0133 } 0134 } 0135 } 0136 }