X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/12324da3265a27863602f95cdc4422d12cbe85ac..fbb73966b2bd4158472d977914a134818f9cfd55:/src/dolphinpart.cpp diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index c861e1d2b..6c6683d91 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include #include #include @@ -40,11 +41,8 @@ #include #include -#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" @@ -83,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)), - this, SLOT(slotOpenContextMenu(KFileItem,KUrl,QList))); + connect(m_view, SIGNAL(requestContextMenu(QPoint,KFileItem,KUrl,QList)), + this, SLOT(slotOpenContextMenu(QPoint,KFileItem,KUrl,QList))); 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(slotRedirection(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); @@ -130,7 +128,6 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantL DolphinPart::~DolphinPart() { - DolphinSettings::instance().save(); DolphinNewFileMenuObserver::instance().detach(m_newFileMenu); } @@ -193,6 +190,12 @@ void DolphinPart::createActions() goActionGroup); // Tools menu + KAction* findFile = actionCollection()->addAction("find_file"); + findFile->setText(i18nc("@action:inmenu Tools", "Find File...")); + findFile->setShortcut(Qt::CTRL | Qt::Key_F); + findFile->setIcon(KIcon("edit-find")); + connect(findFile, SIGNAL(triggered()), this, SLOT(slotFindFile())); + if (KAuthorized::authorizeKAction("shell_access")) { KAction* action = actionCollection()->addAction("open_terminal"); action->setIcon(KIcon("utilities-terminal")); @@ -200,7 +203,6 @@ void DolphinPart::createActions() connect(action, SIGNAL(triggered()), SLOT(slotOpenTerminal())); action->setShortcut(Qt::Key_F4); } - } void DolphinPart::createGoAction(const char* name, const char* iconName, @@ -325,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. @@ -344,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& customActions) { @@ -426,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(), @@ -516,11 +519,16 @@ void DolphinPart::slotOpenTerminal() KToolInvocation::invokeTerminal(QString(), dir); } +void DolphinPart::slotFindFile() +{ + KRun::run("kfind", url(), widget()); +} + 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()); } @@ -537,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(); }