feat: move taskbar item configs to subpages
This commit is contained in:
parent
75fb84b0f6
commit
329d74af70
9 changed files with 448 additions and 306 deletions
|
|
@ -11,6 +11,7 @@ import qs.modules.nexus.pages.audio
|
|||
import qs.modules.nexus.pages.bluetooth
|
||||
import qs.modules.nexus.pages.panels
|
||||
import qs.modules.nexus.pages.wallandstyle
|
||||
import qs.modules.nexus.pages.panels.taskbar
|
||||
|
||||
QtObject {
|
||||
id: root
|
||||
|
|
@ -97,6 +98,23 @@ QtObject {
|
|||
Component {
|
||||
SidebarPanel {}
|
||||
}
|
||||
|
||||
// Taskbar component sub-pages
|
||||
Component {
|
||||
BarWorkspaces {}
|
||||
}
|
||||
Component {
|
||||
BarActiveWindow {}
|
||||
}
|
||||
Component {
|
||||
BarTray {}
|
||||
}
|
||||
Component {
|
||||
BarStatusIcons {}
|
||||
}
|
||||
Component {
|
||||
BarClock {}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
|
|
|
|||
72
modules/nexus/common/NavRow.qml
Normal file
72
modules/nexus/common/NavRow.qml
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import Caelestia.Config
|
||||
import qs.components
|
||||
import qs.services
|
||||
import qs.modules.nexus.common
|
||||
|
||||
ConnectedRect {
|
||||
id: root
|
||||
|
||||
property alias icon: icon.text
|
||||
property alias label: label.text
|
||||
property alias status: status.text
|
||||
|
||||
signal clicked
|
||||
|
||||
Layout.fillWidth: true
|
||||
implicitHeight: navLayout.implicitHeight + navLayout.anchors.margins * 2
|
||||
|
||||
StateLayer {
|
||||
onClicked: root.clicked()
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
id: navLayout
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.margins: Tokens.padding.medium
|
||||
anchors.leftMargin: Tokens.padding.largeIncreased
|
||||
anchors.rightMargin: Tokens.padding.largeIncreased
|
||||
spacing: Tokens.spacing.medium
|
||||
|
||||
MaterialIcon {
|
||||
id: icon
|
||||
|
||||
color: Colours.palette.m3onSurfaceVariant
|
||||
font: Tokens.font.icon.medium
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: 0
|
||||
|
||||
StyledText {
|
||||
id: label
|
||||
|
||||
Layout.fillWidth: true
|
||||
font: Tokens.font.body.small
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
StyledText {
|
||||
id: status
|
||||
|
||||
Layout.fillWidth: true
|
||||
visible: text
|
||||
color: Colours.palette.m3outline
|
||||
font: Tokens.font.label.small
|
||||
elide: Text.ElideRight
|
||||
animate: true
|
||||
}
|
||||
}
|
||||
|
||||
MaterialIcon {
|
||||
text: "chevron_right"
|
||||
color: Colours.palette.m3onSurfaceVariant
|
||||
font: Tokens.font.icon.medium
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,5 @@
|
|||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import Caelestia.Config
|
||||
import qs.components
|
||||
import qs.services
|
||||
import qs.modules.nexus.common
|
||||
|
||||
PageBase {
|
||||
|
|
@ -23,21 +18,21 @@ PageBase {
|
|||
icon: "dashboard"
|
||||
label: qsTr("Dashboard")
|
||||
status: Config.dashboard.enabled ? qsTr("Enabled") : qsTr("Disabled")
|
||||
target: 1
|
||||
onClicked: root.nState.openSubPage(1)
|
||||
}
|
||||
|
||||
NavRow {
|
||||
icon: "dock_to_bottom"
|
||||
label: qsTr("Taskbar")
|
||||
status: Config.bar.persistent ? qsTr("Always visible") : qsTr("Reveal on hover")
|
||||
target: 2
|
||||
onClicked: root.nState.openSubPage(2)
|
||||
}
|
||||
|
||||
NavRow {
|
||||
icon: "apps"
|
||||
label: qsTr("Launcher")
|
||||
status: Config.launcher.enabled ? qsTr("Enabled") : qsTr("Disabled")
|
||||
target: 3
|
||||
onClicked: root.nState.openSubPage(3)
|
||||
}
|
||||
|
||||
NavRow {
|
||||
|
|
@ -45,70 +40,7 @@ PageBase {
|
|||
icon: "dock_to_right"
|
||||
label: qsTr("Sidebar")
|
||||
status: Config.sidebar.enabled ? qsTr("Enabled") : qsTr("Disabled")
|
||||
target: 4
|
||||
}
|
||||
}
|
||||
|
||||
component NavRow: ConnectedRect {
|
||||
id: navRow
|
||||
|
||||
property alias icon: icon.text
|
||||
property alias label: label.text
|
||||
property alias status: status.text
|
||||
property int target
|
||||
|
||||
Layout.fillWidth: true
|
||||
implicitHeight: navLayout.implicitHeight + navLayout.anchors.topMargin + navLayout.anchors.bottomMargin
|
||||
|
||||
StateLayer {
|
||||
onClicked: root.nState.openSubPage(navRow.target)
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
id: navLayout
|
||||
|
||||
anchors.fill: parent
|
||||
anchors.leftMargin: Tokens.padding.largeIncreased
|
||||
anchors.rightMargin: Tokens.padding.largeIncreased
|
||||
anchors.topMargin: Tokens.padding.medium
|
||||
anchors.bottomMargin: Tokens.padding.medium
|
||||
spacing: Tokens.spacing.medium
|
||||
|
||||
MaterialIcon {
|
||||
id: icon
|
||||
|
||||
color: Colours.palette.m3onSurfaceVariant
|
||||
font: Tokens.font.icon.medium
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
Layout.fillWidth: true
|
||||
spacing: 0
|
||||
|
||||
StyledText {
|
||||
id: label
|
||||
|
||||
Layout.fillWidth: true
|
||||
font: Tokens.font.body.small
|
||||
elide: Text.ElideRight
|
||||
}
|
||||
|
||||
StyledText {
|
||||
id: status
|
||||
|
||||
Layout.fillWidth: true
|
||||
color: Colours.palette.m3outline
|
||||
font: Tokens.font.label.small
|
||||
elide: Text.ElideRight
|
||||
animate: true
|
||||
}
|
||||
}
|
||||
|
||||
MaterialIcon {
|
||||
text: "chevron_right"
|
||||
color: Colours.palette.m3onSurfaceVariant
|
||||
font: Tokens.font.icon.medium
|
||||
}
|
||||
onClicked: root.nState.openSubPage(4)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import Caelestia.Config
|
||||
import qs.components
|
||||
import qs.modules.nexus.common
|
||||
|
||||
PageBase {
|
||||
|
|
@ -53,223 +51,46 @@ PageBase {
|
|||
onMoved: v => GlobalConfig.bar.dragThreshold = v
|
||||
}
|
||||
|
||||
// Workspaces
|
||||
// Components
|
||||
SectionHeader {
|
||||
text: qsTr("Workspaces")
|
||||
text: qsTr("Components")
|
||||
}
|
||||
|
||||
StepperRow {
|
||||
Layout.fillWidth: true
|
||||
NavRow {
|
||||
first: true
|
||||
label: qsTr("Shown")
|
||||
subtext: qsTr("Number of workspaces displayed")
|
||||
value: Config.bar.workspaces.shown
|
||||
from: 1
|
||||
to: 20
|
||||
stepSize: 1
|
||||
onMoved: v => GlobalConfig.bar.workspaces.shown = v
|
||||
icon: "workspaces"
|
||||
label: qsTr("Workspaces")
|
||||
status: qsTr("Indicators, window icons")
|
||||
onClicked: root.nState.openSubPage(5)
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Active indicator")
|
||||
checked: Config.bar.workspaces.activeIndicator
|
||||
onToggled: GlobalConfig.bar.workspaces.activeIndicator = checked
|
||||
NavRow {
|
||||
icon: "web_asset"
|
||||
label: qsTr("Active window")
|
||||
status: qsTr("Title display, popout")
|
||||
onClicked: root.nState.openSubPage(6)
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Active trail")
|
||||
checked: Config.bar.workspaces.activeTrail
|
||||
onToggled: GlobalConfig.bar.workspaces.activeTrail = checked
|
||||
NavRow {
|
||||
icon: "widgets"
|
||||
label: qsTr("Tray")
|
||||
status: qsTr("System tray icons")
|
||||
onClicked: root.nState.openSubPage(7)
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Occupied background")
|
||||
checked: Config.bar.workspaces.occupiedBg
|
||||
onToggled: GlobalConfig.bar.workspaces.occupiedBg = checked
|
||||
NavRow {
|
||||
icon: "signal_cellular_alt"
|
||||
label: qsTr("Status icons")
|
||||
status: qsTr("Visible indicators")
|
||||
onClicked: root.nState.openSubPage(8)
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Show windows")
|
||||
subtext: qsTr("Show icons of open windows on each workspace")
|
||||
checked: Config.bar.workspaces.showWindows
|
||||
onToggled: GlobalConfig.bar.workspaces.showWindows = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Windows on special workspaces")
|
||||
checked: Config.bar.workspaces.showWindowsOnSpecialWorkspaces
|
||||
onToggled: GlobalConfig.bar.workspaces.showWindowsOnSpecialWorkspaces = checked
|
||||
}
|
||||
|
||||
StepperRow {
|
||||
Layout.fillWidth: true
|
||||
label: qsTr("Max window icons")
|
||||
value: Config.bar.workspaces.maxWindowIcons
|
||||
from: 0
|
||||
to: 20
|
||||
stepSize: 1
|
||||
onMoved: v => GlobalConfig.bar.workspaces.maxWindowIcons = v
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
NavRow {
|
||||
last: true
|
||||
text: qsTr("Per-monitor workspaces")
|
||||
subtext: qsTr("Show each monitor's workspaces independently")
|
||||
checked: GlobalConfig.bar.workspaces.perMonitorWorkspaces
|
||||
onToggled: GlobalConfig.bar.workspaces.perMonitorWorkspaces = checked
|
||||
}
|
||||
|
||||
// Active window
|
||||
SectionHeader {
|
||||
text: qsTr("Active window")
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
first: true
|
||||
text: qsTr("Compact")
|
||||
checked: Config.bar.activeWindow.compact
|
||||
onToggled: GlobalConfig.bar.activeWindow.compact = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Inverted")
|
||||
checked: Config.bar.activeWindow.inverted
|
||||
onToggled: GlobalConfig.bar.activeWindow.inverted = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
last: true
|
||||
text: qsTr("Show on hover")
|
||||
checked: Config.bar.activeWindow.showOnHover
|
||||
onToggled: GlobalConfig.bar.activeWindow.showOnHover = checked
|
||||
}
|
||||
|
||||
// Tray
|
||||
SectionHeader {
|
||||
text: qsTr("Tray")
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
first: true
|
||||
text: qsTr("Background")
|
||||
checked: Config.bar.tray.background
|
||||
onToggled: GlobalConfig.bar.tray.background = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Recolour icons")
|
||||
checked: Config.bar.tray.recolour
|
||||
onToggled: GlobalConfig.bar.tray.recolour = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
last: true
|
||||
text: qsTr("Compact")
|
||||
checked: Config.bar.tray.compact
|
||||
onToggled: GlobalConfig.bar.tray.compact = checked
|
||||
}
|
||||
|
||||
// Status icons
|
||||
SectionHeader {
|
||||
text: qsTr("Status icons")
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
first: true
|
||||
text: qsTr("Speakers")
|
||||
checked: Config.bar.status.showAudio
|
||||
onToggled: GlobalConfig.bar.status.showAudio = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Microphone")
|
||||
checked: Config.bar.status.showMicrophone
|
||||
onToggled: GlobalConfig.bar.status.showMicrophone = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Keyboard layout")
|
||||
checked: Config.bar.status.showKbLayout
|
||||
onToggled: GlobalConfig.bar.status.showKbLayout = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Network")
|
||||
checked: Config.bar.status.showNetwork
|
||||
onToggled: GlobalConfig.bar.status.showNetwork = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Wi-Fi")
|
||||
checked: Config.bar.status.showWifi
|
||||
onToggled: GlobalConfig.bar.status.showWifi = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Bluetooth")
|
||||
checked: Config.bar.status.showBluetooth
|
||||
onToggled: GlobalConfig.bar.status.showBluetooth = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Battery")
|
||||
checked: Config.bar.status.showBattery
|
||||
onToggled: GlobalConfig.bar.status.showBattery = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
last: true
|
||||
text: qsTr("Caps lock")
|
||||
checked: Config.bar.status.showLockStatus
|
||||
onToggled: GlobalConfig.bar.status.showLockStatus = checked
|
||||
}
|
||||
|
||||
// Clock
|
||||
SectionHeader {
|
||||
text: qsTr("Clock")
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
first: true
|
||||
text: qsTr("Background")
|
||||
checked: Config.bar.clock.background
|
||||
onToggled: GlobalConfig.bar.clock.background = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Show date")
|
||||
checked: Config.bar.clock.showDate
|
||||
onToggled: GlobalConfig.bar.clock.showDate = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
last: true
|
||||
text: qsTr("Show icon")
|
||||
checked: Config.bar.clock.showIcon
|
||||
onToggled: GlobalConfig.bar.clock.showIcon = checked
|
||||
icon: "schedule"
|
||||
label: qsTr("Clock")
|
||||
status: qsTr("Date, icon, background")
|
||||
onClicked: root.nState.openSubPage(9)
|
||||
}
|
||||
|
||||
// Scroll actions
|
||||
|
|
@ -300,33 +121,5 @@ PageBase {
|
|||
checked: Config.bar.scrollActions.brightness
|
||||
onToggled: GlobalConfig.bar.scrollActions.brightness = checked
|
||||
}
|
||||
|
||||
// Popouts
|
||||
SectionHeader {
|
||||
text: qsTr("Popouts")
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
first: true
|
||||
text: qsTr("Active window")
|
||||
checked: Config.bar.popouts.activeWindow
|
||||
onToggled: GlobalConfig.bar.popouts.activeWindow = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Tray")
|
||||
checked: Config.bar.popouts.tray
|
||||
onToggled: GlobalConfig.bar.popouts.tray = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
last: true
|
||||
text: qsTr("Status icons")
|
||||
checked: Config.bar.popouts.statusIcons
|
||||
onToggled: GlobalConfig.bar.popouts.statusIcons = checked
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
51
modules/nexus/pages/panels/taskbar/BarActiveWindow.qml
Normal file
51
modules/nexus/pages/panels/taskbar/BarActiveWindow.qml
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick.Layouts
|
||||
import Caelestia.Config
|
||||
import qs.modules.nexus.common
|
||||
|
||||
PageBase {
|
||||
id: root
|
||||
|
||||
title: qsTr("Active window")
|
||||
isSubPage: true
|
||||
|
||||
ColumnLayout {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: parent.top
|
||||
width: root.cappedWidth
|
||||
spacing: Tokens.spacing.extraSmall / 2
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
first: true
|
||||
text: qsTr("Compact")
|
||||
checked: Config.bar.activeWindow.compact
|
||||
onToggled: GlobalConfig.bar.activeWindow.compact = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Inverted")
|
||||
checked: Config.bar.activeWindow.inverted
|
||||
onToggled: GlobalConfig.bar.activeWindow.inverted = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Show on hover")
|
||||
subtext: qsTr("Only show the active window title while hovering")
|
||||
checked: Config.bar.activeWindow.showOnHover
|
||||
onToggled: GlobalConfig.bar.activeWindow.showOnHover = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
last: true
|
||||
text: qsTr("Popout on hover")
|
||||
subtext: qsTr("Show a window details popout when hovering")
|
||||
checked: Config.bar.popouts.activeWindow
|
||||
onToggled: GlobalConfig.bar.popouts.activeWindow = checked
|
||||
}
|
||||
}
|
||||
}
|
||||
42
modules/nexus/pages/panels/taskbar/BarClock.qml
Normal file
42
modules/nexus/pages/panels/taskbar/BarClock.qml
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick.Layouts
|
||||
import Caelestia.Config
|
||||
import qs.modules.nexus.common
|
||||
|
||||
PageBase {
|
||||
id: root
|
||||
|
||||
title: qsTr("Clock")
|
||||
isSubPage: true
|
||||
|
||||
ColumnLayout {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: parent.top
|
||||
width: root.cappedWidth
|
||||
spacing: Tokens.spacing.extraSmall / 2
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
first: true
|
||||
text: qsTr("Background")
|
||||
checked: Config.bar.clock.background
|
||||
onToggled: GlobalConfig.bar.clock.background = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Show date")
|
||||
checked: Config.bar.clock.showDate
|
||||
onToggled: GlobalConfig.bar.clock.showDate = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
last: true
|
||||
text: qsTr("Show icon")
|
||||
checked: Config.bar.clock.showIcon
|
||||
onToggled: GlobalConfig.bar.clock.showIcon = checked
|
||||
}
|
||||
}
|
||||
}
|
||||
98
modules/nexus/pages/panels/taskbar/BarStatusIcons.qml
Normal file
98
modules/nexus/pages/panels/taskbar/BarStatusIcons.qml
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick.Layouts
|
||||
import Caelestia.Config
|
||||
import qs.modules.nexus.common
|
||||
|
||||
PageBase {
|
||||
id: root
|
||||
|
||||
title: qsTr("Status icons")
|
||||
isSubPage: true
|
||||
|
||||
ColumnLayout {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: parent.top
|
||||
width: root.cappedWidth
|
||||
spacing: Tokens.spacing.extraSmall / 2
|
||||
|
||||
// Visible icons
|
||||
SectionHeader {
|
||||
first: true
|
||||
text: qsTr("Visible icons")
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
first: true
|
||||
text: qsTr("Speakers")
|
||||
checked: Config.bar.status.showAudio
|
||||
onToggled: GlobalConfig.bar.status.showAudio = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Microphone")
|
||||
checked: Config.bar.status.showMicrophone
|
||||
onToggled: GlobalConfig.bar.status.showMicrophone = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Keyboard layout")
|
||||
checked: Config.bar.status.showKbLayout
|
||||
onToggled: GlobalConfig.bar.status.showKbLayout = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Network")
|
||||
checked: Config.bar.status.showNetwork
|
||||
onToggled: GlobalConfig.bar.status.showNetwork = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Wi-Fi")
|
||||
checked: Config.bar.status.showWifi
|
||||
onToggled: GlobalConfig.bar.status.showWifi = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Bluetooth")
|
||||
checked: Config.bar.status.showBluetooth
|
||||
onToggled: GlobalConfig.bar.status.showBluetooth = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Battery")
|
||||
checked: Config.bar.status.showBattery
|
||||
onToggled: GlobalConfig.bar.status.showBattery = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
last: true
|
||||
text: qsTr("Caps lock")
|
||||
checked: Config.bar.status.showLockStatus
|
||||
onToggled: GlobalConfig.bar.status.showLockStatus = checked
|
||||
}
|
||||
|
||||
// Behaviour
|
||||
SectionHeader {
|
||||
text: qsTr("Behaviour")
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
first: true
|
||||
last: true
|
||||
text: qsTr("Popout on hover")
|
||||
subtext: qsTr("Show a details popout when hovering the status icons")
|
||||
checked: Config.bar.popouts.statusIcons
|
||||
onToggled: GlobalConfig.bar.popouts.statusIcons = checked
|
||||
}
|
||||
}
|
||||
}
|
||||
50
modules/nexus/pages/panels/taskbar/BarTray.qml
Normal file
50
modules/nexus/pages/panels/taskbar/BarTray.qml
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick.Layouts
|
||||
import Caelestia.Config
|
||||
import qs.modules.nexus.common
|
||||
|
||||
PageBase {
|
||||
id: root
|
||||
|
||||
title: qsTr("Tray")
|
||||
isSubPage: true
|
||||
|
||||
ColumnLayout {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: parent.top
|
||||
width: root.cappedWidth
|
||||
spacing: Tokens.spacing.extraSmall / 2
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
first: true
|
||||
text: qsTr("Background")
|
||||
checked: Config.bar.tray.background
|
||||
onToggled: GlobalConfig.bar.tray.background = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Recolour icons")
|
||||
checked: Config.bar.tray.recolour
|
||||
onToggled: GlobalConfig.bar.tray.recolour = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Compact")
|
||||
checked: Config.bar.tray.compact
|
||||
onToggled: GlobalConfig.bar.tray.compact = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
last: true
|
||||
text: qsTr("Popout on hover")
|
||||
subtext: qsTr("Show the tray menu popout when hovering")
|
||||
checked: Config.bar.popouts.tray
|
||||
onToggled: GlobalConfig.bar.popouts.tray = checked
|
||||
}
|
||||
}
|
||||
}
|
||||
86
modules/nexus/pages/panels/taskbar/BarWorkspaces.qml
Normal file
86
modules/nexus/pages/panels/taskbar/BarWorkspaces.qml
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
pragma ComponentBehavior: Bound
|
||||
|
||||
import QtQuick.Layouts
|
||||
import Caelestia.Config
|
||||
import qs.modules.nexus.common
|
||||
|
||||
PageBase {
|
||||
id: root
|
||||
|
||||
title: qsTr("Workspaces")
|
||||
isSubPage: true
|
||||
|
||||
ColumnLayout {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.top: parent.top
|
||||
width: root.cappedWidth
|
||||
spacing: Tokens.spacing.extraSmall / 2
|
||||
|
||||
StepperRow {
|
||||
Layout.fillWidth: true
|
||||
first: true
|
||||
label: qsTr("Shown")
|
||||
subtext: qsTr("Number of workspaces displayed")
|
||||
value: Config.bar.workspaces.shown
|
||||
from: 1
|
||||
to: 20
|
||||
stepSize: 1
|
||||
onMoved: v => GlobalConfig.bar.workspaces.shown = v
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Active indicator")
|
||||
checked: Config.bar.workspaces.activeIndicator
|
||||
onToggled: GlobalConfig.bar.workspaces.activeIndicator = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Active trail")
|
||||
checked: Config.bar.workspaces.activeTrail
|
||||
onToggled: GlobalConfig.bar.workspaces.activeTrail = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Occupied background")
|
||||
checked: Config.bar.workspaces.occupiedBg
|
||||
onToggled: GlobalConfig.bar.workspaces.occupiedBg = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Show windows")
|
||||
subtext: qsTr("Show icons of open windows on each workspace")
|
||||
checked: Config.bar.workspaces.showWindows
|
||||
onToggled: GlobalConfig.bar.workspaces.showWindows = checked
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
text: qsTr("Windows on special workspaces")
|
||||
checked: Config.bar.workspaces.showWindowsOnSpecialWorkspaces
|
||||
onToggled: GlobalConfig.bar.workspaces.showWindowsOnSpecialWorkspaces = checked
|
||||
}
|
||||
|
||||
StepperRow {
|
||||
Layout.fillWidth: true
|
||||
label: qsTr("Max window icons")
|
||||
value: Config.bar.workspaces.maxWindowIcons
|
||||
from: 0
|
||||
to: 20
|
||||
stepSize: 1
|
||||
onMoved: v => GlobalConfig.bar.workspaces.maxWindowIcons = v
|
||||
}
|
||||
|
||||
ToggleRow {
|
||||
Layout.fillWidth: true
|
||||
last: true
|
||||
text: qsTr("Per-monitor workspaces")
|
||||
subtext: qsTr("Show each monitor's workspaces independently")
|
||||
checked: GlobalConfig.bar.workspaces.perMonitorWorkspaces
|
||||
onToggled: GlobalConfig.bar.workspaces.perMonitorWorkspaces = checked
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue