X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fclient%2Fclientsettings.cpp;h=f525e3df8553d9e2bc5a10f4404e32c108918334;hp=bade58afeb8e9d032395b862318138d9d0b99b5c;hb=1f21c1f9613031ae263eeed0c4883bfcd5488343;hpb=0a43227b8cd44625f4881cc1545d42c8c8a4876c diff --git a/src/client/clientsettings.cpp b/src/client/clientsettings.cpp index bade58af..f525e3df 100644 --- a/src/client/clientsettings.cpp +++ b/src/client/clientsettings.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2016 by the Quassel Project * + * Copyright (C) 2005-2019 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -18,47 +18,39 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ***************************************************************************/ -#include - #include "clientsettings.h" +#include + #include +#include #ifdef HAVE_SSL -#include +# include #endif #include "client.h" #include "quassel.h" -ClientSettings::ClientSettings(QString g) : Settings(g, Quassel::buildInfo().clientApplicationName) -{ -} - - -ClientSettings::~ClientSettings() -{ -} - +ClientSettings::ClientSettings(QString g) + : Settings(g, Quassel::buildInfo().clientApplicationName) +{} /***********************************************************************************************/ -CoreAccountSettings::CoreAccountSettings(const QString &subgroup) - : ClientSettings("CoreAccounts"), - _subgroup(subgroup) -{ -} +CoreAccountSettings::CoreAccountSettings(QString subgroup) + : ClientSettings("CoreAccounts") + , _subgroup(std::move(subgroup)) +{} - -void CoreAccountSettings::notify(const QString &key, QObject *receiver, const char *slot) +QString CoreAccountSettings::keyForNotify(const QString& key) const { - ClientSettings::notify(QString("%1/%2/%3").arg(Client::currentCoreAccount().accountId().toInt()).arg(_subgroup).arg(key), receiver, slot); + return QString{"%1/%2/%3"}.arg(Client::currentCoreAccount().accountId().toInt()).arg(_subgroup).arg(key); } - -QList CoreAccountSettings::knownAccounts() +QList CoreAccountSettings::knownAccounts() const { QList ids; - foreach(const QString &key, localChildGroups()) { + foreach (const QString& key, localChildGroups()) { AccountId acc = key.toInt(); if (acc.isValid()) ids << acc; @@ -66,59 +58,50 @@ QList CoreAccountSettings::knownAccounts() return ids; } - -AccountId CoreAccountSettings::lastAccount() +AccountId CoreAccountSettings::lastAccount() const { return localValue("LastAccount", 0).toInt(); } - void CoreAccountSettings::setLastAccount(AccountId account) { setLocalValue("LastAccount", account.toInt()); } - -AccountId CoreAccountSettings::autoConnectAccount() +AccountId CoreAccountSettings::autoConnectAccount() const { return localValue("AutoConnectAccount", 0).toInt(); } - void CoreAccountSettings::setAutoConnectAccount(AccountId account) { setLocalValue("AutoConnectAccount", account.toInt()); } - -bool CoreAccountSettings::autoConnectOnStartup() +bool CoreAccountSettings::autoConnectOnStartup() const { return localValue("AutoConnectOnStartup", false).toBool(); } - void CoreAccountSettings::setAutoConnectOnStartup(bool b) { setLocalValue("AutoConnectOnStartup", b); } - -bool CoreAccountSettings::autoConnectToFixedAccount() +bool CoreAccountSettings::autoConnectToFixedAccount() const { return localValue("AutoConnectToFixedAccount", false).toBool(); } - void CoreAccountSettings::setAutoConnectToFixedAccount(bool b) { setLocalValue("AutoConnectToFixedAccount", b); } - -void CoreAccountSettings::storeAccountData(AccountId id, const QVariantMap &data) +void CoreAccountSettings::storeAccountData(AccountId id, const QVariantMap& data) { QString base = QString::number(id.toInt()); - foreach(const QString &key, data.keys()) { + foreach (const QString& key, data.keys()) { setLocalValue(base + "/" + key, data.value(key)); } @@ -126,12 +109,11 @@ void CoreAccountSettings::storeAccountData(AccountId id, const QVariantMap &data removeLocalKey(QString("%1/Connection").arg(base)); } - -QVariantMap CoreAccountSettings::retrieveAccountData(AccountId id) +QVariantMap CoreAccountSettings::retrieveAccountData(AccountId id) const { QVariantMap map; QString base = QString::number(id.toInt()); - foreach(const QString &key, localChildKeys(base)) { + foreach (const QString& key, localChildKeys(base)) { map[key] = localValue(base + "/" + key); } @@ -160,36 +142,32 @@ QVariantMap CoreAccountSettings::retrieveAccountData(AccountId id) return map; } - -void CoreAccountSettings::setAccountValue(const QString &key, const QVariant &value) +void CoreAccountSettings::setAccountValue(const QString& key, const QVariant& value) { if (!Client::currentCoreAccount().isValid()) return; setLocalValue(QString("%1/%2/%3").arg(Client::currentCoreAccount().accountId().toInt()).arg(_subgroup).arg(key), value); } - -QVariant CoreAccountSettings::accountValue(const QString &key, const QVariant &def) +QVariant CoreAccountSettings::accountValue(const QString& key, const QVariant& def) const { if (!Client::currentCoreAccount().isValid()) return QVariant(); return localValue(QString("%1/%2/%3").arg(Client::currentCoreAccount().accountId().toInt()).arg(_subgroup).arg(key), def); } - -void CoreAccountSettings::setJumpKeyMap(const QHash &keyMap) +void CoreAccountSettings::setJumpKeyMap(const QHash& keyMap) { QVariantMap variants; QHash::const_iterator mapIter = keyMap.constBegin(); while (mapIter != keyMap.constEnd()) { - variants[QString::number(mapIter.key())] = qVariantFromValue(mapIter.value()); + variants[QString::number(mapIter.key())] = QVariant::fromValue(mapIter.value()); ++mapIter; } setAccountValue("JumpKeyMap", variants); } - -QHash CoreAccountSettings::jumpKeyMap() +QHash CoreAccountSettings::jumpKeyMap() const { QHash keyMap; QVariantMap variants = accountValue("JumpKeyMap", QVariant()).toMap(); @@ -201,18 +179,16 @@ QHash CoreAccountSettings::jumpKeyMap() return keyMap; } - -void CoreAccountSettings::setBufferViewOverlay(const QSet &viewIds) +void CoreAccountSettings::setBufferViewOverlay(const QSet& viewIds) { QVariantList variants; - foreach(int viewId, viewIds) { - variants << qVariantFromValue(viewId); + foreach (int viewId, viewIds) { + variants << QVariant::fromValue(viewId); } setAccountValue("BufferViewOverlay", variants); } - -QSet CoreAccountSettings::bufferViewOverlay() +QSet CoreAccountSettings::bufferViewOverlay() const { QSet viewIds; QVariantList variants = accountValue("BufferViewOverlay").toList(); @@ -222,205 +198,191 @@ QSet CoreAccountSettings::bufferViewOverlay() return viewIds; } - void CoreAccountSettings::removeAccount(AccountId id) { removeLocalKey(QString("%1").arg(id.toInt())); } - void CoreAccountSettings::clearAccounts() { - foreach(const QString &key, localChildGroups()) - removeLocalKey(key); + foreach (const QString& key, localChildGroups()) + removeLocalKey(key); } - /***********************************************************************************************/ // CoreConnectionSettings: -CoreConnectionSettings::CoreConnectionSettings() : ClientSettings("CoreConnection") {} +CoreConnectionSettings::CoreConnectionSettings() + : ClientSettings("CoreConnection") +{} void CoreConnectionSettings::setNetworkDetectionMode(NetworkDetectionMode mode) { setLocalValue("NetworkDetectionMode", mode); } - -CoreConnectionSettings::NetworkDetectionMode CoreConnectionSettings::networkDetectionMode() +CoreConnectionSettings::NetworkDetectionMode CoreConnectionSettings::networkDetectionMode() const { auto mode = localValue("NetworkDetectionMode", UseQNetworkConfigurationManager).toInt(); if (mode == 0) - mode = UseQNetworkConfigurationManager; // UseSolid is gone, map that to the new default + mode = UseQNetworkConfigurationManager; // UseSolid is gone, map that to the new default return static_cast(mode); } - void CoreConnectionSettings::setAutoReconnect(bool autoReconnect) { setLocalValue("AutoReconnect", autoReconnect); } - -bool CoreConnectionSettings::autoReconnect() +bool CoreConnectionSettings::autoReconnect() const { return localValue("AutoReconnect", true).toBool(); } - void CoreConnectionSettings::setPingTimeoutInterval(int interval) { setLocalValue("PingTimeoutInterval", interval); } - -int CoreConnectionSettings::pingTimeoutInterval() +int CoreConnectionSettings::pingTimeoutInterval() const { return localValue("PingTimeoutInterval", 60).toInt(); } - void CoreConnectionSettings::setReconnectInterval(int interval) { setLocalValue("ReconnectInterval", interval); } - -int CoreConnectionSettings::reconnectInterval() +int CoreConnectionSettings::reconnectInterval() const { return localValue("ReconnectInterval", 60).toInt(); } - /***********************************************************************************************/ // NotificationSettings: -NotificationSettings::NotificationSettings() : ClientSettings("Notification") +NotificationSettings::NotificationSettings() + : ClientSettings("Notification") +{} + +void NotificationSettings::setValue(const QString& key, const QVariant& data) +{ + setLocalValue(key, data); +} + +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) +void NotificationSettings::setHighlightList(const QVariantList& highlightList) { setLocalValue("Highlights/CustomList", highlightList); } - -QVariantList NotificationSettings::highlightList() +QVariantList NotificationSettings::highlightList() const { return localValue("Highlights/CustomList").toList(); } - void NotificationSettings::setHighlightNick(NotificationSettings::HighlightNickType highlightNickType) { setLocalValue("Highlights/HighlightNick", highlightNickType); } - -NotificationSettings::HighlightNickType NotificationSettings::highlightNick() +NotificationSettings::HighlightNickType NotificationSettings::highlightNick() const { return (NotificationSettings::HighlightNickType)localValue("Highlights/HighlightNick", CurrentNick).toInt(); } - void NotificationSettings::setNicksCaseSensitive(bool cs) { setLocalValue("Highlights/NicksCaseSensitive", cs); } - -bool NotificationSettings::nicksCaseSensitive() +bool NotificationSettings::nicksCaseSensitive() const { return localValue("Highlights/NicksCaseSensitive", false).toBool(); } - // ======================================== // TabCompletionSettings // ======================================== -TabCompletionSettings::TabCompletionSettings() : ClientSettings("TabCompletion") -{ -} +TabCompletionSettings::TabCompletionSettings() + : ClientSettings("TabCompletion") +{} - -void TabCompletionSettings::setCompletionSuffix(const QString &suffix) +void TabCompletionSettings::setCompletionSuffix(const QString& suffix) { setLocalValue("CompletionSuffix", suffix); } - -QString TabCompletionSettings::completionSuffix() +QString TabCompletionSettings::completionSuffix() const { return localValue("CompletionSuffix", ": ").toString(); } - void TabCompletionSettings::setAddSpaceMidSentence(bool space) { setLocalValue("AddSpaceMidSentence", space); } - -bool TabCompletionSettings::addSpaceMidSentence() +bool TabCompletionSettings::addSpaceMidSentence() const { return localValue("AddSpaceMidSentence", false).toBool(); } - void TabCompletionSettings::setSortMode(SortMode mode) { setLocalValue("SortMode", mode); } - -TabCompletionSettings::SortMode TabCompletionSettings::sortMode() +TabCompletionSettings::SortMode TabCompletionSettings::sortMode() const { return static_cast(localValue("SortMode"), LastActivity); } - void TabCompletionSettings::setCaseSensitivity(Qt::CaseSensitivity cs) { setLocalValue("CaseSensitivity", cs); } - -Qt::CaseSensitivity TabCompletionSettings::caseSensitivity() +Qt::CaseSensitivity TabCompletionSettings::caseSensitivity() const { return (Qt::CaseSensitivity)localValue("CaseSensitivity", Qt::CaseInsensitive).toInt(); } - void TabCompletionSettings::setUseLastSpokenTo(bool use) { setLocalValue("UseLastSpokenTo", use); } - -bool TabCompletionSettings::useLastSpokenTo() +bool TabCompletionSettings::useLastSpokenTo() const { return localValue("UseLastSpokenTo", false).toBool(); } - // ======================================== // ItemViewSettings // ======================================== -ItemViewSettings::ItemViewSettings(const QString &group) : ClientSettings(group) -{ -} +ItemViewSettings::ItemViewSettings(const QString& group) + : ClientSettings(group) +{} - -bool ItemViewSettings::displayTopicInTooltip() +bool ItemViewSettings::displayTopicInTooltip() const { return localValue("DisplayTopicInTooltip", false).toBool(); } - -bool ItemViewSettings::mouseWheelChangesBuffer() +bool ItemViewSettings::mouseWheelChangesBuffer() const { return localValue("MouseWheelChangesBuffer", false).toBool(); }