BufferModel::BufferModel(NetworkModel *parent)
: QSortFilterProxyModel(parent),
_selectionModelSynchronizer(this),
- _propertyMapper(this)
+ _standardSelectionModel(this)
{
setSourceModel(parent);
-
- // initialize the Property Mapper
- _propertyMapper.setModel(this);
- _selectionModelSynchronizer.addRegularSelectionModel(_propertyMapper.selectionModel());
- connect(_propertyMapper.selectionModel(), SIGNAL(currentChanged(QModelIndex, QModelIndex)),
- this, SLOT(currentChanged(QModelIndex, QModelIndex)));
+ _selectionModelSynchronizer.addRegularSelectionModel(standardSelectionModel());
}
BufferModel::~BufferModel() {
view->setSelectionModel(mappedSelectionModel);
}
-void BufferModel::mapProperty(int column, int role, QObject *target, const QByteArray &property) {
- _propertyMapper.addMapping(column, role, target, property);
-}
-
QModelIndex BufferModel::currentIndex() {
- return propertyMapper()->selectionModel()->currentIndex();
+ return standardSelectionModel()->currentIndex();
}
-void BufferModel::currentChanged(const QModelIndex ¤t, const QModelIndex &previous) {
- Q_UNUSED(current);
- setData(current, QDateTime::currentDateTime(), NetworkModel::LastSeenRole);
- setData(previous, QDateTime::currentDateTime(), NetworkModel::LastSeenRole);
- setData(previous, qVariantFromValue((int)BufferItem::NoActivity), NetworkModel::BufferActivityRole);
+void BufferModel::setCurrentIndex(const QModelIndex &newCurrent) {
+ _standardSelectionModel.setCurrentIndex(newCurrent, QItemSelectionModel::ClearAndSelect | QItemSelectionModel::Rows);
+ _standardSelectionModel.select(newCurrent, QItemSelectionModel::ClearAndSelect);
}