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

Thread font loading

This commit is contained in:
bbedward
2025-10-06 23:51:49 -04:00
parent 2757a41102
commit abb3c40697

View File

@@ -12,7 +12,7 @@ import qs.Widgets
Item { Item {
id: personalizationTab id: personalizationTab
property alias wallpaperBrowser: wallpaperBrowser property var wallpaperBrowser: wallpaperBrowserLoader.item
property var parentModal: null property var parentModal: null
property var cachedFontFamilies: [] property var cachedFontFamilies: []
property bool fontsEnumerated: false property bool fontsEnumerated: false
@@ -46,14 +46,22 @@ Item {
cachedFontFamilies = fonts.concat(rootFamilies.sort()) cachedFontFamilies = fonts.concat(rootFamilies.sort())
} }
Component.onCompleted: { Timer {
// Access WallpaperCyclingService to ensure it's initialized id: fontEnumerationTimer
WallpaperCyclingService.cyclingActive interval: 50
running: false
onTriggered: {
if (!fontsEnumerated) { if (!fontsEnumerated) {
enumerateFonts() enumerateFonts()
fontsEnumerated = true fontsEnumerated = true
} }
} }
}
Component.onCompleted: {
WallpaperCyclingService.cyclingActive
fontEnumerationTimer.start()
}
DankFlickable { DankFlickable {
anchors.fill: parent anchors.fill: parent
@@ -229,7 +237,7 @@ Item {
parentModal.allowFocusOverride = true parentModal.allowFocusOverride = true
parentModal.shouldHaveFocus = false parentModal.shouldHaveFocus = false
} }
wallpaperBrowser.open() wallpaperBrowserLoader.active = true
} }
} }
} }
@@ -1841,9 +1849,13 @@ Item {
} }
} }
FileBrowserModal { Loader {
id: wallpaperBrowser id: wallpaperBrowserLoader
active: false
asynchronous: true
sourceComponent: FileBrowserModal {
Component.onCompleted: open()
browserTitle: "Select Wallpaper" browserTitle: "Select Wallpaper"
browserIcon: "wallpaper" browserIcon: "wallpaper"
browserType: "wallpaper" browserType: "wallpaper"
@@ -1863,6 +1875,8 @@ Item {
return parentModal.shouldBeVisible return parentModal.shouldBeVisible
}) })
} }
Qt.callLater(() => wallpaperBrowserLoader.active = false)
}
} }
} }
} }