Load configuration from disk

- Add FileIO backend
- Fill login form with saved configuration
This commit is contained in:
2024-02-13 19:26:15 -03:00
parent bd93be6424
commit 2083d39eda
11 changed files with 441 additions and 1 deletions

View File

@@ -0,0 +1,39 @@
pragma Singleton
import QtQuick
import QtCore
import QSpec
QtObject {
property string configDir: StandardPaths.writableLocation(StandardPaths.AppConfigLocation)
property string dataDir: StandardPaths.writableLocation(StandardPaths.AppDataLocation)
property var _json
function load() {
if (FileIO.exists(configDir) === false)
FileIO.mkpath(configDir)
if (FileIO.exists(dataDir) === false)
FileIO.mkpath(dataDir)
try {
_json = JSON.parse(FileIO.read(`${configDir}/config.json`))
} catch (_) {
print(`Failed to read ${configDir}/config.json`)
return false
}
if (_json)
return true
print(`Empty or invalid configuration at ${configDir}/config.json`)
return false
}
function save() {
print(`Saving settings to ${configDir}/config.json`)
FileIO.write(`${configDir}/config.json`, JSON.stringify(_json))
}
}