// initialize the Property Mapper
_propertyMapper.setModel(this);
_selectionModelSynchronizer.addRegularSelectionModel(_propertyMapper.selectionModel());
+ connect(_propertyMapper.selectionModel(), SIGNAL(currentChanged(QModelIndex, QModelIndex)),
+ this, SLOT(currentChanged(QModelIndex, QModelIndex)));
}
BufferModel::~BufferModel() {
bool BufferModel::filterAcceptsRow(int sourceRow, const QModelIndex &parent) const {
Q_UNUSED(sourceRow);
- // hide childs of buffers and everything below
- if(parent.data(NetworkModel::ItemTypeRole) == NetworkModel::BufferItemType)
- return false;
- else
+ // only networks and buffers are allowed
+ if(!parent.isValid())
return true;
+ if(parent.data(NetworkModel::ItemTypeRole) == NetworkModel::NetworkItemType)
+ return true;
+
+ return false;
}
void BufferModel::synchronizeSelectionModel(MappedSelectionModel *selectionModel) {
QModelIndex BufferModel::currentIndex() {
return propertyMapper()->selectionModel()->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);
+}