┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEike Hein <[email protected]>2020-12-28 17:57:44 +0100
committerElvis Angelaccio <[email protected]>2020-12-28 17:59:14 +0100
commitb339ac1b5f22efb57619c738eb39268c3e00948d (patch)
treee8a0e22c97297b3b74c2b2f4bb63f7e6d884dc4e
parentb14f98de19b97bcf8ca967f635c6df39963df2b0 (diff)
Use a faster way to determine kio-stash isn't installed
Summary: Dolphin needs to figure out whether or not kio-stash is installed to set the enabled state of a UI action. When KProtocolInfo::isKnownProtocol can't find a protocol it gets worried its protocol cache might be out of date, so it rebuilds it (doing plenty of disk I/O) and looks again. kio-stash is currently not yet installed on many systems, so this means most Dolphin startups out there. This patch switches to using QDBusConnectionInterface::isServiceRegistered instead to determine whether the stash notifier daemon is running, which should be faster than doing disk I/O. Reviewers: davidedmundson, elvisangelaccio, shortstheory Subscribers: emmanuelp, alexeymin, ngraham, #dolphin Differential Revision: https://phabricator.kde.org/D9094
-rw-r--r--src/dolphinmainwindow.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dolphinmainwindow.cpp b/src/dolphinmainwindow.cpp
index 96ca3d448..096429f73 100644
--- a/src/dolphinmainwindow.cpp
+++ b/src/dolphinmainwindow.cpp
@@ -1523,7 +1523,7 @@ 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(KProtocolInfo::isKnownProtocol("stash"));
+ stashSplit->setVisible(QDBusConnection::sessionBus().interface()->isServiceRegistered(QStringLiteral("org.kde.kio.StashNotifier")));
connect(stashSplit, &QAction::triggered, this, &DolphinMainWindow::toggleSplitStash);
KStandardAction::redisplay(this, &DolphinMainWindow::reloadView, actionCollection());