void DolphinDetailsView::mousePressEvent(QMouseEvent* event)
{
- if (!indexAt(event->pos()).isValid()) {
+ m_controller->triggerActivation();
+
+ QTreeView::mousePressEvent(event);
+
+ const QModelIndex index = indexAt(event->pos());
+ if (!index.isValid() || (index.column() != KDirModel::Name)) {
const Qt::KeyboardModifiers modifier = QApplication::keyboardModifiers();
if (!(modifier & Qt::ShiftModifier) && !(modifier & Qt::ControlModifier)) {
clearSelection();
}
}
- QTreeView::mousePressEvent(event);
-
if (event->button() == Qt::LeftButton) {
m_showElasticBand = true;
updateElasticBand();
m_showElasticBand = false;
}
- m_controller->triggerActivation();
}
void DolphinDetailsView::dragEnterEvent(QDragEnterEvent* event)
painter.restore();
}
+ // TODO: remove this code when the issue #160611 is solved in Qt 4.4
if (m_dragging) {
- // TODO: remove this code when the issue #160611 is solved in Qt 4.4
- QPainter painter(viewport());
- painter.save();
- QBrush brush(m_viewOptions.palette.brush(QPalette::Normal, QPalette::Highlight));
- QColor color = brush.color();
- color.setAlpha(64);
- brush.setColor(color);
- painter.fillRect(m_dropRect, brush);
- painter.restore();
+ const QBrush& brush = m_viewOptions.palette.brush(QPalette::Normal, QPalette::Highlight);
+ DolphinController::drawHoverIndication(viewport(), m_dropRect, brush);
}
}