]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinpart.cpp
KFileItemModel: interface cleanups
[dolphin.git] / src / dolphinpart.cpp
index 2990435953e0dd47f3e707146b64d7a06631d597..70d35740f3409fa6076c293a87803a10f3770395 100644 (file)
 #include <KInputDialog>
 #include <KProtocolInfo>
 
-#include "settings/dolphinsettings.h"
 #include "views/dolphinview.h"
 #include "views/dolphinviewactionhandler.h"
-#include "views/dolphinsortfilterproxymodel.h"
-#include "views/dolphinmodel.h"
 #include "views/dolphinnewfilemenuobserver.h"
 #include "views/dolphinremoteencoding.h"
-#include "views/dolphindirlister.h"
 
 #include <QActionGroup>
 #include <QApplication>
 #include <QClipboard>
+#include <QDir>
 
 K_PLUGIN_FACTORY(DolphinPartFactory, registerPlugin<DolphinPart>();)
 K_EXPORT_PLUGIN(DolphinPartFactory("dolphinpart", "dolphin"))
@@ -72,8 +69,8 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL
     m_view->setTabsForFilesEnabled(true);
     setWidget(m_view);
 
-    connect(m_view, SIGNAL(finishedPathLoading(KUrl)), this, SLOT(slotCompleted(KUrl)));
-    connect(m_view, SIGNAL(pathLoadingProgress(int)), this, SLOT(updateProgress(int)));
+    connect(m_view, SIGNAL(finishedDirLoading(KUrl)), this, SLOT(slotCompleted(KUrl)));
+    connect(m_view, SIGNAL(directoryLoadingProgress(int)), this, SLOT(updateProgress(int)));
     connect(m_view, SIGNAL(errorMessage(QString)), this, SLOT(slotErrorMessage(QString)));
 
     setXMLFile("dolphinpart.rc");
@@ -84,27 +81,27 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL
             this, SLOT(slotMessage(QString)));
     connect(m_view, SIGNAL(errorMessage(QString)),
             this, SLOT(slotErrorMessage(QString)));
-    connect(m_view, SIGNAL(itemTriggered(KFileItem)),
-            this, SLOT(slotItemTriggered(KFileItem)));
+    connect(m_view, SIGNAL(itemActivated(KFileItem)),
+            this, SLOT(slotItemActivated(KFileItem)));
     connect(m_view, SIGNAL(tabRequested(KUrl)),
             this, SLOT(createNewWindow(KUrl)));
-    connect(m_view, SIGNAL(requestContextMenu(KFileItem,KUrl,QList<QAction*>)),
-            this, SLOT(slotOpenContextMenu(KFileItem,KUrl,QList<QAction*>)));
+    connect(m_view, SIGNAL(requestContextMenu(QPoint,KFileItem,KUrl,QList<QAction*>)),
+            this, SLOT(slotOpenContextMenu(QPoint,KFileItem,KUrl,QList<QAction*>)));
     connect(m_view, SIGNAL(selectionChanged(KFileItemList)),
             m_extension, SIGNAL(selectionInfo(KFileItemList)));
     connect(m_view, SIGNAL(selectionChanged(KFileItemList)),
             this, SLOT(slotSelectionChanged(KFileItemList)));
     connect(m_view, SIGNAL(requestItemInfo(KFileItem)),
             this, SLOT(slotRequestItemInfo(KFileItem)));
-    connect(m_view, SIGNAL(modeChanged()),
+    connect(m_view, SIGNAL(modeChanged(DolphinView::Mode,DolphinView::Mode)),
             this, SIGNAL(viewModeChanged())); // relay signal
-    connect(m_view, SIGNAL(redirection(KUrl, KUrl)),
-            this, SLOT(slotRedirection(KUrl, KUrl)));
+    connect(m_view, SIGNAL(redirection(KUrl,KUrl)),
+            this, SLOT(slotDirectoryRedirection(KUrl,KUrl)));
 
     // Watch for changes that should result in updates to the
     // status bar text.
     connect(m_view, SIGNAL(itemCountChanged()), this, SLOT(updateStatusBar()));
-    connect(m_view,  SIGNAL(selectionChanged(const KFileItemList)), this, SLOT(updateStatusBar()));
+    connect(m_view,  SIGNAL(selectionChanged(KFileItemList)), this, SLOT(updateStatusBar()));
 
     m_actionHandler = new DolphinViewActionHandler(actionCollection(), this);
     m_actionHandler->setCurrentView(m_view);
@@ -131,7 +128,6 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL
 
 DolphinPart::~DolphinPart()
 {
-    DolphinSettings::instance().save();
     DolphinNewFileMenuObserver::instance().detach(m_newFileMenu);
 }
 
@@ -331,7 +327,7 @@ void DolphinPart::slotRequestItemInfo(const KFileItem& item)
     }
 }
 
-void DolphinPart::slotItemTriggered(const KFileItem& item)
+void DolphinPart::slotItemActivated(const KFileItem& item)
 {
     KParts::OpenUrlArguments args;
     // Forget about the known mimetype if a target URL is used.
@@ -350,11 +346,12 @@ void DolphinPart::slotItemTriggered(const KFileItem& item)
 void DolphinPart::createNewWindow(const KUrl& url)
 {
     // TODO: Check issue N176832 for the missing QAIV signal; task 177399 - maybe this code
-    // should be moved into DolphinPart::slotItemTriggered()
+    // should be moved into DolphinPart::slotItemActivated()
     emit m_extension->createNewWindow(url);
 }
 
-void DolphinPart::slotOpenContextMenu(const KFileItem& _item,
+void DolphinPart::slotOpenContextMenu(const QPoint& pos,
+                                      const KFileItem& _item,
                                       const KUrl&,
                                       const QList<QAction*>& customActions)
 {
@@ -432,7 +429,7 @@ void DolphinPart::slotOpenContextMenu(const KFileItem& _item,
 
     actionGroups.insert("editactions", editActions);
 
-    emit m_extension->popupMenu(QCursor::pos(),
+    emit m_extension->popupMenu(pos,
                                 items,
                                 KParts::OpenUrlArguments(),
                                 KParts::BrowserArguments(),
@@ -440,7 +437,7 @@ void DolphinPart::slotOpenContextMenu(const KFileItem& _item,
                                 actionGroups);
 }
 
-void DolphinPart::slotRedirection(const KUrl& oldUrl, const KUrl& newUrl)
+void DolphinPart::slotDirectoryRedirection(const KUrl& oldUrl, const KUrl& newUrl)
 {
     //kDebug() << oldUrl << newUrl << "currentUrl=" << url();
     if (oldUrl.equals(url(), KUrl::CompareWithoutTrailingSlash /* #207572 */)) {
@@ -480,7 +477,7 @@ void DolphinPart::openSelectionDialog(const QString& title, const QString& text,
 
     if (okClicked && !pattern.isEmpty()) {
         QRegExp patternRegExp(pattern, Qt::CaseSensitive, QRegExp::Wildcard);
-        m_view->setItemSelectionEnabled(patternRegExp, selectItems);
+        m_view->selectItems(patternRegExp, selectItems);
     }
 }
 
@@ -531,7 +528,7 @@ void DolphinPart::updateNewMenu()
 {
     // As requested by KNewFileMenu :
     m_newFileMenu->checkUpToDate();
-    m_newFileMenu->setViewShowsHiddenFiles(m_view->showHiddenFiles());
+    m_newFileMenu->setViewShowsHiddenFiles(m_view->hiddenFilesShown());
     // And set the files that the menu apply on :
     m_newFileMenu->setPopupFiles(url());
 }
@@ -548,7 +545,7 @@ void DolphinPart::updateProgress(int percent)
 
 void DolphinPart::createDirectory()
 {
-    m_newFileMenu->setViewShowsHiddenFiles(m_view->showHiddenFiles());
+    m_newFileMenu->setViewShowsHiddenFiles(m_view->hiddenFilesShown());
     m_newFileMenu->setPopupFiles(url());
     m_newFileMenu->createDirectory();
 }
@@ -594,7 +591,7 @@ void DolphinPartBrowserExtension::pasteTo(const KUrl&)
 
 void DolphinPartBrowserExtension::reparseConfiguration()
 {
-    m_part->view()->refresh();
+    m_part->view()->readSettings();
 }
 
 ////
@@ -611,7 +608,7 @@ DolphinPart* DolphinPartFileInfoExtension::part() const
 
 bool DolphinPartFileInfoExtension::hasSelection() const
 {
-    return part()->view()->hasSelection();
+    return part()->view()->selectedItemsCount() > 0;
 }
 
 KParts::FileInfoExtension::QueryModes DolphinPartFileInfoExtension::supportedQueryModes() const