summaryrefslogtreecommitdiff
path: root/raveos-hyprland-theme/theme-data/dms/Modules/Settings/SystemUpdaterTab.qml
diff options
context:
space:
mode:
Diffstat (limited to 'raveos-hyprland-theme/theme-data/dms/Modules/Settings/SystemUpdaterTab.qml')
-rw-r--r--raveos-hyprland-theme/theme-data/dms/Modules/Settings/SystemUpdaterTab.qml142
1 files changed, 142 insertions, 0 deletions
diff --git a/raveos-hyprland-theme/theme-data/dms/Modules/Settings/SystemUpdaterTab.qml b/raveos-hyprland-theme/theme-data/dms/Modules/Settings/SystemUpdaterTab.qml
new file mode 100644
index 0000000..5a61dbb
--- /dev/null
+++ b/raveos-hyprland-theme/theme-data/dms/Modules/Settings/SystemUpdaterTab.qml
@@ -0,0 +1,142 @@
+import QtQuick
+import qs.Common
+import qs.Widgets
+import qs.Modules.Settings.Widgets
+
+Item {
+ id: root
+
+ DankFlickable {
+ anchors.fill: parent
+ clip: true
+ contentHeight: mainColumn.height + Theme.spacingXL
+ contentWidth: width
+
+ Column {
+ id: mainColumn
+ topPadding: 4
+ width: Math.min(550, parent.width - Theme.spacingL * 2)
+ anchors.horizontalCenter: parent.horizontalCenter
+ spacing: Theme.spacingXL
+
+ SettingsCard {
+ width: parent.width
+ iconName: "refresh"
+ title: I18n.tr("System Updater")
+ settingKey: "systemUpdater"
+
+ SettingsToggleRow {
+ text: I18n.tr("Hide Updater Widget", "When updater widget is used, then hide it if no update found")
+ description: I18n.tr("When updater widget is used, then hide it if no update found")
+ checked: SettingsData.updaterHideWidget
+ onToggled: checked => {
+ SettingsData.set("updaterHideWidget", checked);
+ }
+ }
+
+ SettingsToggleRow {
+ text: I18n.tr("Use Custom Command")
+ description: I18n.tr("Use custom command for update your system")
+ checked: SettingsData.updaterUseCustomCommand
+ onToggled: checked => {
+ if (!checked) {
+ updaterCustomCommand.text = "";
+ updaterTerminalCustomClass.text = "";
+ SettingsData.set("updaterCustomCommand", "");
+ SettingsData.set("updaterTerminalAdditionalParams", "");
+ }
+ SettingsData.set("updaterUseCustomCommand", checked);
+ }
+ }
+
+ FocusScope {
+ width: parent.width - Theme.spacingM * 2
+ height: customCommandColumn.implicitHeight
+ anchors.left: parent.left
+ anchors.leftMargin: Theme.spacingM
+
+ Column {
+ id: customCommandColumn
+ width: parent.width
+ spacing: Theme.spacingXS
+
+ StyledText {
+ text: I18n.tr("System update custom command")
+ font.pixelSize: Theme.fontSizeSmall
+ color: Theme.surfaceVariantText
+ }
+
+ DankTextField {
+ id: updaterCustomCommand
+ width: parent.width
+ placeholderText: "myPkgMngr --sysupdate"
+ backgroundColor: Theme.surfaceContainerHighest
+ normalBorderColor: Theme.outlineMedium
+ focusedBorderColor: Theme.primary
+
+ Component.onCompleted: {
+ if (SettingsData.updaterCustomCommand) {
+ text = SettingsData.updaterCustomCommand;
+ }
+ }
+
+ onTextEdited: SettingsData.set("updaterCustomCommand", text.trim())
+
+ MouseArea {
+ anchors.fill: parent
+ onPressed: mouse => {
+ updaterCustomCommand.forceActiveFocus();
+ mouse.accepted = false;
+ }
+ }
+ }
+ }
+ }
+
+ FocusScope {
+ width: parent.width - Theme.spacingM * 2
+ height: terminalParamsColumn.implicitHeight
+ anchors.left: parent.left
+ anchors.leftMargin: Theme.spacingM
+
+ Column {
+ id: terminalParamsColumn
+ width: parent.width
+ spacing: Theme.spacingXS
+
+ StyledText {
+ text: I18n.tr("Terminal custom additional parameters")
+ font.pixelSize: Theme.fontSizeSmall
+ color: Theme.surfaceVariantText
+ }
+
+ DankTextField {
+ id: updaterTerminalCustomClass
+ width: parent.width
+ placeholderText: "-T udpClass"
+ backgroundColor: Theme.surfaceContainerHighest
+ normalBorderColor: Theme.outlineMedium
+ focusedBorderColor: Theme.primary
+
+ Component.onCompleted: {
+ if (SettingsData.updaterTerminalAdditionalParams) {
+ text = SettingsData.updaterTerminalAdditionalParams;
+ }
+ }
+
+ onTextEdited: SettingsData.set("updaterTerminalAdditionalParams", text.trim())
+
+ MouseArea {
+ anchors.fill: parent
+ onPressed: mouse => {
+ updaterTerminalCustomClass.forceActiveFocus();
+ mouse.accepted = false;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}