]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinviewcontainer.cpp
revert ed4f9d3e11e66dd5ef136c3fac874ac5f53ec91a
[dolphin.git] / src / dolphinviewcontainer.cpp
index 508c0360df93b259bd108b0d65adff3625191e68..0ecdaf6855769bf8913120e3f6b6ab57905396ed 100644 (file)
@@ -1,5 +1,5 @@
 /***************************************************************************
- *   Copyright (C) 2007 by Peter Penz <peter.penz@gmx.at>                  *
+ *   Copyright (C) 2007 by Peter Penz <peter.penz19@gmail.com>             *
  *                                                                         *
  *   This program is free software; you can redistribute it and/or modify  *
  *   it under the terms of the GNU General Public License as published by  *
  ***************************************************************************/
 
 #include "dolphinviewcontainer.h"
-#include <kprotocolmanager.h>
-
-#include <QtGui/QApplication>
-#include <QtGui/QKeyEvent>
-#include <QtGui/QItemSelection>
-#include <QtGui/QBoxLayout>
-#include <QtCore/QTimer>
-#include <QtGui/QScrollBar>
-
-#include <kdesktopfile.h>
-#include <kfileitemdelegate.h>
-#include <kfileplacesmodel.h>
-#include <kglobalsettings.h>
-#include <klocale.h>
-#include <kiconeffect.h>
-#include <kio/netaccess.h>
-#include <kio/previewjob.h>
-#include <kmenu.h>
-#include <knewmenu.h>
+#include <KProtocolManager>
+
+#include <QApplication>
+#include <QKeyEvent>
+#include <QItemSelection>
+#include <QBoxLayout>
+#include <QTimer>
+#include <QScrollBar>
+
+#include <KDesktopFile>
+#include <KFileItemDelegate>
+#include <KFilePlacesModel>
+#include <KGlobalSettings>
+#include <KLocale>
+#include <KIconEffect>
+#include <KIO/NetAccess>
+#include <KIO/PreviewJob>
+#include <KMenu>
+#include <KNewFileMenu>
 #include <konqmimedata.h>
 #include <konq_operations.h>
-#include <kshell.h>
-#include <kurl.h>
-#include <kurlcombobox.h>
-#include <kurlnavigator.h>
-#include <krun.h>
+#include <KShell>
+#include <KUrl>
+#include <KUrlComboBox>
+#include <KUrlNavigator>
+#include <KRun>
 
 #include "dolphin_generalsettings.h"
 #include "dolphinmainwindow.h"
@@ -53,8 +53,6 @@
 #include "statusbar/dolphinstatusbar.h"
 #include "views/dolphincolumnview.h"
 #include "views/dolphindetailsview.h"
-#include "views/dolphindirlister.h"
-#include "views/dolphinsortfilterproxymodel.h"
 #include "views/draganddrophelper.h"
 #include "views/dolphiniconsview.h"
 #include "views/dolphinmodel.h"
@@ -100,59 +98,23 @@ DolphinViewContainer::DolphinViewContainer(const KUrl& url, QWidget* parent) :
     connect(m_searchBox, SIGNAL(search(QString)), this, SLOT(startSearching(QString)));
     connect(m_searchBox, SIGNAL(returnPressed(QString)), this, SLOT(requestFocus()));
 
-    DolphinDirLister* dirLister = new DolphinDirLister();
-    dirLister->setAutoUpdate(true);
-    dirLister->setMainWindow(window());
-    dirLister->setDelayedMimeTypes(true);
-
-    DolphinModel* dolphinModel = new DolphinModel(this);
-    dolphinModel->setDirLister(dirLister);  // dolphinModel takes ownership of dirLister
-    dolphinModel->setDropsAllowed(DolphinModel::DropOnDirectory);
-
-    DolphinSortFilterProxyModel* proxyModel = new DolphinSortFilterProxyModel(this);
-    proxyModel->setSourceModel(dolphinModel);
-    proxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive);
-
-    // TODO: In the case of the column view the directory lister changes. Let the DolphinView
-    // inform the container about this information for KDE SC 4.7
-    connect(dirLister, SIGNAL(clear()),
-            this, SLOT(delayedStatusBarUpdate()));
-    connect(dirLister, SIGNAL(percent(int)),
-            this, SLOT(updateProgress(int)));
-    connect(dirLister, SIGNAL(itemsDeleted(const KFileItemList&)),
-            this, SLOT(delayedStatusBarUpdate()));
-    connect(dirLister, SIGNAL(newItems(KFileItemList)),
-            this, SLOT(delayedStatusBarUpdate()));
-    connect(dirLister, SIGNAL(infoMessage(const QString&)),
-            this, SLOT(showInfoMessage(const QString&)));
-    connect(dirLister, SIGNAL(errorMessage(const QString&)),
-            this, SLOT(showErrorMessage(const QString&)));
-    connect(dirLister, SIGNAL(urlIsFileError(const KUrl&)),
-            this, SLOT(openFile(const KUrl&)));
-
-    m_view = new DolphinView(this, url, proxyModel);
-    connect(m_view, SIGNAL(urlChanged(const KUrl&)),
-            m_urlNavigator, SLOT(setUrl(const KUrl&)));
-    connect(m_view, SIGNAL(requestItemInfo(KFileItem)),
-            this, SLOT(showItemInfo(KFileItem)));
-    connect(m_view, SIGNAL(errorMessage(const QString&)),
-            this, SLOT(showErrorMessage(const QString&)));
-    connect(m_view, SIGNAL(infoMessage(const QString&)),
-            this, SLOT(showInfoMessage(const QString&)));
-    connect(m_view, SIGNAL(operationCompletedMessage(const QString&)),
-            this, SLOT(showOperationCompletedMessage(const QString&)));
-    connect(m_view, SIGNAL(itemTriggered(KFileItem)),
-            this, SLOT(slotItemTriggered(KFileItem)));
-    connect(m_view, SIGNAL(redirection(KUrl, KUrl)),
-            this, SLOT(redirect(KUrl, KUrl)));
-    connect(m_view, SIGNAL(selectionChanged(const KFileItemList&)),
-            this, SLOT(delayedStatusBarUpdate()));
-    connect(m_view, SIGNAL(startedPathLoading(KUrl)),
-            this, SLOT(slotStartedPathLoading()));
-    connect(m_view, SIGNAL(finishedPathLoading(KUrl)),
-            this, SLOT(slotFinishedPathLoading()));
-    connect(m_view, SIGNAL(writeStateChanged(bool)),
-            this, SIGNAL(writeStateChanged(bool)));
+    m_view = new DolphinView(url, this);
+    connect(m_view, SIGNAL(urlChanged(const KUrl&)),      m_urlNavigator, SLOT(setUrl(const KUrl&)));
+    connect(m_view, SIGNAL(writeStateChanged(bool)),      this, SIGNAL(writeStateChanged(bool)));
+    connect(m_view, SIGNAL(requestItemInfo(KFileItem)),   this, SLOT(showItemInfo(KFileItem)));
+    connect(m_view, SIGNAL(errorMessage(const QString&)), this, SLOT(showErrorMessage(const QString&)));
+    connect(m_view, SIGNAL(infoMessage(const QString&)),  this, SLOT(showInfoMessage(const QString&)));
+    connect(m_view, SIGNAL(itemTriggered(KFileItem)),     this, SLOT(slotItemTriggered(KFileItem)));
+    connect(m_view, SIGNAL(redirection(KUrl, KUrl)),      this, SLOT(redirect(KUrl, KUrl)));
+    connect(m_view, SIGNAL(startedPathLoading(KUrl)),     this, SLOT(slotStartedPathLoading()));
+    connect(m_view, SIGNAL(finishedPathLoading(KUrl)),    this, SLOT(slotFinishedPathLoading()));
+    connect(m_view, SIGNAL(itemCountChanged()),           this, SLOT(delayedStatusBarUpdate()));
+    connect(m_view, SIGNAL(pathLoadingProgress(int)),     this, SLOT(updateProgress(int)));
+    connect(m_view, SIGNAL(infoMessage(const QString&)),  this, SLOT(showInfoMessage(const QString&)));
+    connect(m_view, SIGNAL(errorMessage(const QString&)), this, SLOT(showErrorMessage(const QString&)));
+    connect(m_view, SIGNAL(urlIsFileError(const KUrl&)),  this, SLOT(openFile(const KUrl&)));
+    connect(m_view, SIGNAL(selectionChanged(const KFileItemList&)),    this, SLOT(delayedStatusBarUpdate()));
+    connect(m_view, SIGNAL(operationCompletedMessage(const QString&)), this, SLOT(showOperationCompletedMessage(const QString&)));
 
     connect(m_urlNavigator, SIGNAL(urlChanged(const KUrl&)),
             this, SLOT(slotUrlNavigatorLocationChanged(const KUrl&)));
@@ -250,11 +212,13 @@ void DolphinViewContainer::setSearchModeEnabled(bool enabled)
     m_urlNavigator->setVisible(!enabled);
 
     if (enabled) {
+        KUrl url = m_urlNavigator->locationUrl();
+        m_searchBox->setText(QString());
+        m_searchBox->setReadOnly(isSearchUrl(url));
+
         // Remember the most recent non-search URL as search path
         // of the search-box, so that it can be restored
         // when switching back to the URL navigator.
-        KUrl url = m_urlNavigator->locationUrl();
-
         int index = m_urlNavigator->historyIndex();
         const int historySize = m_urlNavigator->historySize();
         while (isSearchUrl(url) && (index < historySize)) {
@@ -295,7 +259,7 @@ void DolphinViewContainer::setUrl(const KUrl& newUrl)
 
 void DolphinViewContainer::setFilterBarVisible(bool visible)
 {
-    Q_ASSERT(m_filterBar != 0);
+    Q_ASSERT(m_filterBar);
     if (visible) {
         m_filterBar->show();
         m_filterBar->setFocus();
@@ -374,7 +338,7 @@ void DolphinViewContainer::slotFinishedPathLoading()
         m_statusBar->setProgress(100);
     }
 
-    if (isSearchUrl(url()) && (m_view->items().count() == 0)) {
+    if (isSearchUrl(url()) && m_view->items().isEmpty()) {
         // The dir lister has been completed on a Nepomuk-URI and no items have been found. Instead
         // of showing the default status bar information ("0 items") a more helpful information is given:
         m_statusBar->setMessage(i18nc("@info:status", "No items found."), DolphinStatusBar::Information);