forked from Shinonome/dots-hyprland
378 lines
13 KiB
QML
378 lines
13 KiB
QML
import QtQuick
|
|
import QtQuick.Layouts
|
|
import qs
|
|
import qs.services
|
|
import qs.modules.common
|
|
import qs.modules.common.widgets
|
|
|
|
ContentPage {
|
|
forceWidth: true
|
|
ContentSection {
|
|
title: Translation.tr("Policies")
|
|
|
|
ConfigRow {
|
|
ColumnLayout {
|
|
// Weeb policy
|
|
ContentSubsectionLabel {
|
|
text: Translation.tr("Weeb")
|
|
}
|
|
ConfigSelectionArray {
|
|
currentValue: Config.options.policies.weeb
|
|
configOptionName: "policies.weeb"
|
|
onSelected: newValue => {
|
|
Config.options.policies.weeb = newValue;
|
|
}
|
|
options: [
|
|
{
|
|
displayName: Translation.tr("No"),
|
|
value: 0
|
|
},
|
|
{
|
|
displayName: Translation.tr("Yes"),
|
|
value: 1
|
|
},
|
|
{
|
|
displayName: Translation.tr("Closet"),
|
|
value: 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
|
|
ColumnLayout {
|
|
// AI policy
|
|
ContentSubsectionLabel {
|
|
text: Translation.tr("AI")
|
|
}
|
|
ConfigSelectionArray {
|
|
currentValue: Config.options.policies.ai
|
|
configOptionName: "policies.ai"
|
|
onSelected: newValue => {
|
|
Config.options.policies.ai = newValue;
|
|
}
|
|
options: [
|
|
{
|
|
displayName: Translation.tr("No"),
|
|
value: 0
|
|
},
|
|
{
|
|
displayName: Translation.tr("Yes"),
|
|
value: 1
|
|
},
|
|
{
|
|
displayName: Translation.tr("Local only"),
|
|
value: 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSection {
|
|
title: Translation.tr("Bar")
|
|
|
|
ConfigSelectionArray {
|
|
currentValue: Config.options.bar.cornerStyle
|
|
configOptionName: "bar.cornerStyle"
|
|
onSelected: newValue => {
|
|
Config.options.bar.cornerStyle = newValue;
|
|
}
|
|
options: [
|
|
{
|
|
displayName: Translation.tr("Hug"),
|
|
value: 0
|
|
},
|
|
{
|
|
displayName: Translation.tr("Float"),
|
|
value: 1
|
|
},
|
|
{
|
|
displayName: Translation.tr("Plain rectangle"),
|
|
value: 2
|
|
}
|
|
]
|
|
}
|
|
|
|
ContentSubsection {
|
|
title: Translation.tr("Appearance")
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSwitch {
|
|
text: Translation.tr('Borderless')
|
|
checked: Config.options.bar.borderless
|
|
onCheckedChanged: {
|
|
Config.options.bar.borderless = checked;
|
|
}
|
|
}
|
|
ConfigSwitch {
|
|
text: Translation.tr('Show background')
|
|
checked: Config.options.bar.showBackground
|
|
onCheckedChanged: {
|
|
Config.options.bar.showBackground = checked;
|
|
}
|
|
StyledToolTip {
|
|
content: Translation.tr("Note: turning off can hurt readability")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSubsection {
|
|
title: Translation.tr("Buttons")
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSwitch {
|
|
text: Translation.tr("Screen snip")
|
|
checked: Config.options.bar.utilButtons.showScreenSnip
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showScreenSnip = checked;
|
|
}
|
|
}
|
|
ConfigSwitch {
|
|
text: Translation.tr("Color picker")
|
|
checked: Config.options.bar.utilButtons.showColorPicker
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showColorPicker = checked;
|
|
}
|
|
}
|
|
}
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSwitch {
|
|
text: Translation.tr("Mic toggle")
|
|
checked: Config.options.bar.utilButtons.showMicToggle
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showMicToggle = checked;
|
|
}
|
|
}
|
|
ConfigSwitch {
|
|
text: Translation.tr("Keyboard toggle")
|
|
checked: Config.options.bar.utilButtons.showKeyboardToggle
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showKeyboardToggle = checked;
|
|
}
|
|
}
|
|
}
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSwitch {
|
|
text: Translation.tr("Dark/Light toggle")
|
|
checked: Config.options.bar.utilButtons.showDarkModeToggle
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showDarkModeToggle = checked;
|
|
}
|
|
}
|
|
ConfigSwitch {
|
|
text: Translation.tr("Performance Profile toggle")
|
|
checked: Config.options.bar.utilButtons.showPerformanceProfileToggle
|
|
onCheckedChanged: {
|
|
Config.options.bar.utilButtons.showPerformanceProfileToggle = checked;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSubsection {
|
|
title: Translation.tr("Workspaces")
|
|
tooltip: Translation.tr("Tip: Hide icons and always show numbers for\nthe classic illogical-impulse experience")
|
|
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSwitch {
|
|
text: Translation.tr('Show app icons')
|
|
checked: Config.options.bar.workspaces.showAppIcons
|
|
onCheckedChanged: {
|
|
Config.options.bar.workspaces.showAppIcons = checked;
|
|
}
|
|
}
|
|
ConfigSwitch {
|
|
text: Translation.tr('Always show numbers')
|
|
checked: Config.options.bar.workspaces.alwaysShowNumbers
|
|
onCheckedChanged: {
|
|
Config.options.bar.workspaces.alwaysShowNumbers = checked;
|
|
}
|
|
}
|
|
}
|
|
ConfigSpinBox {
|
|
text: Translation.tr("Workspaces shown")
|
|
value: Config.options.bar.workspaces.shown
|
|
from: 1
|
|
to: 30
|
|
stepSize: 1
|
|
onValueChanged: {
|
|
Config.options.bar.workspaces.shown = value;
|
|
}
|
|
}
|
|
ConfigSpinBox {
|
|
text: Translation.tr("Number show delay when pressing Super (ms)")
|
|
value: Config.options.bar.workspaces.showNumberDelay
|
|
from: 0
|
|
to: 1000
|
|
stepSize: 50
|
|
onValueChanged: {
|
|
Config.options.bar.workspaces.showNumberDelay = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSubsection {
|
|
title: Translation.tr("Weather")
|
|
ConfigSwitch {
|
|
text: Translation.tr("Enable")
|
|
checked: Config.options.bar.weather.enable
|
|
onCheckedChanged: {
|
|
Config.options.bar.weather.enable = checked;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSection {
|
|
title: Translation.tr("Battery")
|
|
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSpinBox {
|
|
text: Translation.tr("Low warning")
|
|
value: Config.options.battery.low
|
|
from: 0
|
|
to: 100
|
|
stepSize: 5
|
|
onValueChanged: {
|
|
Config.options.battery.low = value;
|
|
}
|
|
}
|
|
ConfigSpinBox {
|
|
text: Translation.tr("Critical warning")
|
|
value: Config.options.battery.critical
|
|
from: 0
|
|
to: 100
|
|
stepSize: 5
|
|
onValueChanged: {
|
|
Config.options.battery.critical = value;
|
|
}
|
|
}
|
|
}
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSwitch {
|
|
text: Translation.tr("Automatic suspend")
|
|
checked: Config.options.battery.automaticSuspend
|
|
onCheckedChanged: {
|
|
Config.options.battery.automaticSuspend = checked;
|
|
}
|
|
StyledToolTip {
|
|
content: Translation.tr("Automatically suspends the system when battery is low")
|
|
}
|
|
}
|
|
ConfigSpinBox {
|
|
text: Translation.tr("Suspend at")
|
|
value: Config.options.battery.suspend
|
|
from: 0
|
|
to: 100
|
|
stepSize: 5
|
|
onValueChanged: {
|
|
Config.options.battery.suspend = value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSection {
|
|
title: Translation.tr("Dock")
|
|
|
|
ConfigSwitch {
|
|
text: Translation.tr("Enable")
|
|
checked: Config.options.dock.enable
|
|
onCheckedChanged: {
|
|
Config.options.dock.enable = checked;
|
|
}
|
|
}
|
|
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSwitch {
|
|
text: Translation.tr("Hover to reveal")
|
|
checked: Config.options.dock.hoverToReveal
|
|
onCheckedChanged: {
|
|
Config.options.dock.hoverToReveal = checked;
|
|
}
|
|
}
|
|
ConfigSwitch {
|
|
text: Translation.tr("Pinned on startup")
|
|
checked: Config.options.dock.pinnedOnStartup
|
|
onCheckedChanged: {
|
|
Config.options.dock.pinnedOnStartup = checked;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSection {
|
|
title: Translation.tr("On-screen display")
|
|
ConfigSpinBox {
|
|
text: Translation.tr("Timeout (ms)")
|
|
value: Config.options.osd.timeout
|
|
from: 100
|
|
to: 3000
|
|
stepSize: 100
|
|
onValueChanged: {
|
|
Config.options.osd.timeout = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSection {
|
|
title: Translation.tr("Overview")
|
|
ConfigSpinBox {
|
|
text: Translation.tr("Scale (%)")
|
|
value: Config.options.overview.scale * 100
|
|
from: 1
|
|
to: 100
|
|
stepSize: 1
|
|
onValueChanged: {
|
|
Config.options.overview.scale = value / 100;
|
|
}
|
|
}
|
|
ConfigRow {
|
|
uniform: true
|
|
ConfigSpinBox {
|
|
text: Translation.tr("Rows")
|
|
value: Config.options.overview.rows
|
|
from: 1
|
|
to: 20
|
|
stepSize: 1
|
|
onValueChanged: {
|
|
Config.options.overview.rows = value;
|
|
}
|
|
}
|
|
ConfigSpinBox {
|
|
text: Translation.tr("Columns")
|
|
value: Config.options.overview.columns
|
|
from: 1
|
|
to: 20
|
|
stepSize: 1
|
|
onValueChanged: {
|
|
Config.options.overview.columns = value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ContentSection {
|
|
title: Translation.tr("Screenshot tool")
|
|
|
|
ConfigSwitch {
|
|
text: Translation.tr('Show regions of potential interest')
|
|
checked: Config.options.screenshotTool.showContentRegions
|
|
onCheckedChanged: {
|
|
Config.options.screenshotTool.showContentRegions = checked;
|
|
}
|
|
StyledToolTip {
|
|
content: Translation.tr("Such regions could be images or parts of the screen that have some containment.\nMight not always be accurate.\nThis is done with an image processing algorithm run locally and no AI is used.")
|
|
}
|
|
}
|
|
}
|
|
}
|