mirror of
https://invent.kde.org/system/dolphin
synced 2024-08-22 01:40:02 +00:00
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
This commit is contained in:
parent
b14f98de19
commit
b339ac1b5f
|
@ -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());
|
||||
|
|
Loading…
Reference in a new issue