controlcenter: added more missing options to taskbar panel

This commit is contained in:
ATMDA 2025-11-18 12:10:41 -05:00
parent e72fe3f73b
commit 7ac403d933
2 changed files with 123 additions and 7 deletions

View file

@ -131,6 +131,24 @@ StyledRect {
button.isChecked = root.rootItem.trayRecolour;
}
}
function onScrollWorkspacesChanged() {
if (modelData.propertyName === "scrollWorkspaces") {
button.isChecked = root.rootItem.scrollWorkspaces;
}
}
function onScrollVolumeChanged() {
if (modelData.propertyName === "scrollVolume") {
button.isChecked = root.rootItem.scrollVolume;
}
}
function onScrollBrightnessChanged() {
if (modelData.propertyName === "scrollBrightness") {
button.isChecked = root.rootItem.scrollBrightness;
}
}
}
// Match utilities Toggles radius styling

View file

@ -47,6 +47,16 @@ Item {
property bool workspacesShowWindows: Config.bar.workspaces.showWindows ?? false
property bool workspacesPerMonitor: Config.bar.workspaces.perMonitorWorkspaces ?? true
// Scroll Actions
property bool scrollWorkspaces: Config.bar.scrollActions.workspaces ?? true
property bool scrollVolume: Config.bar.scrollActions.volume ?? true
property bool scrollBrightness: Config.bar.scrollActions.brightness ?? true
// Popouts
property bool popoutActiveWindow: Config.bar.popouts.activeWindow ?? true
property bool popoutTray: Config.bar.popouts.tray ?? true
property bool popoutStatusIcons: Config.bar.popouts.statusIcons ?? true
anchors.fill: parent
Component.onCompleted: {
@ -93,6 +103,16 @@ Item {
Config.bar.workspaces.showWindows = root.workspacesShowWindows;
Config.bar.workspaces.perMonitorWorkspaces = root.workspacesPerMonitor;
// Update scroll actions
Config.bar.scrollActions.workspaces = root.scrollWorkspaces;
Config.bar.scrollActions.volume = root.scrollVolume;
Config.bar.scrollActions.brightness = root.scrollBrightness;
// Update popouts
Config.bar.popouts.activeWindow = root.popoutActiveWindow;
Config.bar.popouts.tray = root.popoutTray;
Config.bar.popouts.statusIcons = root.popoutStatusIcons;
// Update entries from the model (same approach as clock - use provided value if available)
const entries = [];
for (let i = 0; i < entriesModel.count; i++) {
@ -257,7 +277,7 @@ Item {
ColumnLayout {
Layout.fillWidth: true
Layout.alignment: Qt.AlignTop
spacing: Appearance.spacing.small
spacing: Appearance.spacing.normal
SectionContainer {
Layout.fillWidth: true
@ -435,6 +455,47 @@ Item {
}
}
}
SectionContainer {
Layout.fillWidth: true
alignTop: true
StyledText {
text: qsTr("Scroll Actions")
font.pointSize: Appearance.font.size.normal
}
ConnectedButtonGroup {
rootItem: root
options: [
{
label: qsTr("Workspaces"),
propertyName: "scrollWorkspaces",
onToggled: function(checked) {
root.scrollWorkspaces = checked;
root.saveConfig();
}
},
{
label: qsTr("Volume"),
propertyName: "scrollVolume",
onToggled: function(checked) {
root.scrollVolume = checked;
root.saveConfig();
}
},
{
label: qsTr("Brightness"),
propertyName: "scrollBrightness",
onToggled: function(checked) {
root.scrollBrightness = checked;
root.saveConfig();
}
}
]
}
}
}
ColumnLayout {
@ -501,12 +562,6 @@ Item {
]
}
}
}
ColumnLayout {
Layout.fillWidth: true
Layout.alignment: Qt.AlignTop
spacing: Appearance.spacing.small
SectionContainer {
Layout.fillWidth: true
@ -635,6 +690,49 @@ Item {
}
}
}
ColumnLayout {
Layout.fillWidth: true
Layout.alignment: Qt.AlignTop
spacing: Appearance.spacing.normal
SectionContainer {
Layout.fillWidth: true
alignTop: true
StyledText {
text: qsTr("Popouts")
font.pointSize: Appearance.font.size.normal
}
SwitchRow {
label: qsTr("Active window")
checked: root.popoutActiveWindow
onToggled: checked => {
root.popoutActiveWindow = checked;
root.saveConfig();
}
}
SwitchRow {
label: qsTr("Tray")
checked: root.popoutTray
onToggled: checked => {
root.popoutTray = checked;
root.saveConfig();
}
}
SwitchRow {
label: qsTr("Status icons")
checked: root.popoutStatusIcons
onToggled: checked => {
root.popoutStatusIcons = checked;
root.saveConfig();
}
}
}
}
}
}