From: Peter Penz Date: Thu, 8 Mar 2007 05:43:33 +0000 (+0000) Subject: Use hover effect from KFileItemDelegate also for the details view and assure that... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/90b0e715d220f64a9f50f06d4757fca2a6a32b46 Use hover effect from KFileItemDelegate also for the details view and assure that only the column KDirModel::Name can be selected and edited. svn path=/trunk/KDE/kdebase/apps/; revision=640453 --- diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index 6406cb81d..683a97e4e 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -42,6 +42,9 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr setRootIsDecorated(false); setSortingEnabled(true); setUniformRowHeights(true); + setSelectionBehavior(SelectItems); + + viewport()->setAttribute(Qt::WA_Hover); const ViewProperties props(controller->url()); setSortIndicatorSection(props.sorting()); diff --git a/src/dolphinview.cpp b/src/dolphinview.cpp index 2956cf6be..47c98f03f 100644 --- a/src/dolphinview.cpp +++ b/src/dolphinview.cpp @@ -622,6 +622,10 @@ void DolphinView::loadDirectory(const KUrl& url) void DolphinView::triggerItem(const QModelIndex& index) { + if (!isValidNameIndex(index)) { + return; + } + const Qt::KeyboardModifiers modifier = QApplication::keyboardModifiers(); if ((modifier & Qt::ShiftModifier) || (modifier & Qt::ControlModifier)) { // items are selected by the user, hence don't trigger the @@ -893,7 +897,7 @@ void DolphinView::openContextMenu(const QPoint& pos) KFileItem* item = 0; const QModelIndex index = itemView()->indexAt(pos); - if (index.isValid()) { + if (isValidNameIndex(index)) { item = fileItem(index); } @@ -906,7 +910,7 @@ void DolphinView::dropUrls(const KUrl::List& urls, { KFileItem* directory = 0; const QModelIndex index = itemView()->indexAt(pos); - if (index.isValid()) { + if (isValidNameIndex(index)) { KFileItem* item = fileItem(index); assert(item != 0); if (item->isDir()) { @@ -1021,4 +1025,9 @@ QAbstractItemView* DolphinView::itemView() const return m_iconsView; } +bool DolphinView::isValidNameIndex(const QModelIndex& index) const +{ + return index.isValid() && (index.column() == KDirModel::Name); +} + #include "dolphinview.moc" diff --git a/src/dolphinview.h b/src/dolphinview.h index 63ceb983a..2507e9e8e 100644 --- a/src/dolphinview.h +++ b/src/dolphinview.h @@ -516,6 +516,12 @@ private: */ QAbstractItemView* itemView() const; + /** + * Returns true if the index is valid and represents + * the column KDirModel::Name. + */ + bool isValidNameIndex(const QModelIndex& index) const; + private: bool m_showProgress; Mode m_mode;