]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphincolumnwidget.cpp
improve layout of the "General Settings" dialog
[dolphin.git] / src / dolphincolumnwidget.cpp
index bbaa5f7933bb36223ff562e5ecc282ec7c2b716f..972098babc27abf77e367e6120bd1ad96fd55c9b 100644 (file)
@@ -63,7 +63,6 @@ DolphinColumnWidget::DolphinColumnWidget(QWidget* parent,
     m_dropRect()
 {
     setMouseTracking(true);
-    viewport()->setAttribute(Qt::WA_Hover);
     setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
     setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
     setSelectionBehavior(SelectItems);
@@ -71,6 +70,7 @@ DolphinColumnWidget::DolphinColumnWidget(QWidget* parent,
     setDragDropMode(QAbstractItemView::DragDrop);
     setDropIndicatorShown(false);
     setSelectionRectVisible(true);
+    setEditTriggers(QAbstractItemView::NoEditTriggers);
 
     setVerticalScrollMode(QListView::ScrollPerPixel);
     setHorizontalScrollMode(QListView::ScrollPerPixel);
@@ -230,6 +230,14 @@ void DolphinColumnWidget::setNameFilter(const QString& nameFilter)
     m_proxyModel->setFilterRegExp(nameFilter);
 }
 
+void DolphinColumnWidget::editItem(const KFileItem& item)
+{
+    const QModelIndex dirIndex = m_dolphinModel->indexForItem(item);
+    const QModelIndex proxyIndex = m_proxyModel->mapFromSource(dirIndex);
+    if (proxyIndex.isValid()) {
+        edit(proxyIndex);
+    }
+}
 
 QStyleOptionViewItem DolphinColumnWidget::viewOptions() const
 {
@@ -306,15 +314,11 @@ void DolphinColumnWidget::paintEvent(QPaintEvent* event)
         if (proxyIndex.isValid() && !selectionModel()->isSelected(proxyIndex)) {
             const QRect itemRect = visualRect(proxyIndex);
             QPainter painter(viewport());
-            painter.save();
-
             QColor color = KColorScheme(QPalette::Active, KColorScheme::View).foreground().color();
             color.setAlpha(32);
             painter.setPen(Qt::NoPen);
             painter.setBrush(color);
             painter.drawRect(itemRect);
-
-            painter.restore();
         }
     }
 
@@ -430,10 +434,10 @@ void DolphinColumnWidget::deactivate()
     // necessary connecting the signal 'singleClick()' or 'doubleClick'.
     if (KGlobalSettings::singleClick()) {
         disconnect(this, SIGNAL(clicked(const QModelIndex&)),
-                   this, SLOT(triggerItem(const QModelIndex&)));
+                   m_view->m_controller, SLOT(triggerItem(const QModelIndex&)));
     } else {
         disconnect(this, SIGNAL(doubleClicked(const QModelIndex&)),
-                   this, SLOT(triggerItem(const QModelIndex&)));
+                   m_view->m_controller, SLOT(triggerItem(const QModelIndex&)));
     }
 
     const QModelIndex current = selectionModel()->currentIndex();