diff --git a/src/widgets/kpropertiesdialog.cpp b/src/widgets/kpropertiesdialog.cpp --- a/src/widgets/kpropertiesdialog.cpp +++ b/src/widgets/kpropertiesdialog.cpp @@ -1106,10 +1106,13 @@ sizelay->addWidget(d->m_sizeDetermineButton, 0); sizelay->addWidget(d->m_sizeStopButton, 0); - if (!QStandardPaths::findExecutable(QStringLiteral("filelight")).isEmpty()) { + KService::Ptr service = KService::serviceByDesktopName(QStringLiteral("org.kde.filelight")); + + if (service) { d->m_sizeDetailsButton = new QPushButton(i18n("Explore in Filelight"), d->m_frame); - d->m_sizeDetailsButton->setIcon(QIcon::fromTheme(QStringLiteral("filelight"))); - connect(d->m_sizeDetailsButton, &QPushButton::clicked, this, &KFilePropsPlugin::slotSizeDetails); + d->m_sizeDetailsButton->setIcon(QIcon::fromTheme(service->icon())); + connect(d->m_sizeDetailsButton, &QPushButton::clicked, this, [this, service]() { + KRun::runApplication(*service, { properties->url() }, properties->window());}); sizelay->addWidget(d->m_sizeDetailsButton, 0); } @@ -1447,12 +1450,6 @@ d->m_sizeDetermineButton->setEnabled(true); } -void KFilePropsPlugin::slotSizeDetails() -{ - // Open the current folder in filelight - KRun::run((QStandardPaths::findExecutable(QStringLiteral("filelight"))), { properties->url() }, properties->window(), QStringLiteral("Filelight"), QStringLiteral("filelight")); -} - KFilePropsPlugin::~KFilePropsPlugin() { delete d; diff --git a/src/widgets/kpropertiesdialog_p.h b/src/widgets/kpropertiesdialog_p.h --- a/src/widgets/kpropertiesdialog_p.h +++ b/src/widgets/kpropertiesdialog_p.h @@ -81,7 +81,6 @@ void slotFreeSpaceResult(KIO::Job *job, KIO::filesize_t size, KIO::filesize_t available); void slotSizeStop(); void slotSizeDetermine(); - void slotSizeDetails(); Q_SIGNALS: void leaveModality();