Add and use ItemViewSettings
authorManuel Nickschas <sputnick@quassel-irc.org>
Thu, 6 Aug 2009 16:52:46 +0000 (18:52 +0200)
committerManuel Nickschas <sputnick@quassel-irc.org>
Thu, 6 Aug 2009 18:25:59 +0000 (20:25 +0200)
Also, this allows us to use UiStyleSettings with a subgroup.

src/client/clientsettings.cpp
src/client/clientsettings.h
src/client/networkmodel.cpp
src/qtui/qtuisettings.cpp
src/qtui/qtuisettings.h
src/uisupport/uisettings.cpp
src/uisupport/uisettings.h
src/uisupport/uistyle.cpp
src/uisupport/uistyle.h

index 217b673..cbdd4a3 100644 (file)
@@ -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();
+}
index 0b1b3d5..3ae810e 100644 (file)
@@ -148,4 +148,15 @@ public:
 
 };
 
+// ========================================
+// ItemViewSettings
+// ========================================
+class ItemViewSettings : public ClientSettings {
+  public:
+    ItemViewSettings(const QString& group = "ItemViews");
+
+    bool displayTopicInTooltip();
+    bool mouseWheelChangesBuffer();
+};
+
 #endif
index b5c21c4..87801d4 100644 (file)
 #include <QTextDocument>       // 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("<b>Mode:</b> %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 != "") {
index 3cdd26a..085836a 100644 (file)
@@ -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")
 {
 }
index 8559c6e..1e8632b 100644 (file)
@@ -31,7 +31,7 @@ public:
   QtUiSettings();
 }; 
 
-class QtUiStyleSettings : public UiStyleSettings {
+class QtUiStyleSettings : public UiSettings {
 public:
   QtUiStyleSettings(const QString &subGroup);
   QtUiStyleSettings();
index e3574c8..ca68c49 100644 (file)
@@ -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))
 {
 }
 
index d8560c0..a4905d0 100644 (file)
@@ -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);
index 025c9d1..555f877 100644 (file)
@@ -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 {
index 7911dc7..5b96bed 100644 (file)
@@ -167,7 +167,7 @@ protected:
   QVariant itemData(int role, const QTextCharFormat &format) const;
 
 private slots:
-  void showUserStateIconsChanged();
+  void showItemViewIconsChanged();
 
 private:
   QVector<QBrush> _uiStylePalette;