summaryrefslogtreecommitdiffstats
path: root/libinstance
diff options
context:
space:
mode:
Diffstat (limited to 'libinstance')
-rw-r--r--libinstance/include/instance.h12
-rw-r--r--libinstance/src/instance.cpp7
2 files changed, 19 insertions, 0 deletions
diff --git a/libinstance/include/instance.h b/libinstance/include/instance.h
index fcf5fa97..5a9a7b02 100644
--- a/libinstance/include/instance.h
+++ b/libinstance/include/instance.h
@@ -19,6 +19,8 @@
#include <QObject>
#include <QDateTime>
+#include <settingsobject.h>
+
#include "inifile.h"
#include "libinstance_config.h"
@@ -280,6 +282,16 @@ public:
*/
virtual void updateCurrentVersion(bool keepCurrent = false) = 0;
+
+ //// Settings System ////
+
+ /*!
+ * \brief Gets this instance's settings object.
+ * This settings object stores instance-specific settings.
+ * \return A pointer to this instance's settings object.
+ */
+ virtual SettingsObject &settings();
+
protected:
/*!
* \brief Gets the value of the given field in the instance's config file.
diff --git a/libinstance/src/instance.cpp b/libinstance/src/instance.cpp
index ac0eca24..85b43640 100644
--- a/libinstance/src/instance.cpp
+++ b/libinstance/src/instance.cpp
@@ -17,6 +17,8 @@
#include <QFileInfo>
+#include "settingsobject.h"
+
#include "pathutils.h"
Instance::Instance(const QString &rootDir, QObject *parent) :
@@ -104,3 +106,8 @@ void Instance::setField(const QString &name, QVariant val)
{
config.set(name, val);
}
+
+SettingsObject &Instance::settings()
+{
+ return *globalSettings;
+}