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.withAlpha(Theme.surfaceContainerHighest, Theme.popupTransparency) 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.withAlpha(Theme.surfaceContainerHighest, Theme.popupTransparency) 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; } } } } } } } } }