X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fclientsettings.h;h=f3ac24716ce306bb8995143257a22620d55306bd;hb=311be396946aea8c8e5416f79ca3aebd537b93b0;hp=7962423484dd84e7f7787ca741a0e570bab89bd5;hpb=1177f164f518b8f47b64f6736d176a995d5c17ed;p=quassel.git diff --git a/src/client/clientsettings.h b/src/client/clientsettings.h index 79624234..f3ac2471 100644 --- a/src/client/clientsettings.h +++ b/src/client/clientsettings.h @@ -18,20 +18,18 @@ * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * ***************************************************************************/ -#ifndef _CLIENTSETTINGS_H_ -#define _CLIENTSETTINGS_H_ +#ifndef CLIENTSETTINGS_H +#define CLIENTSETTINGS_H #include "settings.h" #include "types.h" class ClientSettings : public Settings { +public: + virtual ~ClientSettings(); - public: - virtual ~ClientSettings(); - - protected: - ClientSettings(QString group = "General"); - +protected: + ClientSettings(QString group = "General"); }; // Deriving from CoreAccountSettings: @@ -42,35 +40,56 @@ class ClientSettings : public Settings { // Note that you'll get invalid data (and setting is ignored) if you are not connected to a core! class CoreAccountSettings : public ClientSettings { +public: + // stores account-specific data in CoreAccounts/$ACCID/$SUBGROUP/$KEY) + CoreAccountSettings(const QString &subgroup = "General"); - public: - // stores account-specific data in CoreAccounts/$ACCID/$SUBGROUP/$KEY) - CoreAccountSettings(const QString &subgroup = "General"); + virtual void notify(const QString &key, QObject *receiver, const char *slot); - QList knownAccounts(); - AccountId lastAccount(); - void setLastAccount(AccountId); - AccountId autoConnectAccount(); - void setAutoConnectAccount(AccountId); + QList knownAccounts(); + AccountId lastAccount(); + void setLastAccount(AccountId); + AccountId autoConnectAccount(); + void setAutoConnectAccount(AccountId); - void storeAccountData(AccountId id, const QVariantMap &data); - QVariantMap retrieveAccountData(AccountId); - void removeAccount(AccountId); + void storeAccountData(AccountId id, const QVariantMap &data); + QVariantMap retrieveAccountData(AccountId); + void removeAccount(AccountId); - protected: - void setAccountValue(const QString &key, const QVariant &data); - QVariant accountValue(const QString &key, const QVariant &def = QVariant()); + void setJumpKeyMap(const QHash &keyMap); + QHash jumpKeyMap(); - private: - QString _subgroup; +protected: + void setAccountValue(const QString &key, const QVariant &data); + QVariant accountValue(const QString &key, const QVariant &def = QVariant()); + +private: + QString _subgroup; }; -class BufferSettings : public CoreAccountSettings { -public: - BufferSettings(BufferId bufferId); +class NotificationSettings : public ClientSettings { - void setLastSeen(QDateTime); - QDateTime lastSeen(); -}; + public: + enum HighlightNickType { + NoNick = 0x00, + CurrentNick= 0x01, + AllNicks = 0x02 + }; + + NotificationSettings(); + + inline void setValue(const QString &key, const QVariant &data) { setLocalValue(key, data); } + inline QVariant value(const QString &key, const QVariant &def = QVariant()) { return localValue(key, def); } + inline void remove(const QString &key) { removeLocalKey(key); } + void setHighlightList(const QVariantList &highlightList); + QVariantList highlightList(); + + void setHighlightNick(HighlightNickType); + HighlightNickType highlightNick(); + + void setNicksCaseSensitive(bool); + bool nicksCaseSensitive(); + +}; #endif