Load configuration from disk
- Add FileIO backend - Fill login form with saved configuration
This commit is contained in:
39
src/Gui/Settings/Settings.qml
Normal file
39
src/Gui/Settings/Settings.qml
Normal 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))
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user