]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphindetailsview.cpp
Zoom in and out the icon view on Ctrl+Mouse wheel.
[dolphin.git] / src / dolphindetailsview.cpp
index 6b15f1c41aff0fb507caae29b72f88bae121e929..3be22fb4262db912a59e6301f629e99ab5612ef1 100644 (file)
 #include "dolphinsettings.h"
 #include "dolphinsortfilterproxymodel.h"
 #include "draganddrophelper.h"
+#include "selectionmanager.h"
 #include "viewproperties.h"
 
 #include "dolphin_detailsmodesettings.h"
+#include "dolphin_generalsettings.h"
 
 #include <kdirmodel.h>
 #include <klocale.h>
@@ -94,6 +96,13 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr
     if (KGlobalSettings::singleClick()) {
         connect(this, SIGNAL(clicked(const QModelIndex&)),
                 this, SLOT(triggerItem(const QModelIndex&)));
+        if (DolphinSettings::instance().generalSettings()->showSelectionToggle()) {
+            SelectionManager* selManager = new SelectionManager(this);
+            connect(selManager, SIGNAL(selectionChanged()),
+                    this, SLOT(requestActivation()));
+            connect(m_controller, SIGNAL(urlChanged(const KUrl&)),
+                    selManager, SLOT(reset()));
+        }
     } else {
         connect(this, SIGNAL(doubleClicked(const QModelIndex&)),
                 this, SLOT(triggerItem(const QModelIndex&)));
@@ -106,7 +115,7 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr
             this, SLOT(zoomIn()));
     connect(controller, SIGNAL(zoomOut()),
             this, SLOT(zoomOut()));
-    connect(controller->dolphinView(), SIGNAL(additionalInfoChanged(const KFileItemDelegate::InformationList&)),
+    connect(controller->dolphinView(), SIGNAL(additionalInfoChanged()),
             this, SLOT(updateColumnVisibility()));
 
     // apply the details mode settings to the widget
@@ -508,6 +517,11 @@ void DolphinDetailsView::disableAutoResizing()
     m_autoResize = false;
 }
 
+void DolphinDetailsView::requestActivation()
+{
+    m_controller->requestActivation();
+}
+
 bool DolphinDetailsView::isZoomInPossible() const
 {
     DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings();
@@ -524,6 +538,7 @@ void DolphinDetailsView::updateDecorationSize()
 {
     DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings();
     const int iconSize = settings->iconSize();
+    setIconSize(QSize(iconSize, iconSize));
     m_decorationSize = QSize(iconSize, iconSize);
 
     m_controller->setZoomInPossible(isZoomInPossible());