pragma Singleton import QtQuick import QtCore import QSpec.FileIO 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)) } }