17#include <Kanoop/kanoopcommon.h>
43 void setStringValue(
const QString& key,
const QString& value) { _settings.setValue(key, value); }
50 QString
getStringValue(
const QString& key)
const {
return _settings.value(key).toString(); }
57 void setVariantValue(
const QString& key,
const QVariant& value) { _settings.setValue(key, value); }
64 QVariant
getVariantValue(
const QString& key)
const {
return _settings.value(key); }
71 void setByteArrayValue(
const QString& key,
const QByteArray& value) { _settings.setValue(key, value); }
78 QByteArray
getByteArrayValue(
const QString& key)
const {
return _settings.value(key).toByteArray(); }
97 QString
lastDirectory(
const QString& extension)
const {
return _settings.value(makeFileTypeKey(KEY_LAST_DIRECTORY, extension)).toString(); }
104 QString
lastDirectory(
int fileType)
const {
return _settings.value(makeFileTypeKey(KEY_LAST_DIRECTORY, fileType)).toString(); }
111 virtual void saveLastDirectory(
const QString& extension,
const QString& value) { _settings.setValue(makeFileTypeKey(KEY_LAST_DIRECTORY, extension), value); }
118 virtual void saveLastDirectory(
int fileType,
const QString& value) { _settings.setValue(makeFileTypeKey(KEY_LAST_DIRECTORY, fileType), value); }
143 static QString
makeStandardKey(
const QString& key) {
return QString(
"%1/%2").arg(KEY_APP).arg(key); }
145 static QString
makeKey(
const QString& key,
const QString& subKey) {
return QString(
"%1/%2").arg(key).arg(subKey); }
Persistent application settings storage backed by QSettings.
static QString makeStandardKey(const QString &key)
Build a settings key prefixed with the application key.
void settingsChanged()
Emitted when any setting value changes.
QString getStringValue(const QString &key) const
Retrieve an arbitrary string value.
static const QString KEY_LAST_DIRECTORY
Settings key for the last-used directory.
static AppSettings * globalInstance()
Return the process-wide AppSettings singleton.
QVariant getVariantValue(const QString &key) const
Retrieve an arbitrary QVariant value.
void setByteArrayValue(const QString &key, const QByteArray &value)
Persist an arbitrary byte array value.
QByteArray getByteArrayValue(const QString &key) const
Retrieve an arbitrary byte array value.
virtual void saveLastDirectory(const QString &extension, const QString &value)
Save the last directory used for a given file extension.
static QString makeFileTypeKey(const QString &key, int fileType)
Build a settings key based on a file-type integer.
static const QString KEY_APP
Settings key for the application group.
QSettings _settings
Underlying QSettings storage.
int maxRecentFiles() const
Return the maximum number of recent files to track.
static void setGlobalInstance(AppSettings *value)
Set the process-wide AppSettings singleton.
static QString makeKey(const QString &key, const QString &subKey)
Build a compound settings key from two parts.
virtual void saveLastDirectory(int fileType, const QString &value)
Save the last directory used for a given file-type integer.
QString lastDirectory(const QString &extension) const
Return the last directory used for a given file extension.
static QString makeObjectKey(const QObject *object)
Build a settings key based on a QObject's identity.
static QString makeFileTypeKey(const QString &key, const QString &extension)
Build a settings key based on a file extension.
void sync()
Synchronize settings file to disk and reload any changed values.
void setMaxRecentFiles(int value)
Set the maximum number of recent files to track.
AppSettings()
Construct an AppSettings object backed by the default QSettings store.
QString lastDirectory(int fileType) const
Return the last directory used for a given file-type integer.
void setStringValue(const QString &key, const QString &value)
Persist an arbitrary string value.
void setVariantValue(const QString &key, const QVariant &value)
Persist an arbitrary QVariant value.
static QString makeCompoundObjectKey(const QString &key, const QObject *object)
Build a compound settings key from a base key and a QObject.
virtual void ensureValidDefaults()
Override to ensure sane default values on first run.