+QVariant NotificationSettings::value(const QString& key, const QVariant& def) const
+{
+ return localValue(key, def);
+}
+
+void NotificationSettings::remove(const QString& key)
+{
+ removeLocalKey(key);
+}
+
+void NotificationSettings::setHighlightList(const QVariantList& highlightList)
+{
+ setLocalValue("Highlights/CustomList", highlightList);
+}
+
+QVariantList NotificationSettings::highlightList() const
+{
+ return localValue("Highlights/CustomList").toList();
+}
+
+void NotificationSettings::setHighlightNick(NotificationSettings::HighlightNickType highlightNickType)
+{
+ setLocalValue("Highlights/HighlightNick", highlightNickType);
+}
+
+NotificationSettings::HighlightNickType NotificationSettings::highlightNick() const
+{
+ return (NotificationSettings::HighlightNickType)localValue("Highlights/HighlightNick", NoNick).toInt();
+}
+
+void NotificationSettings::setNicksCaseSensitive(bool cs)
+{
+ setLocalValue("Highlights/NicksCaseSensitive", cs);
+}
+
+bool NotificationSettings::nicksCaseSensitive() const
+{
+ return localValue("Highlights/NicksCaseSensitive", false).toBool();
+}
+
+// ========================================
+// TabCompletionSettings
+// ========================================
+
+TabCompletionSettings::TabCompletionSettings()
+ : ClientSettings("TabCompletion")
+{}
+
+void TabCompletionSettings::setCompletionSuffix(const QString& suffix)
+{
+ setLocalValue("CompletionSuffix", suffix);
+}
+
+QString TabCompletionSettings::completionSuffix() const
+{
+ return localValue("CompletionSuffix", ": ").toString();
+}
+
+void TabCompletionSettings::setAddSpaceMidSentence(bool space)
+{
+ setLocalValue("AddSpaceMidSentence", space);
+}
+
+bool TabCompletionSettings::addSpaceMidSentence() const
+{
+ return localValue("AddSpaceMidSentence", false).toBool();
+}
+
+void TabCompletionSettings::setSortMode(SortMode mode)
+{
+ setLocalValue("SortMode", mode);
+}
+
+TabCompletionSettings::SortMode TabCompletionSettings::sortMode() const
+{
+ return static_cast<SortMode>(localValue("SortMode"), LastActivity);
+}
+
+void TabCompletionSettings::setCaseSensitivity(Qt::CaseSensitivity cs)
+{
+ setLocalValue("CaseSensitivity", cs);
+}
+
+Qt::CaseSensitivity TabCompletionSettings::caseSensitivity() const
+{
+ return (Qt::CaseSensitivity)localValue("CaseSensitivity", Qt::CaseInsensitive).toInt();
+}
+
+void TabCompletionSettings::setUseLastSpokenTo(bool use)
+{
+ setLocalValue("UseLastSpokenTo", use);
+}
+
+bool TabCompletionSettings::useLastSpokenTo() const
+{
+ return localValue("UseLastSpokenTo", false).toBool();
+}
+
+// ========================================
+// ItemViewSettings
+// ========================================
+
+ItemViewSettings::ItemViewSettings(const QString& group)
+ : ClientSettings(group)
+{}
+
+bool ItemViewSettings::displayTopicInTooltip() const
+{
+ return localValue("DisplayTopicInTooltip", false).toBool();
+}
+
+bool ItemViewSettings::mouseWheelChangesBuffer() const
+{
+ return localValue("MouseWheelChangesBuffer", false).toBool();
+}