-bool BufferView::event(QEvent *event) {
- if (event->type() == QEvent::TouchBegin && _lastTouchStart < QDateTime::currentMSecsSinceEpoch() - 1000) { //(slow) double tab = normal behaviour = select multiple. 1000 ok?
- _touchScrollInProgress = true;
- _lastTouchStart = QDateTime::currentMSecsSinceEpoch();
- setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
- return true;
- }
-
- if (event->type() == QEvent::TouchUpdate && _touchScrollInProgress) {
- QTouchEvent::TouchPoint p = ((QTouchEvent*)event)->touchPoints().at(0);
- verticalScrollBar()->setValue(verticalScrollBar()->value() - (p.pos().y() - p.lastPos().y()));
- return true;
- }
-#if QT_VERSION >= 0x050000
- if (event->type() == QEvent::TouchEnd || event->type() == QEvent::TouchCancel) {
-#else
- if (event->type() == QEvent::TouchEnd) {
-#endif
- _touchScrollInProgress = false;
- return true;
- }
-
- return QTreeView::event(event);
-}
-
-void BufferView::mousePressEvent(QMouseEvent * event) {
- if (!_touchScrollInProgress)
- QTreeView::mousePressEvent(event);
-}
-
-void BufferView::mouseMoveEvent(QMouseEvent * event) {
- if (!_touchScrollInProgress)
- QTreeView::mouseMoveEvent(event);
-}
-
-void BufferView::keyPressEvent(QKeyEvent *event)
-{
- if (event->key() == Qt::Key_Backspace || event->key() == Qt::Key_Delete) {
- event->accept();
- removeSelectedBuffers();
- }
- QTreeView::keyPressEvent(event);
-}
-