diff --git a/runners/recentdocuments/recentdocuments.h b/runners/recentdocuments/recentdocuments.h --- a/runners/recentdocuments/recentdocuments.h +++ b/runners/recentdocuments/recentdocuments.h @@ -20,15 +20,14 @@ #ifndef RECENTDOCUMENTS_H #define RECENTDOCUMENTS_H -#include +#include -#include class RecentDocuments : public Plasma::AbstractRunner { Q_OBJECT public: - RecentDocuments( QObject *parent, const QVariantList& args ); + RecentDocuments(QObject *parent, const QVariantList& args); ~RecentDocuments() override; void match(Plasma::RunnerContext &context) override; diff --git a/runners/recentdocuments/recentdocuments.cpp b/runners/recentdocuments/recentdocuments.cpp --- a/runners/recentdocuments/recentdocuments.cpp +++ b/runners/recentdocuments/recentdocuments.cpp @@ -19,27 +19,21 @@ #include "recentdocuments.h" -#include -#include #include - +#include #include -#include #include #include #include #include #include K_EXPORT_PLASMA_RUNNER(recentdocuments, RecentDocuments) -static const QString s_openParentDirId = QStringLiteral("openParentDir"); - -RecentDocuments::RecentDocuments(QObject *parent, const QVariantList& args) +RecentDocuments::RecentDocuments(QObject *parent, const QVariantList &args) : Plasma::AbstractRunner(parent, args) { - Q_UNUSED(args); - setObjectName( QStringLiteral("Recent Documents" )); + setObjectName(QStringLiteral("Recent Documents")); loadRecentDocuments(); // listen for changes to the list of recent documents KDirWatch *recentDocWatch = new KDirWatch(this); @@ -49,25 +43,20 @@ connect(recentDocWatch, &KDirWatch::dirty, this, &RecentDocuments::loadRecentDocuments); addSyntax(Plasma::RunnerSyntax(QStringLiteral(":q:"), i18n("Looks for documents recently used with names matching :q:."))); - addAction(s_openParentDirId, QIcon::fromTheme(QStringLiteral("document-open-folder")), i18n("Open Containing Folder")); + addAction(QStringLiteral("openParentDir"), QIcon::fromTheme(QStringLiteral("document-open-folder")), i18n("Open Containing Folder")); } -RecentDocuments::~RecentDocuments() -{ -} +RecentDocuments::~RecentDocuments() = default; void RecentDocuments::loadRecentDocuments() { m_recentdocuments = KRecentDocument::recentDocuments(); + suspendMatching(m_recentdocuments.isEmpty()); } void RecentDocuments::match(Plasma::RunnerContext &context) { - if (m_recentdocuments.isEmpty()) { - return; - } - const QString term = context.query(); if (term.length() < 3) { return; @@ -104,7 +93,7 @@ if (folderUrl.isLocalFile()) { QString folderPath = folderUrl.toLocalFile(); if (folderPath.startsWith(homePath)) { - folderPath.replace(0, homePath.length(), QStringLiteral("~")); + folderPath.replace(0, homePath.length(), QChar('~')); } match.setSubtext(folderPath); } else { @@ -122,7 +111,7 @@ const QString url = match.data().toString(); - if (match.selectedAction() && match.selectedAction() == action(s_openParentDirId)) { + if (match.selectedAction()) { KIO::highlightInFileManager({QUrl(url)}); return; } @@ -133,18 +122,14 @@ QList RecentDocuments::actionsForMatch(const Plasma::QueryMatch &match) { - Q_UNUSED(match) - - QList actions; - if (QUrl(match.data().toString()).isLocalFile()) { - actions << action(s_openParentDirId); + return actions().values(); } - return actions; + return {}; } -QMimeData * RecentDocuments::mimeDataForMatch(const Plasma::QueryMatch& match) +QMimeData * RecentDocuments::mimeDataForMatch(const Plasma::QueryMatch &match) { QMimeData *result = new QMimeData(); result->setText(match.data().toString());