X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclientsettings.cpp;h=cbdd4a3f5be2b464feee0fa5a5a15b19569d6281;hp=31200782f0f8e4f721aecac33182f6359ff4c503;hb=3474e986630907fa2a3f4143012ac2a42796609e;hpb=6d55e659fa87565462d7f3e92da594fdcf9708a2 diff --git a/src/client/clientsettings.cpp b/src/client/clientsettings.cpp index 31200782..cbdd4a3f 100644 --- a/src/client/clientsettings.cpp +++ b/src/client/clientsettings.cpp @@ -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 * @@ -20,8 +20,16 @@ #include -#include "client.h" + #include "clientsettings.h" + +#include +#ifdef HAVE_SSL +#include +#endif + + +#include "client.h" #include "quassel.h" ClientSettings::ClientSettings(QString g) : Settings(g, Quassel::buildInfo().clientApplicationName) { @@ -32,8 +40,14 @@ ClientSettings::~ClientSettings() { /***********************************************************************************************/ -CoreAccountSettings::CoreAccountSettings(const QString &subgroup) : ClientSettings("CoreAccounts") { - _subgroup = subgroup; +CoreAccountSettings::CoreAccountSettings(const QString &subgroup) + : ClientSettings("CoreAccounts"), + _subgroup(subgroup) +{ +} + +void CoreAccountSettings::notify(const QString &key, QObject *receiver, const char *slot) { + ClientSettings::notify(QString("%1/%2/%3").arg(Client::currentCoreAccount().toInt()).arg(_subgroup).arg(key), receiver, slot); } QList CoreAccountSettings::knownAccounts() { @@ -112,19 +126,19 @@ NotificationSettings::NotificationSettings() : ClientSettings("Notification") { } void NotificationSettings::setHighlightList(const QVariantList &highlightList) { - setLocalValue("highlightList", highlightList); + setLocalValue("Highlights/CustomList", highlightList); } QVariantList NotificationSettings::highlightList() { - return localValue("highlightList").toList(); + return localValue("Highlights/CustomList").toList(); } void NotificationSettings::setHighlightNick(NotificationSettings::HighlightNickType highlightNickType) { - setLocalValue("highlightNick", highlightNickType); + setLocalValue("Highlights/HighlightNick", highlightNickType); } NotificationSettings::HighlightNickType NotificationSettings::highlightNick() { - return (NotificationSettings::HighlightNickType) localValue("highlightNick", CurrentNick).toInt(); + return (NotificationSettings::HighlightNickType) localValue("Highlights/HighlightNick", CurrentNick).toInt(); } void NotificationSettings::setNicksCaseSensitive(bool cs) { @@ -132,5 +146,98 @@ void NotificationSettings::setNicksCaseSensitive(bool cs) { } bool NotificationSettings::nicksCaseSensitive() { - return localValue("Highlights/NicksCaseSensitive", true).toBool(); + return localValue("Highlights/NicksCaseSensitive", false).toBool(); +} + + +// ======================================== +// KnownHostsSettings +// ======================================== +KnownHostsSettings::KnownHostsSettings() + : ClientSettings("KnownHosts") +{ +} + +QByteArray KnownHostsSettings::knownDigest(const QHostAddress &address) { + return localValue(address.toString(), QByteArray()).toByteArray(); +} + +void KnownHostsSettings::saveKnownHost(const QHostAddress &address, const QByteArray &certDigest) { + setLocalValue(address.toString(), certDigest); +} + +bool KnownHostsSettings::isKnownHost(const QHostAddress &address, const QByteArray &certDigest) { + return certDigest == localValue(address.toString(), QByteArray()).toByteArray(); +} + +#ifdef HAVE_SSL +QByteArray KnownHostsSettings::knownDigest(const QSslSocket *socket) { + return knownDigest(socket->peerAddress()); +} + +void KnownHostsSettings::saveKnownHost(const QSslSocket *socket) { + Q_ASSERT(socket); + saveKnownHost(socket->peerAddress(), socket->peerCertificate().digest()); +} + +bool KnownHostsSettings::isKnownHost(const QSslSocket *socket) { + Q_ASSERT(socket); + return isKnownHost(socket->peerAddress(), socket->peerCertificate().digest()); +} +#endif + + +// ======================================== +// TabCompletionSettings +// ======================================== + +TabCompletionSettings::TabCompletionSettings() : ClientSettings("TabCompletion") { +} + +void TabCompletionSettings::setCompletionSuffix(const QString &suffix) { + setLocalValue("CompletionSuffix", suffix); +} + +QString TabCompletionSettings::completionSuffix() { + return localValue("CompletionSuffix", ": ").toString(); +} + +void TabCompletionSettings::setSortMode(SortMode mode) { + setLocalValue("SortMode", mode); +} + +TabCompletionSettings::SortMode TabCompletionSettings::sortMode() { + return static_cast(localValue("SortMode"), LastActivity); +} + +void TabCompletionSettings::setCaseSensitivity(Qt::CaseSensitivity cs) { + setLocalValue("CaseSensitivity", cs); +} + +Qt::CaseSensitivity TabCompletionSettings::caseSensitivity() { + return (Qt::CaseSensitivity)localValue("CaseSensitivity", Qt::CaseInsensitive).toInt(); +} + +void TabCompletionSettings::setUseLastSpokenTo(bool use) { + setLocalValue("UseLastSpokenTo", use); +} + +bool TabCompletionSettings::useLastSpokenTo() { + return localValue("UseLastSpokenTo", false).toBool(); +} + +// ======================================== +// ItemViewSettings +// ======================================== + +ItemViewSettings::ItemViewSettings(const QString &group) : ClientSettings(group) { + +} + +bool ItemViewSettings::displayTopicInTooltip() { + return localValue("DisplayTopicInTooltip", false).toBool(); +} + +bool ItemViewSettings::mouseWheelChangesBuffer() { + return localValue("MouseWheelChangesBuffer", false).toBool(); }