1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-04-03 20:32:07 -04:00

dankbar: Fix widget context focus w/Autohide enabled

This commit is contained in:
purian23
2026-02-09 19:42:27 -05:00
parent 8c01deba86
commit a168b12bb2
4 changed files with 84 additions and 0 deletions

View File

@@ -37,10 +37,18 @@ PanelWindow {
desktopEntry = entry || null;
visible = true;
if (targetScreen) {
TrayMenuManager.registerMenu(targetScreen.name, root);
}
}
function close() {
visible = false;
if (root.screen) {
TrayMenuManager.unregisterMenu(root.screen.name);
}
}
screen: null
@@ -56,6 +64,19 @@ PanelWindow {
bottom: true
}
Component.onDestruction: {
if (root.screen) {
TrayMenuManager.unregisterMenu(root.screen.name);
}
}
Connections {
target: PopoutManager
function onPopoutOpening() {
root.close();
}
}
Rectangle {
id: menuContainer

View File

@@ -111,10 +111,18 @@ BasePill {
edge = barEdge ?? "top";
visible = true;
if (contextMenuWindow.screen) {
TrayMenuManager.registerMenu(contextMenuWindow.screen.name, contextMenuWindow);
}
}
function closeMenu() {
visible = false;
if (contextMenuWindow.screen) {
TrayMenuManager.unregisterMenu(contextMenuWindow.screen.name);
}
}
screen: null
@@ -130,6 +138,19 @@ BasePill {
bottom: true
}
Component.onDestruction: {
if (contextMenuWindow.screen) {
TrayMenuManager.unregisterMenu(contextMenuWindow.screen.name);
}
}
Connections {
target: PopoutManager
function onPopoutOpening() {
contextMenuWindow.closeMenu();
}
}
MouseArea {
anchors.fill: parent
acceptedButtons: Qt.LeftButton | Qt.RightButton | Qt.MiddleButton

View File

@@ -161,10 +161,18 @@ BasePill {
edge = barEdge ?? "top";
visible = true;
if (contextMenuWindow.screen) {
TrayMenuManager.registerMenu(contextMenuWindow.screen.name, contextMenuWindow);
}
}
function closeMenu() {
visible = false;
if (contextMenuWindow.screen) {
TrayMenuManager.unregisterMenu(contextMenuWindow.screen.name);
}
}
screen: null
@@ -180,6 +188,19 @@ BasePill {
bottom: true
}
Component.onDestruction: {
if (contextMenuWindow.screen) {
TrayMenuManager.unregisterMenu(contextMenuWindow.screen.name);
}
}
Connections {
target: PopoutManager
function onPopoutOpening() {
contextMenuWindow.closeMenu();
}
}
MouseArea {
anchors.fill: parent
z: 0

View File

@@ -855,12 +855,20 @@ Item {
edge = barEdge ?? "top";
isVisible = true;
visible = true;
if (screen) {
TrayMenuManager.registerMenu(screen.name, contextMenuWindow);
}
}
function close() {
isVisible = false;
visible = false;
windowContextMenuLoader.active = false;
if (screen) {
TrayMenuManager.unregisterMenu(screen.name);
}
}
implicitWidth: 100
@@ -879,6 +887,19 @@ Item {
bottom: true
}
Component.onDestruction: {
if (screen) {
TrayMenuManager.unregisterMenu(screen.name);
}
}
Connections {
target: PopoutManager
function onPopoutOpening() {
contextMenuWindow.close();
}
}
MouseArea {
anchors.fill: parent
onClicked: contextMenuWindow.close()