Sort applauncher entries alphabetical Use global fontFamily and font size (Theme.qml) Tons of other small fixes
48 lines
No EOL
2.3 KiB
QML
48 lines
No EOL
2.3 KiB
QML
pragma Singleton
|
|
import QtQuick
|
|
import QtCore
|
|
|
|
QtObject {
|
|
property string weatherCity: "Dinslaken"
|
|
property string profileImage: "https://cdn.discordapp.com/avatars/158005126638993408/de403f05fd7f74bb17e01a9b066a30fa?size=64"
|
|
property bool useFahrenheit
|
|
property string wallpaperFolder: "/home/lysec/nixos/assets/wallpapers" // Default path, make persistent
|
|
property string currentWallpaper: ""
|
|
property string videoPath: "~/Videos/" // Default path, make persistent
|
|
|
|
// Settings persistence
|
|
property var settings: Qt.createQmlObject('import QtCore; Settings { category: "Quickshell" }', this, "settings")
|
|
|
|
Component.onCompleted: {
|
|
loadSettings()
|
|
}
|
|
|
|
function loadSettings() {
|
|
let wc = settings.value("weatherCity", "Dinslaken");
|
|
weatherCity = (wc !== undefined && wc !== null) ? wc : "Dinslaken";
|
|
let pi = settings.value("profileImage", "https://cdn.discordapp.com/avatars/158005126638993408/de403f05fd7f74bb17e01a9b066a30fa?size=64");
|
|
profileImage = (pi !== undefined && pi !== null) ? pi : "https://cdn.discordapp.com/avatars/158005126638993408/de403f05fd7f74bb17e01a9b066a30fa?size=64";
|
|
let tempUnit = settings.value("weatherTempUnit", "celsius")
|
|
useFahrenheit = (tempUnit === "fahrenheit")
|
|
wallpaperFolder = settings.value("wallpaperFolder", "/home/lysec/nixos/assets/wallpapers")
|
|
currentWallpaper = settings.value("currentWallpaper", "")
|
|
videoPath = settings.value("videoPath", "/home/lysec/Videos")
|
|
console.log("Loaded profileImage:", profileImage)
|
|
}
|
|
|
|
function saveSettings() {
|
|
settings.setValue("weatherCity", weatherCity)
|
|
settings.setValue("profileImage", profileImage)
|
|
settings.setValue("weatherTempUnit", useFahrenheit ? "fahrenheit" : "celsius")
|
|
settings.setValue("wallpaperFolder", wallpaperFolder)
|
|
settings.setValue("currentWallpaper", currentWallpaper)
|
|
settings.setValue("videoPath", videoPath)
|
|
settings.sync()
|
|
console.log("Saving profileImage:", profileImage)
|
|
}
|
|
|
|
// Property change handlers to auto-save (all commented out for explicit save only)
|
|
// onWeatherCityChanged: saveSettings()
|
|
// onProfileImageChanged: saveSettings()
|
|
// onUseFahrenheitChanged: saveSettings()
|
|
} |