- Topics are now editable even when they were empty
[quassel.git] / src / client / buffermodel.h
index e45c60e..0be559a 100644 (file)
 
 #include <QSortFilterProxyModel>
 #include <QItemSelectionModel>
-#include <QPointer>
 
 #include "types.h"
+#include "selectionmodelsynchronizer.h"
 
 class NetworkModel;
-#include "selectionmodelsynchronizer.h"
-#include "modelpropertymapper.h"
 class MappedSelectionModel;
 class QAbstractItemView;
-class Buffer;
 
 class BufferModel : public QSortFilterProxyModel {
   Q_OBJECT
@@ -43,24 +40,18 @@ 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 QItemSelectionModel *standardSelectionModel() const { return const_cast<QItemSelectionModel *>(&_standardSelectionModel); }
+  
   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 &);
+  void setCurrentIndex(const QModelIndex &newCurrent);
 
 private:
-  QPointer<SelectionModelSynchronizer> _selectionModelSynchronizer;
-  QPointer<ModelPropertyMapper> _propertyMapper;
-  BufferId currentBuffer;
+  SelectionModelSynchronizer _selectionModelSynchronizer;
+  QItemSelectionModel _standardSelectionModel;
 };
 
 #endif // BUFFERMODEL_H