diff options
Diffstat (limited to 'src/dolphinmainwindow.cpp')
| -rw-r--r-- | src/dolphinmainwindow.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp index 961607d86..f3a5e3b4e 100644 --- a/src/dolphinmainwindow.cpp +++ b/src/dolphinmainwindow.cpp @@ -56,10 +56,10 @@ #include <KStandardAction> #include <KStartupInfo> #include <KSycoca> +#include <KTerminalLauncherJob> #include <KToggleAction> #include <KToolBar> #include <KToolBarPopupAction> -#include <KToolInvocation> #include <KUrlComboBox> #include <KUrlNavigator> #include <KWindowSystem> @@ -211,11 +211,9 @@ DolphinMainWindow::DolphinMainWindow() : QTimer::singleShot(0, this, &DolphinMainWindow::updateOpenPreferredSearchToolAction); m_fileItemActions.setParentWidget(this); -#if KIO_VERSION >= QT_VERSION_CHECK(5, 82, 0) connect(&m_fileItemActions, &KFileItemActions::error, this, [this](const QString &errorMessage) { showErrorMessage(errorMessage); }); -#endif } DolphinMainWindow::~DolphinMainWindow() @@ -1035,7 +1033,9 @@ void DolphinMainWindow::openTerminal() const QUrl url = m_activeViewContainer->url(); if (url.isLocalFile()) { - KToolInvocation::invokeTerminal(QString(), {}, url.toLocalFile()); + auto job = new KTerminalLauncherJob(QString()); + job->setWorkingDirectory(url.toLocalFile()); + job->start(); return; } @@ -1049,14 +1049,18 @@ void DolphinMainWindow::openTerminal() statUrl = job->mostLocalUrl(); } - KToolInvocation::invokeTerminal(QString(), {}, statUrl.isLocalFile() ? statUrl.toLocalFile() : QDir::homePath()); + auto job = new KTerminalLauncherJob(QString()); + job->setWorkingDirectory(statUrl.isLocalFile() ? statUrl.toLocalFile() : QDir::homePath()); + job->start(); }); return; } // Nothing worked, just use $HOME - KToolInvocation::invokeTerminal(QString(), {}, QDir::homePath()); + auto job = new KTerminalLauncherJob(QString()); + job->setWorkingDirectory(QDir::homePath()); + job->start(); } void DolphinMainWindow::editSettings() @@ -1529,7 +1533,8 @@ void DolphinMainWindow::setupActions() stashSplit->setToolTip(i18nc("@info", "Opens the stash virtual directory in a split window")); stashSplit->setIcon(QIcon::fromTheme(QStringLiteral("folder-stash"))); stashSplit->setCheckable(false); - stashSplit->setVisible(QDBusConnection::sessionBus().interface()->isServiceRegistered(QStringLiteral("org.kde.kio.StashNotifier"))); + QDBusConnectionInterface *sessionInterface = QDBusConnection::sessionBus().interface(); + stashSplit->setVisible(sessionInterface && sessionInterface->isServiceRegistered(QStringLiteral("org.kde.kio.StashNotifier"))); connect(stashSplit, &QAction::triggered, this, &DolphinMainWindow::toggleSplitStash); KStandardAction::redisplay(this, &DolphinMainWindow::reloadView, actionCollection()); |
