1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 21:42:51 -05:00

escape key handling

This commit is contained in:
bbedward
2025-08-05 09:15:27 -04:00
parent ef9e80bfdf
commit fccaf06baa
11 changed files with 191 additions and 19 deletions

View File

@@ -48,7 +48,7 @@ PanelWindow {
implicitHeight: 600
WlrLayershell.layer: WlrLayershell.Overlay
WlrLayershell.exclusiveZone: -1
WlrLayershell.keyboardFocus: WlrKeyboardFocus.None
WlrLayershell.keyboardFocus: calendarVisible ? WlrKeyboardFocus.Exclusive : WlrKeyboardFocus.None
color: "transparent"
anchors {
@@ -188,6 +188,13 @@ PanelWindow {
anchors.fill: parent
anchors.margins: Theme.spacingM
spacing: Theme.spacingM
focus: true
Keys.onPressed: function(event) {
if (event.key === Qt.Key_Escape) {
calendarVisible = false;
event.accepted = true;
}
}
Row {
width: parent.width

View File

@@ -35,7 +35,7 @@ PanelWindow {
implicitHeight: 500
WlrLayershell.layer: WlrLayershell.Overlay
WlrLayershell.exclusiveZone: -1
WlrLayershell.keyboardFocus: WlrKeyboardFocus.None
WlrLayershell.keyboardFocus: controlCenterVisible ? WlrKeyboardFocus.Exclusive : WlrKeyboardFocus.None
color: "transparent"
anchors {
@@ -84,6 +84,27 @@ PanelWindow {
border.width: 1
antialiasing: true
smooth: true
focus: true
Component.onCompleted: {
if (controlCenterVisible)
forceActiveFocus();
}
Keys.onPressed: function(event) {
if (event.key === Qt.Key_Escape) {
controlCenterVisible = false;
event.accepted = true;
}
}
Connections {
function onControlCenterVisibleChanged() {
if (controlCenterVisible)
Qt.callLater(function() {
parent.forceActiveFocus();
});
}
target: root
}
ColumnLayout {
anchors.fill: parent

View File

@@ -32,7 +32,7 @@ PanelWindow {
implicitHeight: Math.min(Screen.height * 0.8, 400)
WlrLayershell.layer: WlrLayershell.Overlay
WlrLayershell.exclusiveZone: -1
WlrLayershell.keyboardFocus: WlrKeyboardFocus.None
WlrLayershell.keyboardFocus: notificationHistoryVisible ? WlrKeyboardFocus.Exclusive : WlrKeyboardFocus.None
color: "transparent"
anchors {
@@ -106,6 +106,29 @@ PanelWindow {
anchors.fill: parent
anchors.margins: Theme.spacingL
spacing: Theme.spacingM
focus: true
Component.onCompleted: {
if (notificationHistoryVisible)
forceActiveFocus();
}
Keys.onPressed: function(event) {
if (event.key === Qt.Key_Escape) {
notificationHistoryVisible = false;
event.accepted = true;
}
}
Connections {
function onNotificationHistoryVisibleChanged() {
if (notificationHistoryVisible)
Qt.callLater(function() {
contentColumn.forceActiveFocus();
});
else
contentColumn.focus = false;
}
target: root
}
NotificationHeader {
id: notificationHeader

View File

@@ -51,7 +51,7 @@ PanelWindow {
implicitHeight: 600
WlrLayershell.layer: WlrLayershell.Overlay
WlrLayershell.exclusiveZone: -1
WlrLayershell.keyboardFocus: WlrKeyboardFocus.None
WlrLayershell.keyboardFocus: isVisible ? WlrKeyboardFocus.Exclusive : WlrKeyboardFocus.None
color: "transparent"
Ref {
@@ -135,6 +135,27 @@ PanelWindow {
clip: true
antialiasing: true
smooth: true
focus: true
Component.onCompleted: {
if (processListPopout.isVisible)
forceActiveFocus();
}
Keys.onPressed: function(event) {
if (event.key === Qt.Key_Escape) {
processListPopout.hide();
event.accepted = true;
}
}
Connections {
function onIsVisibleChanged() {
if (processListPopout.isVisible)
Qt.callLater(function() {
dropdownContent.forceActiveFocus();
});
}
target: processListPopout
}
ColumnLayout {
anchors.fill: parent

View File

@@ -554,6 +554,7 @@ ScrollView {
Prefs.setProfileImage(path);
visible = false;
}
onDialogClosed: {}
}
}
@@ -574,6 +575,7 @@ ScrollView {
Prefs.setWallpaperPath(path);
visible = false;
}
onDialogClosed: {}
}
}

View File

@@ -47,7 +47,7 @@ PanelWindow {
implicitHeight: 300
WlrLayershell.layer: WlrLayershell.Overlay
WlrLayershell.exclusiveZone: -1
WlrLayershell.keyboardFocus: WlrKeyboardFocus.None
WlrLayershell.keyboardFocus: batteryPopupVisible ? WlrKeyboardFocus.Exclusive : WlrKeyboardFocus.None
color: "transparent"
anchors {
@@ -124,6 +124,27 @@ PanelWindow {
border.width: 1
antialiasing: true
smooth: true
focus: true
Component.onCompleted: {
if (batteryPopupVisible)
forceActiveFocus();
}
Keys.onPressed: function(event) {
if (event.key === Qt.Key_Escape) {
batteryPopupVisible = false;
event.accepted = true;
}
}
Connections {
function onBatteryPopupVisibleChanged() {
if (batteryPopupVisible)
Qt.callLater(function() {
parent.forceActiveFocus();
});
}
target: root
}
Rectangle {
anchors.fill: parent