mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-01-27 15:02:50 -05:00
Thread font loading
This commit is contained in:
@@ -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,15 +46,23 @@ 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
|
||||||
if (!fontsEnumerated) {
|
running: false
|
||||||
enumerateFonts()
|
onTriggered: {
|
||||||
fontsEnumerated = true
|
if (!fontsEnumerated) {
|
||||||
|
enumerateFonts()
|
||||||
|
fontsEnumerated = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
WallpaperCyclingService.cyclingActive
|
||||||
|
fontEnumerationTimer.start()
|
||||||
|
}
|
||||||
|
|
||||||
DankFlickable {
|
DankFlickable {
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
anchors.topMargin: Theme.spacingL
|
anchors.topMargin: Theme.spacingL
|
||||||
@@ -229,7 +237,7 @@ Item {
|
|||||||
parentModal.allowFocusOverride = true
|
parentModal.allowFocusOverride = true
|
||||||
parentModal.shouldHaveFocus = false
|
parentModal.shouldHaveFocus = false
|
||||||
}
|
}
|
||||||
wallpaperBrowser.open()
|
wallpaperBrowserLoader.active = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1841,27 +1849,33 @@ Item {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FileBrowserModal {
|
Loader {
|
||||||
id: wallpaperBrowser
|
id: wallpaperBrowserLoader
|
||||||
|
active: false
|
||||||
|
asynchronous: true
|
||||||
|
|
||||||
browserTitle: "Select Wallpaper"
|
sourceComponent: FileBrowserModal {
|
||||||
browserIcon: "wallpaper"
|
Component.onCompleted: open()
|
||||||
browserType: "wallpaper"
|
browserTitle: "Select Wallpaper"
|
||||||
fileExtensions: ["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.gif", "*.webp"]
|
browserIcon: "wallpaper"
|
||||||
onFileSelected: path => {
|
browserType: "wallpaper"
|
||||||
if (SessionData.perMonitorWallpaper) {
|
fileExtensions: ["*.jpg", "*.jpeg", "*.png", "*.bmp", "*.gif", "*.webp"]
|
||||||
SessionData.setMonitorWallpaper(selectedMonitorName, path)
|
onFileSelected: path => {
|
||||||
} else {
|
if (SessionData.perMonitorWallpaper) {
|
||||||
SessionData.setWallpaper(path)
|
SessionData.setMonitorWallpaper(selectedMonitorName, path)
|
||||||
|
} else {
|
||||||
|
SessionData.setWallpaper(path)
|
||||||
|
}
|
||||||
|
close()
|
||||||
}
|
}
|
||||||
close()
|
onDialogClosed: {
|
||||||
}
|
if (parentModal) {
|
||||||
onDialogClosed: {
|
parentModal.allowFocusOverride = false
|
||||||
if (parentModal) {
|
parentModal.shouldHaveFocus = Qt.binding(() => {
|
||||||
parentModal.allowFocusOverride = false
|
return parentModal.shouldBeVisible
|
||||||
parentModal.shouldHaveFocus = Qt.binding(() => {
|
})
|
||||||
return parentModal.shouldBeVisible
|
}
|
||||||
})
|
Qt.callLater(() => wallpaperBrowserLoader.active = false)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user