1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-06-07 19:59:14 -04:00

fix: ignore keyboard shortcuts of disabled powermenu actions (#2580)

* fix: ignore keyboard shortcuts of disabled powermenu actions

* fix typo when checking for lock shortcut

* ignore shortcuts for hidden powermenu actions in grid navigation

* ignore keyboard shortcuts of disabled actions in lock power menu

* ignore keyboard shortcuts of disabled actions in lock power menu (list navigation)
This commit is contained in:
pathmann
2026-06-07 00:28:38 +02:00
committed by GitHub
parent e7ccb702a3
commit d356957dad
2 changed files with 100 additions and 52 deletions
+58 -30
View File
@@ -352,9 +352,11 @@ DankModal {
break;
case Qt.Key_P:
if (!(event.modifiers & Qt.ControlModifier)) {
const idx = visibleActions.indexOf("poweroff");
startHold("poweroff", idx);
event.accepted = true;
if (visibleActions.includes("poweroff")) {
const idx = visibleActions.indexOf("poweroff");
startHold("poweroff", idx);
event.accepted = true;
}
} else {
selectedIndex = (selectedIndex - 1 + visibleActions.length) % visibleActions.length;
event.accepted = true;
@@ -373,28 +375,40 @@ DankModal {
}
break;
case Qt.Key_R:
startHold("reboot", visibleActions.indexOf("reboot"));
event.accepted = true;
if (visibleActions.includes("reboot")) {
startHold("reboot", visibleActions.indexOf("reboot"));
event.accepted = true;
}
break;
case Qt.Key_X:
startHold("logout", visibleActions.indexOf("logout"));
event.accepted = true;
if (visibleActions.includes("logout")) {
startHold("logout", visibleActions.indexOf("logout"));
event.accepted = true;
}
break;
case Qt.Key_L:
startHold("lock", visibleActions.indexOf("lock"));
event.accepted = true;
if (visibleActions.includes("lock")) {
startHold("lock", visibleActions.indexOf("lock"));
event.accepted = true;
}
break;
case Qt.Key_S:
startHold("suspend", visibleActions.indexOf("suspend"));
event.accepted = true;
if (visibleActions.includes("suspend")) {
startHold("suspend", visibleActions.indexOf("suspend"));
event.accepted = true;
}
break;
case Qt.Key_H:
startHold("hibernate", visibleActions.indexOf("hibernate"));
event.accepted = true;
if (visibleActions.includes("hibernate")) {
startHold("hibernate", visibleActions.indexOf("hibernate"));
event.accepted = true;
}
break;
case Qt.Key_D:
startHold("restart", visibleActions.indexOf("restart"));
event.accepted = true;
if (visibleActions.includes("restart")) {
startHold("restart", visibleActions.indexOf("restart"));
event.accepted = true;
}
break;
}
}
@@ -445,9 +459,11 @@ DankModal {
break;
case Qt.Key_P:
if (!(event.modifiers & Qt.ControlModifier)) {
const idx = visibleActions.indexOf("poweroff");
startHold("poweroff", idx);
event.accepted = true;
if (visibleActions.includes("poweroff")) {
const idx = visibleActions.indexOf("poweroff");
startHold("poweroff", idx);
event.accepted = true;
}
} else {
selectedCol = (selectedCol - 1 + gridColumns) % gridColumns;
selectedIndex = selectedRow * gridColumns + selectedCol;
@@ -469,28 +485,40 @@ DankModal {
}
break;
case Qt.Key_R:
startHold("reboot", visibleActions.indexOf("reboot"));
event.accepted = true;
if (visibleActions.includes("reboot")) {
startHold("reboot", visibleActions.indexOf("reboot"));
event.accepted = true;
}
break;
case Qt.Key_X:
startHold("logout", visibleActions.indexOf("logout"));
event.accepted = true;
if (visibleActions.includes("logout")) {
startHold("logout", visibleActions.indexOf("logout"));
event.accepted = true;
}
break;
case Qt.Key_L:
startHold("lock", visibleActions.indexOf("lock"));
event.accepted = true;
if (visibleActions.includes("lock")) {
startHold("lock", visibleActions.indexOf("lock"));
event.accepted = true;
}
break;
case Qt.Key_S:
startHold("suspend", visibleActions.indexOf("suspend"));
event.accepted = true;
if (visibleActions.includes("suspend")) {
startHold("suspend", visibleActions.indexOf("suspend"));
event.accepted = true;
}
break;
case Qt.Key_H:
startHold("hibernate", visibleActions.indexOf("hibernate"));
event.accepted = true;
if (visibleActions.includes("hibernate")) {
startHold("hibernate", visibleActions.indexOf("hibernate"));
event.accepted = true;
}
break;
case Qt.Key_D:
startHold("restart", visibleActions.indexOf("restart"));
event.accepted = true;
if (visibleActions.includes("restart")) {
startHold("restart", visibleActions.indexOf("restart"));
event.accepted = true;
}
break;
}
}
+42 -22
View File
@@ -279,9 +279,11 @@ Rectangle {
break;
case Qt.Key_P:
if (!(event.modifiers & Qt.ControlModifier)) {
const idx = visibleActions.indexOf("poweroff");
startHold("poweroff", idx);
event.accepted = true;
if (visibleActions.includes("poweroff")) {
const idx = visibleActions.indexOf("poweroff");
startHold("poweroff", idx);
event.accepted = true;
}
} else {
selectedIndex = (selectedIndex - 1 + visibleActions.length) % visibleActions.length;
event.accepted = true;
@@ -300,20 +302,28 @@ Rectangle {
}
break;
case Qt.Key_R:
startHold("reboot", visibleActions.indexOf("reboot"));
event.accepted = true;
if (visibleActions.includes("reboot")) {
startHold("reboot", visibleActions.indexOf("reboot"));
event.accepted = true;
}
break;
case Qt.Key_X:
startHold("logout", visibleActions.indexOf("logout"));
event.accepted = true;
if (visibleActions.includes("logout")) {
startHold("logout", visibleActions.indexOf("logout"));
event.accepted = true;
}
break;
case Qt.Key_S:
startHold("suspend", visibleActions.indexOf("suspend"));
event.accepted = true;
if (visibleActions.includes("suspend")) {
startHold("suspend", visibleActions.indexOf("suspend"));
event.accepted = true;
}
break;
case Qt.Key_H:
startHold("hibernate", visibleActions.indexOf("hibernate"));
event.accepted = true;
if (visibleActions.includes("hibernate")) {
startHold("hibernate", visibleActions.indexOf("hibernate"));
event.accepted = true;
}
break;
}
}
@@ -364,9 +374,11 @@ Rectangle {
break;
case Qt.Key_P:
if (!(event.modifiers & Qt.ControlModifier)) {
const idx = visibleActions.indexOf("poweroff");
startHold("poweroff", idx);
event.accepted = true;
if (visibleActions.includes("poweroff")) {
const idx = visibleActions.indexOf("poweroff");
startHold("poweroff", idx);
event.accepted = true;
}
} else {
selectedCol = (selectedCol - 1 + gridColumns) % gridColumns;
selectedIndex = selectedRow * gridColumns + selectedCol;
@@ -388,20 +400,28 @@ Rectangle {
}
break;
case Qt.Key_R:
startHold("reboot", visibleActions.indexOf("reboot"));
event.accepted = true;
if (visibleActions.includes("reboot")) {
startHold("reboot", visibleActions.indexOf("reboot"));
event.accepted = true;
}
break;
case Qt.Key_X:
startHold("logout", visibleActions.indexOf("logout"));
event.accepted = true;
if (visibleActions.includes("logout")) {
startHold("logout", visibleActions.indexOf("logout"));
event.accepted = true;
}
break;
case Qt.Key_S:
startHold("suspend", visibleActions.indexOf("suspend"));
event.accepted = true;
if (visibleActions.includes("suspend")) {
startHold("suspend", visibleActions.indexOf("suspend"));
event.accepted = true;
}
break;
case Qt.Key_H:
startHold("hibernate", visibleActions.indexOf("hibernate"));
event.accepted = true;
if (visibleActions.includes("hibernate")) {
startHold("hibernate", visibleActions.indexOf("hibernate"));
event.accepted = true;
}
break;
}
}