Introduce QtUiStyleSettings and make highlight color configurable again
[quassel.git] / src / uisupport / bufferviewfilter.h
index 07fec1b..18c32ad 100644 (file)
@@ -21,6 +21,7 @@
 #ifndef BUFFERVIEWFILTER_H_
 #define BUFFERVIEWFILTER_H_
 
+#include <QColor>
 #include <QDropEvent>
 #include <QFlags>
 #include <QPointer>
@@ -60,22 +61,41 @@ public:
   void setConfig(BufferViewConfig *config);
   inline BufferViewConfig *config() const { return _config; }
 
+  virtual void sort(int column, Qt::SortOrder order = Qt::AscendingOrder);
+                                                                        
 public slots:
-  void removeBuffer(const QModelIndex &);
-  void source_rowsInserted(const QModelIndex &parent, int start, int end);
+  void checkPreviousCurrentForRemoval(const QModelIndex &current, const QModelIndex &previous);
+  void checkItemForRemoval(const QModelIndex &index) { checkItemsForRemoval(index, index); }
+  void checkItemsForRemoval(const QModelIndex &topLeft, const QModelIndex &bottomRight);
   
 protected:
   bool filterAcceptsRow(int source_row, const QModelIndex &source_parent) const;
   bool lessThan(const QModelIndex &source_left, const QModelIndex &source_right) const;
   bool bufferLessThan(const QModelIndex &source_left, const QModelIndex &source_right) const;
   bool networkLessThan(const QModelIndex &source_left, const QModelIndex &source_right) const;
+  virtual void customEvent(QEvent *event);
 
+signals:
+  void _dataChanged(const QModelIndex &source_topLeft, const QModelIndex &source_bottomRight);
+  void configChanged();
+
+private slots:
+  void configInitialized();
+    
 private:
   QPointer<BufferViewConfig> _config;
+  Qt::SortOrder _sortOrder;
+  
+  QColor _FgColorInactiveActivity;
+  QColor _FgColorNoActivity;
+  QColor _FgColorHighlightActivity;
+  QColor _FgColorNewMessageActivity;
+  QColor _FgColorOtherActivity;
+  void loadColors();
 
   bool filterAcceptBuffer(const QModelIndex &) const;
   bool filterAcceptNetwork(const QModelIndex &) const;
-  void addBuffer(const BufferId &);
+  void addBuffer(const BufferId &) const;
 };
 Q_DECLARE_OPERATORS_FOR_FLAGS(BufferViewFilter::Modes)