X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/0b81b4baf9c7eebbdcf45745077d5a009635b9c8..8e55f2c2409fd6ca9ebc66a6568f4d3bcbef7576:/src/dolphinpart.cpp diff --git a/src/dolphinpart.cpp b/src/dolphinpart.cpp index 9c551d67a..575c30417 100644 --- a/src/dolphinpart.cpp +++ b/src/dolphinpart.cpp @@ -16,23 +16,24 @@ #include "views/dolphinview.h" #include "views/dolphinviewactionhandler.h" -#include #include #include #include #include #include #include +#include #include #include #include #include #include -#include +#include #include -#include +#include #include -#include +#include +#include #include #include @@ -68,7 +69,7 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, connect(&DolphinNewFileMenuObserver::instance(), &DolphinNewFileMenuObserver::errorMessage, this, &DolphinPart::slotErrorMessage); - connect(m_view, &DolphinView::directoryLoadingCompleted, this, QOverload<>::of(&KParts::ReadOnlyPart::completed)); + connect(m_view, &DolphinView::directoryLoadingCompleted, this, &KParts::ReadOnlyPart::completed); connect(m_view, &DolphinView::directoryLoadingCompleted, this, &DolphinPart::updatePasteAction); connect(m_view, &DolphinView::directoryLoadingProgress, this, &DolphinPart::updateProgress); connect(m_view, &DolphinView::errorMessage, this, &DolphinPart::slotErrorMessage); @@ -94,7 +95,7 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, connect(m_view, &DolphinView::requestContextMenu, this, &DolphinPart::slotOpenContextMenu); connect(m_view, &DolphinView::selectionChanged, - m_extension, QOverload::of(&KParts::BrowserExtension::selectionInfo)); + m_extension, &KParts::BrowserExtension::selectionInfo); connect(m_view, &DolphinView::selectionChanged, this, &DolphinPart::slotSelectionChanged); connect(m_view, &DolphinView::requestItemInfo, @@ -109,7 +110,7 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, connect(m_view, &DolphinView::itemCountChanged, this, &DolphinPart::updateStatusBar); connect(m_view, &DolphinView::selectionChanged, this, &DolphinPart::updateStatusBar); - m_actionHandler = new DolphinViewActionHandler(actionCollection(), this); + m_actionHandler = new DolphinViewActionHandler(actionCollection(), nullptr, this); m_actionHandler->setCurrentView(m_view); connect(m_actionHandler, &DolphinViewActionHandler::createDirectoryTriggered, this, &DolphinPart::createDirectory); @@ -146,8 +147,6 @@ DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, // TODO there was a "always open a new window" (when clicking on a directory) setting in konqueror // (sort of spacial navigation) - - loadPlugins(this, this, componentName()); } DolphinPart::~DolphinPart() @@ -387,8 +386,8 @@ void DolphinPart::createNewWindow(const QUrl& url) void DolphinPart::slotOpenContextMenu(const QPoint& pos, const KFileItem& _item, - const QUrl &, - const QList& customActions) + const KFileItemList &selectedItems, + const QUrl &) { KParts::BrowserExtension::PopupFlags popupFlags = KParts::BrowserExtension::DefaultPopupItems | KParts::BrowserExtension::ShowProperties @@ -404,13 +403,11 @@ void DolphinPart::slotOpenContextMenu(const QPoint& pos, item.setUrl(url()); // ensure we use the view url, not the canonical path (#213799) } - // TODO: We should change the signature of the slots (and signals) for being able - // to tell for which items we want a popup. KFileItemList items; - if (m_view->selectedItems().isEmpty()) { + if (selectedItems.isEmpty()) { items.append(item); } else { - items = m_view->selectedItems(); + items = selectedItems; } KFileItemListProperties capabilities(items); @@ -418,7 +415,6 @@ void DolphinPart::slotOpenContextMenu(const QPoint& pos, KParts::BrowserExtension::ActionGroupMap actionGroups; QList editActions; editActions += m_view->versionControlActions(m_view->selectedItems()); - editActions += customActions; if (!_item.isNull()) { // only for context menu on one or more items const bool supportsMoving = capabilities.supportsMoving(); @@ -567,7 +563,9 @@ QString DolphinPart::localFilePathOrHome() const void DolphinPart::slotOpenTerminal() { - KToolInvocation::invokeTerminal(QString(), {}, localFilePathOrHome()); + auto job = new KTerminalLauncherJob(QString()); + job->setWorkingDirectory(localFilePathOrHome()); + job->start(); } void DolphinPart::slotFindFile() @@ -591,9 +589,12 @@ void DolphinPart::updateNewMenu() { // As requested by KNewFileMenu : m_newFileMenu->checkUpToDate(); - m_newFileMenu->setViewShowsHiddenFiles(m_view->hiddenFilesShown()); // And set the files that the menu apply on : +#if KIO_VERSION >= QT_VERSION_CHECK(5, 97, 0) + m_newFileMenu->setWorkingDirectory(url()); +#else m_newFileMenu->setPopupFiles(QList() << url()); +#endif } void DolphinPart::updateStatusBar() @@ -608,8 +609,11 @@ void DolphinPart::updateProgress(int percent) void DolphinPart::createDirectory() { - m_newFileMenu->setViewShowsHiddenFiles(m_view->hiddenFilesShown()); +#if KIO_VERSION >= QT_VERSION_CHECK(5, 97, 0) + m_newFileMenu->setWorkingDirectory(url()); +#else m_newFileMenu->setPopupFiles(QList() << url()); +#endif m_newFileMenu->createDirectory(); }