X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclientsettings.h;h=40e890dbcd220fa1dbc150e4d612d6a57c2fd710;hp=f3ac24716ce306bb8995143257a22620d55306bd;hb=f9c4ee168a794add5261a7f1b6abb518f5987f8c;hpb=a3aaabf6254c8c5439af8982cc613c4ced3f50ed diff --git a/src/client/clientsettings.h b/src/client/clientsettings.h index f3ac2471..40e890db 100644 --- a/src/client/clientsettings.h +++ b/src/client/clientsettings.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-08 by the Quassel Project * + * Copyright (C) 2005-09 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -22,8 +22,12 @@ #define CLIENTSETTINGS_H #include "settings.h" + #include "types.h" +class QHostAddress; +class QSslSocket; + class ClientSettings : public Settings { public: virtual ~ClientSettings(); @@ -32,6 +36,10 @@ protected: ClientSettings(QString group = "General"); }; +// ======================================== +// CoreAccountSettings +// ======================================== + // Deriving from CoreAccountSettings: // MySettings() : CoreAccountSettings("MyGroup") {}; // Then use accountValue() / setAccountValue() to retrieve/store data associated to the currently @@ -51,6 +59,12 @@ public: void setLastAccount(AccountId); AccountId autoConnectAccount(); void setAutoConnectAccount(AccountId); + bool autoConnectOnStartup(); + void setAutoConnectOnStartup(bool); + bool autoConnectToFixedAccount(); + void setAutoConnectToFixedAccount(bool); + + void clearAccounts(); void storeAccountData(AccountId id, const QVariantMap &data); QVariantMap retrieveAccountData(AccountId); @@ -59,7 +73,9 @@ public: void setJumpKeyMap(const QHash &keyMap); QHash jumpKeyMap(); -protected: + void setBufferViewOverlay(const QSet &viewIds); + QSet bufferViewOverlay(); + void setAccountValue(const QString &key, const QVariant &data); QVariant accountValue(const QString &key, const QVariant &def = QVariant()); @@ -67,29 +83,96 @@ private: QString _subgroup; }; +// ======================================== +// NotificationSettings +// ======================================== class NotificationSettings : public ClientSettings { +public: + enum HighlightNickType { + NoNick = 0x00, + CurrentNick= 0x01, + AllNicks = 0x02 + }; - 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(); +}; + +// ======================================== +// CoreConnectionSettings +// ======================================== + +class CoreConnectionSettings : public ClientSettings { +public: + enum NetworkDetectionMode { + UseSolid, + UsePingTimeout, + NoActiveDetection + }; + + CoreConnectionSettings(); + + void setNetworkDetectionMode(NetworkDetectionMode mode); + NetworkDetectionMode networkDetectionMode(); + + void setAutoReconnect(bool autoReconnect); + bool autoReconnect(); - NotificationSettings(); + void setPingTimeoutInterval(int interval); + int pingTimeoutInterval(); - 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 setReconnectInterval(int interval); + int reconnectInterval(); +}; + +// ======================================== +// TabCompletionSettings +// ======================================== + +class TabCompletionSettings : public ClientSettings { +public: + enum SortMode { + Alphabetical, + LastActivity + }; - void setHighlightList(const QVariantList &highlightList); - QVariantList highlightList(); + TabCompletionSettings(); - void setHighlightNick(HighlightNickType); - HighlightNickType highlightNick(); + void setCompletionSuffix(const QString &); + QString completionSuffix(); - void setNicksCaseSensitive(bool); - bool nicksCaseSensitive(); + void setSortMode(SortMode); + SortMode sortMode(); + + void setCaseSensitivity(Qt::CaseSensitivity); + Qt::CaseSensitivity caseSensitivity(); + + void setUseLastSpokenTo(bool); + bool useLastSpokenTo(); }; + +// ======================================== +// ItemViewSettings +// ======================================== +class ItemViewSettings : public ClientSettings { + public: + ItemViewSettings(const QString& group = "ItemViews"); + + bool displayTopicInTooltip(); + bool mouseWheelChangesBuffer(); +}; + #endif