From: Peter Penz Date: Sun, 11 May 2008 18:37:33 +0000 (+0000) Subject: Update the internal state only, if no expanding/collapsing area has been hit (otherwi... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/75c91317fe33cb81342cabcfe0fa64c947fdd8e8 Update the internal state only, if no expanding/collapsing area has been hit (otherwise QTreeView assumes a dragging operation is done). svn path=/trunk/KDE/kdebase/apps/; revision=806561 --- diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 29ee90830..e33d94c18 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -188,9 +188,16 @@ void DolphinDetailsView::mousePressEvent(QMouseEvent* event) QTreeView::mousePressEvent(event); const QModelIndex index = indexAt(event->pos()); - if (index.isValid() && (event->button() == Qt::LeftButton)) { - // TODO: see comment in DolphinIconsView::mousePressEvent() - setState(QAbstractItemView::DraggingState); + const bool updateState = index.isValid() && + (index.column() == DolphinModel::Name) && + (event->button() == Qt::LeftButton); + if (updateState) { + // TODO: See comment in DolphinIconsView::mousePressEvent(). Only update + // the state if no expanding/collapsing area has been hit: + const QRect rect = visualRect(index); + if (event->pos().x() >= rect.x() + indentation()) { + setState(QAbstractItemView::DraggingState); + } } if (!index.isValid() || (index.column() != DolphinModel::Name)) {