]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinview.cpp
* Install an event-filter for the view implementations. Whenever a view implementatio...
[dolphin.git] / src / dolphinview.cpp
index 3fec8fdfb0d3087a0eb943f6e35a3ab8005658df..d6c5f6c256b3e8b3a83ea7587427f22e0a6b14d7 100644 (file)
@@ -86,9 +86,6 @@ DolphinView::DolphinView(QWidget* parent,
     m_topLayout->setSpacing(0);
     m_topLayout->setMargin(0);
 
-    connect(m_dirLister, SIGNAL(completed()),
-            this, SLOT(updateCutItems()));
-
     m_controller = new DolphinController(this);
     m_controller->setUrl(url);
 
@@ -230,7 +227,7 @@ void DolphinView::setShowPreview(bool show)
     m_iconManager->setShowPreview(show);
     emit showPreviewChanged();
 
-    loadDirectory(viewPropsUrl, true);
+    loadDirectory(viewPropsUrl);
 }
 
 bool DolphinView::showPreview() const
@@ -251,7 +248,7 @@ void DolphinView::setShowHiddenFiles(bool show)
     m_dirLister->setShowingDotFiles(show);
     emit showHiddenFilesChanged();
 
-    loadDirectory(viewPropsUrl, true);
+    loadDirectory(viewPropsUrl);
 }
 
 bool DolphinView::showHiddenFiles() const
@@ -455,7 +452,7 @@ void DolphinView::setAdditionalInfo(KFileItemDelegate::InformationList info)
     if (itemView() != m_detailsView) {
         // the details view requires no reloading of the directory, as it maps
         // the file item delegate info to its columns internally
-        loadDirectory(viewPropsUrl, true);
+        loadDirectory(viewPropsUrl);
     }
 }
 
@@ -540,15 +537,24 @@ void DolphinView::mouseReleaseEvent(QMouseEvent* event)
 
 void DolphinView::wheelEvent(QWheelEvent* event)
 {
-    if ((event->modifiers() & Qt::ControlModifier) == Qt::ControlModifier) {
-        int d = event->delta();
-        if (d > 0 && isZoomInPossible()) {
+    if (event->modifiers() & Qt::ControlModifier) {
+        const int delta = event->delta();
+        if ((delta > 0) && isZoomInPossible()) {
             zoomIn();
-        } else if (d < 0 && isZoomOutPossible()) {
+        } else if ((delta < 0) && isZoomOutPossible()) {
             zoomOut();
         }
-       event->accept();
+        event->accept();
+    }
+}
+
+bool DolphinView::eventFilter(QObject* watched, QEvent* event)
+{
+    if ((watched == itemView()) && (event->type() == QEvent::FocusIn)) {
+        m_controller->requestActivation();
     }
+
+    return QWidget::eventFilter(watched, event);
 }
 
 void DolphinView::activate()
@@ -900,6 +906,9 @@ void DolphinView::createView()
     }
 
     Q_ASSERT(view != 0);
+    view->installEventFilter(this);
+
+    m_controller->setItemView(view);
 
     m_fileItemDelegate = new KFileItemDelegate(view);
     view->setItemDelegate(m_fileItemDelegate);
@@ -976,49 +985,6 @@ bool DolphinView::isCutItem(const KFileItem& item) const
     return false;
 }
 
-KToggleAction* DolphinView::iconsModeAction(KActionCollection* actionCollection)
-{
-    KToggleAction* iconsView = actionCollection->add<KToggleAction>("icons");
-    iconsView->setText(i18nc("@action:inmenu View Mode", "Icons"));
-    iconsView->setShortcut(Qt::CTRL | Qt::Key_1);
-    iconsView->setIcon(KIcon("view-list-icons"));
-    iconsView->setData(QVariant::fromValue(IconsView));
-    return iconsView;
-}
-
-KToggleAction* DolphinView::detailsModeAction(KActionCollection* actionCollection)
-{
-    KToggleAction* detailsView = actionCollection->add<KToggleAction>("details");
-    detailsView->setText(i18nc("@action:inmenu View Mode", "Details"));
-    detailsView->setShortcut(Qt::CTRL | Qt::Key_2);
-    detailsView->setIcon(KIcon("view-list-details"));
-    detailsView->setData(QVariant::fromValue(DetailsView));
-    return detailsView;
-}
-
-KToggleAction* DolphinView::columnsModeAction(KActionCollection* actionCollection)
-{
-    KToggleAction* columnView = actionCollection->add<KToggleAction>("columns");
-    columnView->setText(i18nc("@action:inmenu View Mode", "Columns"));
-    columnView->setShortcut(Qt::CTRL | Qt::Key_3);
-    columnView->setIcon(KIcon("view-file-columns"));
-    columnView->setData(QVariant::fromValue(ColumnView));
-    return columnView;
-}
-
-QString DolphinView::currentViewModeActionName() const
-{
-    switch (m_mode) {
-    case DolphinView::IconsView:
-        return "icons";
-    case DolphinView::DetailsView:
-        return "details";
-    case DolphinView::ColumnView:
-        return "columns";
-    }
-    return QString(); // can't happen
-}
-
 void DolphinView::renameSelectedItems()
 {
     const KFileItemList items = selectedItems();