+// ========================================
+// NotificationSettings
+// ========================================
+class NotificationSettings : public ClientSettings {
+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();
+};
+
+
+// ========================================
+// KnownHostsSettings
+// ========================================
+class KnownHostsSettings : public ClientSettings {
+public:
+ KnownHostsSettings();
+
+ QByteArray knownDigest(const QHostAddress &address);
+ void saveKnownHost(const QHostAddress &address, const QByteArray &certDigest);
+ bool isKnownHost(const QHostAddress &address, const QByteArray &certDigest);
+
+#ifdef HAVE_SSL
+ QByteArray knownDigest(const QSslSocket *socket);
+ void saveKnownHost(const QSslSocket *socket);
+ bool isKnownHost(const QSslSocket *socket);
+#endif
+};
+
+// ========================================
+// TabCompletionSettings
+// ========================================
+
+class TabCompletionSettings : public ClientSettings {
+public:
+ enum SortMode {
+ Alphabetical,
+ LastActivity
+ };
+
+ TabCompletionSettings();
+
+ void setCompletionSuffix(const QString &);
+ QString completionSuffix();