+void BufferViewFilter::checkPreviousCurrentForRemoval(const QModelIndex ¤t, const QModelIndex &previous) {
+ Q_UNUSED(current);
+ if(previous.isValid())
+ qApp->postEvent(this, new CheckRemovalEvent(previous));
+}
+
+void BufferViewFilter::customEvent(QEvent *event) {
+ if(event->type() != QEvent::User)
+ return;
+
+ CheckRemovalEvent *removalEvent = static_cast<CheckRemovalEvent *>(event);
+ checkItemForRemoval(removalEvent->index);
+
+ event->accept();
+}
+
+void BufferViewFilter::checkItemsForRemoval(const QModelIndex &topLeft, const QModelIndex &bottomRight) {
+ QModelIndex source_topLeft = mapToSource(topLeft);
+ QModelIndex source_bottomRight = mapToSource(bottomRight);
+ emit _dataChanged(source_topLeft, source_bottomRight);
+}
+