From 64bc0567e3fe373ab996a23ed690ec5631bb417f Mon Sep 17 00:00:00 2001 From: Manuel Nickschas Date: Thu, 6 Aug 2009 18:52:46 +0200 Subject: [PATCH] Add and use ItemViewSettings Also, this allows us to use UiStyleSettings with a subgroup. --- src/client/clientsettings.cpp | 16 ++++++++++++++++ src/client/clientsettings.h | 11 +++++++++++ src/client/networkmodel.cpp | 14 ++++++-------- src/qtui/qtuisettings.cpp | 4 ++-- src/qtui/qtuisettings.h | 2 +- src/uisupport/uisettings.cpp | 4 ++-- src/uisupport/uisettings.h | 9 +++------ src/uisupport/uistyle.cpp | 12 ++++++------ src/uisupport/uistyle.h | 2 +- 9 files changed, 48 insertions(+), 26 deletions(-) diff --git a/src/client/clientsettings.cpp b/src/client/clientsettings.cpp index 217b673e..cbdd4a3f 100644 --- a/src/client/clientsettings.cpp +++ b/src/client/clientsettings.cpp @@ -225,3 +225,19 @@ void TabCompletionSettings::setUseLastSpokenTo(bool 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(); +} diff --git a/src/client/clientsettings.h b/src/client/clientsettings.h index 0b1b3d54..3ae810e6 100644 --- a/src/client/clientsettings.h +++ b/src/client/clientsettings.h @@ -148,4 +148,15 @@ public: }; +// ======================================== +// ItemViewSettings +// ======================================== +class ItemViewSettings : public ClientSettings { + public: + ItemViewSettings(const QString& group = "ItemViews"); + + bool displayTopicInTooltip(); + bool mouseWheelChangesBuffer(); +}; + #endif diff --git a/src/client/networkmodel.cpp b/src/client/networkmodel.cpp index b5c21c41..87801d42 100644 --- a/src/client/networkmodel.cpp +++ b/src/client/networkmodel.cpp @@ -24,14 +24,12 @@ #include // for Qt::escape() #include "buffermodel.h" +#include "buffersettings.h" #include "client.h" -#include "signalproxy.h" -#include "network.h" +#include "clientsettings.h" #include "ircchannel.h" - -#include "buffersettings.h" - -#include "util.h" // get rid of this (needed for isChannelName) +#include "network.h" +#include "signalproxy.h" /***************************************** * Network Items @@ -490,8 +488,8 @@ QString ChannelBufferItem::toolTip(int column) const { toolTip.append(tr("Mode: %1").arg(channelMode)); } - BufferSettings s; - bool showTopic = s.value("DisplayTopicInTooltip", QVariant(false)).toBool(); + ItemViewSettings s; + bool showTopic = s.displayTopicInTooltip(); if(showTopic) { QString _topic = topic(); if(_topic != "") { diff --git a/src/qtui/qtuisettings.cpp b/src/qtui/qtuisettings.cpp index 3cdd26a8..085836a8 100644 --- a/src/qtui/qtuisettings.cpp +++ b/src/qtui/qtuisettings.cpp @@ -32,11 +32,11 @@ QtUiSettings::QtUiSettings() /***********************************************************************/ QtUiStyleSettings::QtUiStyleSettings(const QString &subGroup) - : UiStyleSettings(QString("QtUiStyle/%1").arg(subGroup)) + : UiSettings(QString("QtUiStyle/%1").arg(subGroup)) { } QtUiStyleSettings::QtUiStyleSettings() - : UiStyleSettings("QtUiStyle") + : UiSettings("QtUiStyle") { } diff --git a/src/qtui/qtuisettings.h b/src/qtui/qtuisettings.h index 8559c6ec..1e8632b4 100644 --- a/src/qtui/qtuisettings.h +++ b/src/qtui/qtuisettings.h @@ -31,7 +31,7 @@ public: QtUiSettings(); }; -class QtUiStyleSettings : public UiStyleSettings { +class QtUiStyleSettings : public UiSettings { public: QtUiStyleSettings(const QString &subGroup); QtUiStyleSettings(); diff --git a/src/uisupport/uisettings.cpp b/src/uisupport/uisettings.cpp index e3574c85..ca68c49a 100644 --- a/src/uisupport/uisettings.cpp +++ b/src/uisupport/uisettings.cpp @@ -27,8 +27,8 @@ UiSettings::UiSettings(const QString &group) /**************************************************************************/ -UiStyleSettings::UiStyleSettings(const QString &group) - : ClientSettings(group) +UiStyleSettings::UiStyleSettings() : UiSettings("UiStyle") {} +UiStyleSettings::UiStyleSettings(const QString &subGroup) : UiSettings(QString("UiStyle/%1").arg(subGroup)) { } diff --git a/src/uisupport/uisettings.h b/src/uisupport/uisettings.h index d8560c07..a4905d0d 100644 --- a/src/uisupport/uisettings.h +++ b/src/uisupport/uisettings.h @@ -35,13 +35,10 @@ public: }; -class UiStyleSettings : public ClientSettings { +class UiStyleSettings : public UiSettings { public: - UiStyleSettings(const QString &group = "UiStyle"); - - 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); } + UiStyleSettings(); + UiStyleSettings(const QString &subGroup); void setCustomFormat(UiStyle::FormatType, QTextCharFormat); QTextCharFormat customFormat(UiStyle::FormatType); diff --git a/src/uisupport/uistyle.cpp b/src/uisupport/uistyle.cpp index 025c9d1d..555f8770 100644 --- a/src/uisupport/uistyle.cpp +++ b/src/uisupport/uistyle.cpp @@ -68,9 +68,9 @@ UiStyle::UiStyle(QObject *parent) setTimestampFormatString("[hh:mm:ss]"); // BufferView / NickView settings - BufferSettings bufferSettings; - _showBufferViewIcons = _showNickViewIcons = bufferSettings.showUserStateIcons(); - bufferSettings.notify("ShowUserStateIcons", this, SLOT(showUserStateIconsChanged())); + UiStyleSettings s; + _showBufferViewIcons = _showNickViewIcons = s.value("ShowItemViewIcons", true).toBool(); + s.notify("ShowItemViewIcons", this, SLOT(showItemViewIconsChanged())); loadStyleSheet(); } @@ -148,9 +148,9 @@ void UiStyle::setTimestampFormatString(const QString &format) { /******** ItemView Styling *******/ -void UiStyle::showUserStateIconsChanged() { - BufferSettings bufferSettings; - _showBufferViewIcons = _showNickViewIcons = bufferSettings.showUserStateIcons(); +void UiStyle::showItemViewIconsChanged() { + UiStyleSettings s; + _showBufferViewIcons = _showNickViewIcons = s.value("ShowItemViewIcons").toBool(); } QVariant UiStyle::bufferViewItemData(const QModelIndex &index, int role) const { diff --git a/src/uisupport/uistyle.h b/src/uisupport/uistyle.h index 7911dc7e..5b96bedb 100644 --- a/src/uisupport/uistyle.h +++ b/src/uisupport/uistyle.h @@ -167,7 +167,7 @@ protected: QVariant itemData(int role, const QTextCharFormat &format) const; private slots: - void showUserStateIconsChanged(); + void showItemViewIconsChanged(); private: QVector _uiStylePalette; -- 2.20.1