aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorConfuSomu2023-08-15 20:16:44 -0400
committerConfuSomu2023-08-15 20:16:44 -0400
commit5066f9908772d1838d73834eb5bcb6f8f7858fe1 (patch)
treea8abe11ccfb96033171985fcce6e6f86b8699dd9 /src
parentdef9f251739e9a0d6d0ff1c98dc4562dade3e9ef (diff)
downloadActorViewer-5066f9908772d1838d73834eb5bcb6f8f7858fe1.tar
ActorViewer-5066f9908772d1838d73834eb5bcb6f8f7858fe1.tar.gz
ActorViewer-5066f9908772d1838d73834eb5bcb6f8f7858fe1.zip
Create convinence method for reading settings
This method avoids having to create a SettingsInterface object that will be only used to read a small number of settings before being destroyed. It creates a static object that persists between invocations. Through the use of QSettings for reading a value, we are assured of always reading the most up to date version of settings as this class guaranties that changes done to one QSettings object will be immediately visible in other QSettings objects.
Diffstat (limited to 'src')
-rw-r--r--src/settings_interface.cpp5
-rw-r--r--src/settings_interface.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/src/settings_interface.cpp b/src/settings_interface.cpp
index e14da92..17c5991 100644
--- a/src/settings_interface.cpp
+++ b/src/settings_interface.cpp
@@ -19,6 +19,11 @@ const QVariant SettingsInterface::read_setting(const QString &key) {
return qt_settings.value(key, default_setting(key));
}
+const QVariant SettingsInterface::quick_read_setting(const QString &key) {
+ static SettingsInterface settings;
+ return settings.read_setting(key);
+}
+
// Write a new value for key. Isn't written to disk until you use SettingsInterface::commit().
void SettingsInterface::write_setting(const QString &key, const QVariant &value) {
if (not modified) modified = new QHash<QString, QVariant>;
diff --git a/src/settings_interface.h b/src/settings_interface.h
index e3935d0..fa9386c 100644
--- a/src/settings_interface.h
+++ b/src/settings_interface.h
@@ -28,6 +28,7 @@ class SettingsInterface {
public:
~SettingsInterface();
const QVariant read_setting(const QString &key);
+ static const QVariant quick_read_setting(const QString &key);
void write_setting(const QString &key, const QVariant &value);
void clear_setting(const QString &key);
void clear_all();