┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2007-03-08 05:43:33 +0000
committerPeter Penz <[email protected]>2007-03-08 05:43:33 +0000
commit90b0e715d220f64a9f50f06d4757fca2a6a32b46 (patch)
tree8bcc19e511c5d55f7672ab1c49500efb4cd870b9
parent3f763206910eb00068fb8863c450e70c83262edd (diff)
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
-rw-r--r--src/dolphindetailsview.cpp3
-rw-r--r--src/dolphinview.cpp13
-rw-r--r--src/dolphinview.h6
3 files changed, 20 insertions, 2 deletions
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;