X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Fuisettings.h;h=c90f908914d4edcc7f5593c4d8852afc03ae6276;hp=c1db196ea4523ba6466a632266be0e204a8c293f;hb=3a3e844f9fcfd12235a0086af75ecd503b621ef4;hpb=9fc57dc2c000e80fb8bd746a090e2e8210e1278e diff --git a/src/uisupport/uisettings.h b/src/uisupport/uisettings.h index c1db196e..c90f9089 100644 --- a/src/uisupport/uisettings.h +++ b/src/uisupport/uisettings.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2013 by the Quassel Project * + * Copyright (C) 2005-2018 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,13 +18,14 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#ifndef UISETTINGS_H -#define UISETTINGS_H +#pragma once + +#include "uisupport-export.h" #include "clientsettings.h" #include "uistyle.h" -class UiSettings : public ClientSettings +class UISUPPORT_EXPORT UiSettings : public ClientSettings { public: UiSettings(const QString &group = "Ui"); @@ -32,11 +33,19 @@ public: virtual inline void setValue(const QString &key, const QVariant &data) { setLocalValue(key, data); } virtual inline QVariant value(const QString &key, const QVariant &def = QVariant()) { return localValue(key, def); } + /** + * Gets if a value exists in settings + * + * @param[in] key ID of local settings key + * @returns True if key exists in settings, otherwise false + */ + virtual inline bool valueExists(const QString &key) { return localKeyExists(key); } + inline void remove(const QString &key) { removeLocalKey(key); } }; -class UiStyleSettings : public UiSettings +class UISUPPORT_EXPORT UiStyleSettings : public UiSettings { public: UiStyleSettings(); @@ -50,13 +59,13 @@ public: }; -class SessionSettings : public UiSettings +class UISUPPORT_EXPORT SessionSettings : public UiSettings { public: - SessionSettings(const QString &sessionId, const QString &group = "Session"); + SessionSettings(QString sessionId, const QString &group = "Session"); - virtual void setValue(const QString &key, const QVariant &data); - virtual QVariant value(const QString &key, const QVariant &def = QVariant()); + void setValue(const QString &key, const QVariant &data) override; + QVariant value(const QString &key, const QVariant &def = QVariant()) override; void removeKey(const QString &key); void removeSession(); @@ -74,7 +83,7 @@ private: }; -class ShortcutSettings : public UiSettings +class UISUPPORT_EXPORT ShortcutSettings : public UiSettings { public: ShortcutSettings(); @@ -87,6 +96,3 @@ public: void saveShortcut(const QString &name, const QKeySequence &shortcut); QKeySequence loadShortcut(const QString &name); }; - - -#endif