mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-05-04 19:42:08 -04:00
modals: fix sub-modals and power menu keyboard focus in connected mode
fixes #2346
This commit is contained in:
@@ -38,7 +38,7 @@ Item {
|
||||
|
||||
readonly property string resolvedConnectedBarSide: frameConnectedMode ? preferredConnectedBarSide : ""
|
||||
|
||||
readonly property bool frameOwnsConnectedChrome: frameConnectedMode && resolvedConnectedBarSide !== ""
|
||||
readonly property bool frameOwnsConnectedChrome: frameConnectedMode && resolvedConnectedBarSide !== "" && !allowStacking
|
||||
|
||||
function _dockOccupiesSide(side) {
|
||||
if (!SettingsData.showDock)
|
||||
@@ -200,10 +200,10 @@ Item {
|
||||
}
|
||||
|
||||
function _releaseModalChrome() {
|
||||
if (_chromeClaimId) {
|
||||
ConnectedModeState.releaseDockRetract(_chromeClaimId);
|
||||
_chromeClaimId = "";
|
||||
}
|
||||
if (!_chromeClaimId)
|
||||
return;
|
||||
ConnectedModeState.releaseDockRetract(_chromeClaimId);
|
||||
_chromeClaimId = "";
|
||||
const screenName = _currentScreenName();
|
||||
if (screenName)
|
||||
ConnectedModeState.clearModalState(screenName);
|
||||
|
||||
@@ -259,20 +259,24 @@ DankModal {
|
||||
cancelHold();
|
||||
close();
|
||||
}
|
||||
onOpened: () => {
|
||||
onShouldBeVisibleChanged: {
|
||||
if (!shouldBeVisible)
|
||||
return;
|
||||
holdAction = "";
|
||||
holdActionIndex = -1;
|
||||
holdProgress = 0;
|
||||
showHoldHint = false;
|
||||
updateVisibleActions();
|
||||
const defaultIndex = getDefaultActionIndex();
|
||||
selectedIndex = defaultIndex;
|
||||
if (SettingsData.powerMenuGridLayout) {
|
||||
selectedRow = Math.floor(defaultIndex / gridColumns);
|
||||
selectedCol = defaultIndex % gridColumns;
|
||||
selectedIndex = defaultIndex;
|
||||
} else {
|
||||
selectedIndex = defaultIndex;
|
||||
}
|
||||
}
|
||||
onShouldHaveFocusChanged: {
|
||||
if (!shouldHaveFocus)
|
||||
return;
|
||||
Qt.callLater(() => modalFocusScope.forceActiveFocus());
|
||||
}
|
||||
onDialogClosed: () => {
|
||||
|
||||
Reference in New Issue
Block a user