#include "dolphin_detailsmodesettings.h"
#include <kdirmodel.h>
-#include <kfileitemdelegate.h>
#include <QApplication>
#include <QHeaderView>
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)
QTreeView::dragMoveEvent(event);
// TODO: remove this code when the issue #160611 is solved in Qt 4.4
- const QPoint pos(0, event->pos().y());
- const QModelIndex index = indexAt(pos);
- setDirtyRegion(m_dropRect);
- m_dropRect = visualRect(index);
setDirtyRegion(m_dropRect);
+ const QModelIndex index = indexAt(event->pos());
+ if (!index.isValid() || (index.column() != KDirModel::Name)) {
+ m_dragging = false;
+ } else {
+ m_dragging = true;
+ m_dropRect = visualRect(index);
+ setDirtyRegion(m_dropRect);
+ }
}
void DolphinDetailsView::dropEvent(QDropEvent* 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);
}
}