you can now disable the web previews and user state icons (settings -> appearance...
[quassel.git] / src / uisupport / bufferviewfilter.cpp
index 2de916b..4f09528 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "bufferinfo.h"
 #include "buffermodel.h"
+#include "buffersettings.h"
 #include "client.h"
 #include "iconloader.h"
 #include "networkmodel.h"
@@ -58,6 +59,10 @@ BufferViewFilter::BufferViewFilter(QAbstractItemModel *model, BufferViewConfig *
 
   connect(this, SIGNAL(_dataChanged(const QModelIndex &, const QModelIndex &)),
          this, SLOT(_q_sourceDataChanged(QModelIndex,QModelIndex)));
+
+  BufferSettings bufferSettings;
+  _showUserStateIcons = bufferSettings.showUserStateIcons();
+  bufferSettings.notify("ShowUserStateIcons", this, SLOT(showUserStateIconsChanged()));
 }
 
 void BufferViewFilter::loadColors() {
@@ -69,6 +74,11 @@ void BufferViewFilter::loadColors() {
   _FgColorOtherActivity = s.value("otherActivityFG", QVariant(QColor(Qt::darkGreen))).value<QColor>();
 }
 
+void BufferViewFilter::showUserStateIconsChanged() {
+  BufferSettings bufferSettings;
+  _showUserStateIcons = bufferSettings.showUserStateIcons();
+}
+
 void BufferViewFilter::setConfig(BufferViewConfig *config) {
   if(_config == config)
     return;
@@ -301,6 +311,9 @@ QVariant BufferViewFilter::data(const QModelIndex &index, int role) const {
 }
 
 QVariant BufferViewFilter::icon(const QModelIndex &index) const {
+  if(!_showUserStateIcons)
+    return QVariant();
+
   if(index.column() != 0)
     return QVariant();