From 4683c03be607bd5931213ecd671cb6d944c18647 Mon Sep 17 00:00:00 2001 From: Antonio Rojas Date: Fri, 15 Jan 2021 18:02:03 +0100 Subject: [PATCH] Don't show "Add network folder" button if knetattach is not available knetattach is part of plasma-desktop, so it doesn't necessarily have to be installed. In that case, instead of showing a button that doesn't do anything, don't show it at all. --- src/dolphinnavigatorswidgetaction.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/dolphinnavigatorswidgetaction.cpp b/src/dolphinnavigatorswidgetaction.cpp index e42e9c3eed..be88b61af4 100644 --- a/src/dolphinnavigatorswidgetaction.cpp +++ b/src/dolphinnavigatorswidgetaction.cpp @@ -260,9 +260,9 @@ QPushButton *DolphinNavigatorsWidgetAction::newNetworkFolderButton(const Dolphin auto networkFolderButton = new QPushButton(QIcon::fromTheme(QStringLiteral("folder-add")), i18nc("@action:button", "Add Network Folder"), parent); networkFolderButton->setFlat(true); + KService::Ptr service = KService::serviceByDesktopName(QStringLiteral("org.kde.knetattach")); connect(networkFolderButton, &QPushButton::clicked, - this, [networkFolderButton]() { - KService::Ptr service = KService::serviceByDesktopName(QStringLiteral("org.kde.knetattach")); + this, [networkFolderButton, service]() { auto *job = new KIO::ApplicationLauncherJob(service, networkFolderButton); auto *delegate = new KNotificationJobUiDelegate; delegate->setAutoErrorHandlingEnabled(true); @@ -270,8 +270,8 @@ QPushButton *DolphinNavigatorsWidgetAction::newNetworkFolderButton(const Dolphin job->start(); }); networkFolderButton->hide(); - connect(urlNavigator, &KUrlNavigator::urlChanged, this, [networkFolderButton, urlNavigator]() { - networkFolderButton->setVisible(urlNavigator->locationUrl().scheme() == QLatin1String("remote")); + connect(urlNavigator, &KUrlNavigator::urlChanged, this, [networkFolderButton, urlNavigator, service]() { + networkFolderButton->setVisible(service && urlNavigator->locationUrl().scheme() == QLatin1String("remote")); }); return networkFolderButton; }