implemented TreeModel::setData() which haven't been needed yet
[quassel.git] / src / client / buffermodel.h
index 4fb610d..4eb2230 100644 (file)
 #include <QItemSelectionModel>
 #include <QPointer>
 
+#include "types.h"
+
 class NetworkModel;
-//class SelectionModelSynchronizer;
 #include "selectionmodelsynchronizer.h"
-//class ModelPropertyMapper;
 #include "modelpropertymapper.h"
 class MappedSelectionModel;
 class QAbstractItemView;
@@ -43,25 +43,25 @@ 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);
-  void selectBuffer(Buffer *buffer);
 
 signals:
-  void bufferSelected(Buffer *);
   void selectionChanged(const QModelIndex &);
 
 private:
-  QPointer<SelectionModelSynchronizer> _selectionModelSynchronizer;
-  QPointer<ModelPropertyMapper> _propertyMapper;
-  Buffer *currentBuffer;
+  SelectionModelSynchronizer _selectionModelSynchronizer;
+  ModelPropertyMapper _propertyMapper;
+  BufferId currentBuffer;
 };
 
 #endif // BUFFERMODEL_H