Reenabled Activity levels
[quassel.git] / src / client / buffermodel.h
index e45c60e..80f1ec0 100644 (file)
 
 #include <QSortFilterProxyModel>
 #include <QItemSelectionModel>
-#include <QPointer>
 
 #include "types.h"
-
-class NetworkModel;
 #include "selectionmodelsynchronizer.h"
 #include "modelpropertymapper.h"
+
+class NetworkModel;
 class MappedSelectionModel;
 class QAbstractItemView;
-class Buffer;
 
 class BufferModel : public QSortFilterProxyModel {
   Q_OBJECT
@@ -43,24 +41,22 @@ public:
 
   bool filterAcceptsRow(int sourceRow, const QModelIndex &parent) const;
   
-  inline SelectionModelSynchronizer *selectionModelSynchronizer() { return _selectionModelSynchronizer; }
-  inline ModelPropertyMapper *propertyMapper() { return _propertyMapper; }
+  inline const SelectionModelSynchronizer *selectionModelSynchronizer() const { return &_selectionModelSynchronizer; }
+  inline const ModelPropertyMapper *propertyMapper() const { return &_propertyMapper; }
+  inline QItemSelectionModel *standardSelectionModel() const { return _propertyMapper.selectionModel(); }
 
   void synchronizeSelectionModel(MappedSelectionModel *selectionModel);
   void synchronizeView(QAbstractItemView *view);
   void mapProperty(int column, int role, QObject *target, const QByteArray &property);
 
-public slots:
   QModelIndex currentIndex();
-  void setCurrentIndex(const QModelIndex &index, QItemSelectionModel::SelectionFlags command);
-
-signals:
-  void selectionChanged(const QModelIndex &);
 
+private slots:
+  void currentChanged(const QModelIndex &current, const QModelIndex &previous);
+  
 private:
-  QPointer<SelectionModelSynchronizer> _selectionModelSynchronizer;
-  QPointer<ModelPropertyMapper> _propertyMapper;
-  BufferId currentBuffer;
+  SelectionModelSynchronizer _selectionModelSynchronizer;
+  ModelPropertyMapper _propertyMapper;
 };
 
 #endif // BUFFERMODEL_H