put right sidebar in loader

This commit is contained in:
end-4
2025-05-14 23:08:17 +02:00
parent 9d6b4e07da
commit 13f10fc0f0
@@ -21,16 +21,26 @@ Scope {
id: sidebarVariants id: sidebarVariants
model: Quickshell.screens model: Quickshell.screens
Loader {
id: sidebarLoader
active: false
property var modelData
onActiveChanged: {
GlobalStates.sidebarRightOpenCount += active ? 1 : -1
}
PanelWindow { PanelWindow {
id: sidebarRoot id: sidebarRoot
visible: false visible: sidebarLoader.active
focusable: true focusable: true
onVisibleChanged: { onVisibleChanged: {
GlobalStates.sidebarRightOpenCount += visible ? 1 : -1 if (!visible) sidebarLoader.active = false
} }
property var modelData function hide() {
sidebarLoader.active = false
}
screen: modelData screen: modelData
exclusiveZone: 0 exclusiveZone: 0
@@ -51,7 +61,7 @@ Scope {
windows: [ sidebarRoot ] windows: [ sidebarRoot ]
active: false active: false
onCleared: () => { onCleared: () => {
if (!active) sidebarRoot.visible = false if (!active) sidebarRoot.hide()
} }
} }
@@ -83,7 +93,7 @@ Scope {
Keys.onPressed: (event) => { Keys.onPressed: (event) => {
if (event.key === Qt.Key_Escape) { if (event.key === Qt.Key_Escape) {
sidebarRoot.visible = false; sidebarRoot.hide();
} }
} }
@@ -192,6 +202,7 @@ Scope {
} }
} }
}
} }
@@ -200,30 +211,22 @@ Scope {
function toggle(): void { function toggle(): void {
for (let i = 0; i < sidebarVariants.instances.length; i++) { for (let i = 0; i < sidebarVariants.instances.length; i++) {
let panelWindow = sidebarVariants.instances[i]; let loader = sidebarVariants.instances[i];
if (panelWindow.modelData.name == Hyprland.focusedMonitor.name) { loader.active = !loader.active;
panelWindow.visible = !panelWindow.visible;
if(panelWindow.visible) Notifications.timeoutAll();
}
} }
} }
function close(): void { function close(): void {
for (let i = 0; i < sidebarVariants.instances.length; i++) { for (let i = 0; i < sidebarVariants.instances.length; i++) {
let panelWindow = sidebarVariants.instances[i]; let loader = sidebarVariants.instances[i];
if (panelWindow.modelData.name == Hyprland.focusedMonitor.name) { loader.active = false;
panelWindow.visible = false;
}
} }
} }
function open(): void { function open(): void {
for (let i = 0; i < sidebarVariants.instances.length; i++) { for (let i = 0; i < sidebarVariants.instances.length; i++) {
let panelWindow = sidebarVariants.instances[i]; let loader = sidebarVariants.instances[i];
if (panelWindow.modelData.name == Hyprland.focusedMonitor.name) { loader.active = true;
panelWindow.visible = true;
if(panelWindow.visible) Notifications.timeoutAll();
}
} }
} }
} }
@@ -234,11 +237,8 @@ Scope {
onPressed: { onPressed: {
for (let i = 0; i < sidebarVariants.instances.length; i++) { for (let i = 0; i < sidebarVariants.instances.length; i++) {
let panelWindow = sidebarVariants.instances[i]; let loader = sidebarVariants.instances[i];
if (panelWindow.modelData.name == Hyprland.focusedMonitor.name) { loader.active = !loader.active;
panelWindow.visible = !panelWindow.visible;
if(panelWindow.visible) Notifications.timeoutAll();
}
} }
} }
} }
@@ -248,11 +248,8 @@ Scope {
onPressed: { onPressed: {
for (let i = 0; i < sidebarVariants.instances.length; i++) { for (let i = 0; i < sidebarVariants.instances.length; i++) {
let panelWindow = sidebarVariants.instances[i]; let loader = sidebarVariants.instances[i];
if (panelWindow.modelData.name == Hyprland.focusedMonitor.name) { loader.active = true;
panelWindow.visible = true;
if(panelWindow.visible) Notifications.timeoutAll();
}
} }
} }
} }
@@ -262,11 +259,8 @@ Scope {
onPressed: { onPressed: {
for (let i = 0; i < sidebarVariants.instances.length; i++) { for (let i = 0; i < sidebarVariants.instances.length; i++) {
let panelWindow = sidebarVariants.instances[i]; let loader = sidebarVariants.instances[i];
if (panelWindow.modelData.name == Hyprland.focusedMonitor.name) { loader.active = false;
panelWindow.visible = false;
if(panelWindow.visible) Notifications.timeoutAll();
}
} }
} }
} }