]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphindetailsview.cpp
revert fix for bug 167044 - although the crash is fixed the autoscroll does not work...
[dolphin.git] / src / dolphindetailsview.cpp
index 12513420d5a450cc8e5d574d6b4b61df18cf5b03..7c42d13fc56f0cf5383ce1db4a99208750aeabad 100644 (file)
@@ -100,17 +100,19 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr
     if (KGlobalSettings::singleClick()) {
         connect(this, SIGNAL(clicked(const QModelIndex&)),
                 controller, SLOT(triggerItem(const QModelIndex&)));
-        if (DolphinSettings::instance().generalSettings()->showSelectionToggle()) {
-            m_selectionManager = new SelectionManager(this);
-            connect(m_selectionManager, SIGNAL(selectionChanged()),
-                    this, SLOT(requestActivation()));
-            connect(m_controller, SIGNAL(urlChanged(const KUrl&)),
-                    m_selectionManager, SLOT(reset()));
-         }
     } else {
         connect(this, SIGNAL(doubleClicked(const QModelIndex&)),
                 controller, SLOT(triggerItem(const QModelIndex&)));
     }
+
+    if (DolphinSettings::instance().generalSettings()->showSelectionToggle()) {
+        m_selectionManager = new SelectionManager(this);
+        connect(m_selectionManager, SIGNAL(selectionChanged()),
+                this, SLOT(requestActivation()));
+        connect(m_controller, SIGNAL(urlChanged(const KUrl&)),
+                m_selectionManager, SLOT(reset()));
+    }
+
     connect(this, SIGNAL(entered(const QModelIndex&)),
             this, SLOT(slotEntered(const QModelIndex&)));
     connect(this, SIGNAL(viewportEntered()),
@@ -378,7 +380,11 @@ void DolphinDetailsView::paintEvent(QPaintEvent* event)
 
 void DolphinDetailsView::keyPressEvent(QKeyEvent* event)
 {
-    m_keyPressed = true;
+    // If the Control modifier is pressed, a multiple selection
+    // is done and DolphinDetailsView::currentChanged() may not
+    // not change the selection in a custom way.
+    m_keyPressed = !(event->modifiers() & Qt::ControlModifier);
+
     QTreeView::keyPressEvent(event);
     m_controller->handleKeyPressEvent(event);
 }