1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-05 21:15:38 -05:00

Fix keyboard navi in file browser

This commit is contained in:
bbedward
2025-10-07 00:14:56 -04:00
parent abb3c40697
commit 43970d34aa
4 changed files with 42 additions and 36 deletions

View File

@@ -712,7 +712,13 @@ Singleton {
return `#${invR}${invG}${invB}`;
}
property string baseLogoColor: ""
property string baseLogoColor: {
if (typeof SettingsData === "undefined") return ""
const colorOverride = SettingsData.launcherLogoColorOverride
if (!colorOverride || colorOverride === "") return ""
return colorOverride
}
property string effectiveLogoColor: {
if (typeof SettingsData === "undefined") return ""
@@ -723,10 +729,6 @@ Singleton {
return colorOverride
}
if (baseLogoColor === "") {
baseLogoColor = colorOverride
}
if (typeof SessionData !== "undefined" && SessionData.isLightMode) {
return invertHex(baseLogoColor)
}
@@ -734,18 +736,7 @@ Singleton {
return baseLogoColor
}
onIsLightModeChanged: {
if (typeof SettingsData !== "undefined" && SettingsData.launcherLogoColorInvertOnMode && baseLogoColor === "") {
baseLogoColor = SettingsData.launcherLogoColorOverride
}
}
Connections {
target: typeof SettingsData !== "undefined" ? SettingsData : null
function onLauncherLogoColorOverrideChanged() {
baseLogoColor = SettingsData.launcherLogoColorOverride
}
}
Process {
id: matugenCheck

View File

@@ -35,6 +35,7 @@ DankModal {
property bool weAvailable: false
property string wePath: ""
property bool weMode: false
property var parentModal: null
signal fileSelected(string path)
@@ -131,6 +132,8 @@ DankModal {
objectName: "fileBrowserModal"
allowStacking: true
closeOnEscapeKey: false
shouldHaveFocus: shouldBeVisible
Component.onCompleted: {
currentPath = getLastPath()
}
@@ -165,10 +168,23 @@ DankModal {
visible: false
onBackgroundClicked: close()
onOpened: {
modalFocusScope.forceActiveFocus()
if (parentModal) {
parentModal.shouldHaveFocus = false
parentModal.allowFocusOverride = true
}
Qt.callLater(() => {
if (contentLoader && contentLoader.item) {
contentLoader.item.forceActiveFocus()
}
})
}
modalFocusScope.Keys.onPressed: function (event) {
keyboardController.handleKey(event)
onDialogClosed: {
if (parentModal) {
parentModal.allowFocusOverride = false
parentModal.shouldHaveFocus = Qt.binding(() => {
return parentModal.shouldBeVisible
})
}
}
onVisibleChanged: {
if (visible) {
@@ -455,6 +471,16 @@ DankModal {
Item {
anchors.fill: parent
Keys.onPressed: event => {
keyboardController.handleKey(event)
}
onVisibleChanged: {
if (visible) {
forceActiveFocus()
}
}
Column {
anchors.fill: parent
anchors.margins: Theme.spacingM

View File

@@ -78,6 +78,7 @@ DankModal {
id: profileBrowser
allowStacking: true
parentModal: settingsModal
browserTitle: "Select Profile Image"
browserIcon: "person"
browserType: "profile"
@@ -87,12 +88,6 @@ DankModal {
close();
}
onDialogClosed: () => {
if (settingsModal) {
settingsModal.allowFocusOverride = false;
settingsModal.shouldHaveFocus = Qt.binding(() => {
return settingsModal.shouldBeVisible;
});
}
allowStacking = true;
}
}
@@ -101,6 +96,7 @@ DankModal {
id: wallpaperBrowser
allowStacking: true
parentModal: settingsModal
browserTitle: "Select Wallpaper"
browserIcon: "wallpaper"
browserType: "wallpaper"

View File

@@ -233,10 +233,6 @@ Item {
anchors.fill: parent
cursorShape: Qt.PointingHandCursor
onClicked: {
if (parentModal) {
parentModal.allowFocusOverride = true
parentModal.shouldHaveFocus = false
}
wallpaperBrowserLoader.active = true
}
}
@@ -1855,7 +1851,10 @@ Item {
asynchronous: true
sourceComponent: FileBrowserModal {
Component.onCompleted: open()
parentModal: personalizationTab.parentModal
Component.onCompleted: {
open()
}
browserTitle: "Select Wallpaper"
browserIcon: "wallpaper"
browserType: "wallpaper"
@@ -1869,12 +1868,6 @@ Item {
close()
}
onDialogClosed: {
if (parentModal) {
parentModal.allowFocusOverride = false
parentModal.shouldHaveFocus = Qt.binding(() => {
return parentModal.shouldBeVisible
})
}
Qt.callLater(() => wallpaperBrowserLoader.active = false)
}
}