34 from PyQt5.QtCore import QStandardPaths, QCoreApplication
36 from classes.logger
import log
37 from classes
import info
38 from classes.json_data
import JsonDataStore
44 return QCoreApplication.instance().settings
53 JsonDataStore.__init__(self)
66 def set(self, key, value):
71 for item
in self.
_data:
72 if "setting" in item
and "value" in item:
73 user_values[item[
"setting"].lower()] = item
76 if key
in user_values:
77 user_values[key][
"value"] = value
79 log.warn(
"{} key '{}' not valid. The following are valid: {}".
format(self.
data_type, key,
80 list(self._data.keys())))
88 default_settings, user_settings = {}, {}
97 if os.path.exists(file_path.encode(
'UTF-8')):
100 user_settings = self.read_from_file(file_path)
103 self.
_data = self.merge_settings(default_settings, user_settings)
106 return self.write_to_file(file_path, self.
_data)
116 self.write_to_file(file_path, self.
_data)
def set(self, key, value)
Store setting, but adding isn't allowed.
def load(self)
Load user settings file from disk, merging with allowed settings in default settings file...
def get_all_settings(self)
Get the entire list of settings (with all metadata)
def get_settings()
Get the current QApplication's settings instance.
This class only allows setting pre-existing keys taken from default settings file, and merges user settings on load, assumes default OS dir.
def save(self)
Save user settings file to disk.
default_settings_filename