+void DolphinDetailsView::mousePressEvent(QMouseEvent* event)
+{
+ QTreeView::mousePressEvent(event);
+
+ if (event->button() == Qt::LeftButton) {
+ // initialize rubberband for the selection
+ if (m_rubberBand == 0) {
+ m_rubberBand = new QRubberBand(QRubberBand::Rectangle, viewport());
+ }
+
+ const QPoint pos(contentsPos());
+ m_origin = event->pos();
+ m_origin.setX(m_origin.x() + pos.x());
+ m_origin.setY(m_origin.y() + pos.y());
+ updateRubberBandGeometry();
+ m_rubberBand->show();
+ }
+}
+
+void DolphinDetailsView::mouseMoveEvent(QMouseEvent* event)
+{
+ QTreeView::mouseMoveEvent(event);
+ if (m_rubberBand != 0) {
+ updateRubberBandGeometry();
+ }
+}
+