runners: Set urls for matches

This saves us the custom implementation of mimeDataForMatch and
allows us to get the urls for example in milou, just like we already can
with the DBus runners.
wilder-5.22
Alexander Lohnau 5 years ago
parent aaf6cab4d4
commit ac7054366d
  1. 1
      runners/bookmarks/bookmarkmatch.cpp
  2. 12
      runners/bookmarks/bookmarksrunner.cpp
  3. 2
      runners/bookmarks/bookmarksrunner.h
  4. 8
      runners/locations/locationrunner.cpp
  5. 3
      runners/locations/locationrunner.h
  6. 12
      runners/places/placesrunner.cpp
  7. 1
      runners/places/placesrunner.h
  8. 8
      runners/recentdocuments/recentdocuments.cpp
  9. 3
      runners/recentdocuments/recentdocuments.h

@ -68,6 +68,7 @@ Plasma::QueryMatch BookmarkMatch::asQueryMatch(Plasma::AbstractRunner *runner)
match.setText(isNameEmpty ? (!isDescriptionEmpty ? m_description : m_bookmarkURL) : m_bookmarkTitle);
match.setData(m_bookmarkURL);
match.setUrls({QUrl(m_bookmarkURL)});
return match;
}

@ -124,16 +124,4 @@ void BookmarksRunner::run(const Plasma::RunnerContext &context, const Plasma::Qu
QDesktopServices::openUrl(url);
}
QMimeData *BookmarksRunner::mimeDataForMatch(const Plasma::QueryMatch &match)
{
QMimeData *result = new QMimeData();
QList<QUrl> urls;
urls << QUrl(match.data().toString());
result->setUrls(urls);
result->setText(match.data().toString());
return result;
}
#include "bookmarksrunner.moc"

@ -48,8 +48,6 @@ private:
private:
Browser *m_browser;
BrowserFactory *const m_browserFactory;
protected Q_SLOTS:
QMimeData *mimeDataForMatch(const Plasma::QueryMatch &match) override;
private Q_SLOTS:
void prep();

@ -80,6 +80,7 @@ void LocationsRunner::match(Plasma::RunnerContext &context)
const QString protocol = url.scheme();
Plasma::QueryMatch match(this);
match.setData(url);
match.setUrls({url});
if (!KProtocolInfo::isKnownProtocol(protocol) || KProtocolInfo::isHelperProtocol(protocol)) {
const KService::Ptr service = KApplicationTrader::preferredService(QLatin1String("x-scheme-handler/") + protocol);
@ -115,11 +116,4 @@ void LocationsRunner::run(const Plasma::RunnerContext &context, const Plasma::Qu
job->start();
}
QMimeData *LocationsRunner::mimeDataForMatch(const Plasma::QueryMatch &match)
{
QMimeData *result = new QMimeData();
result->setUrls({match.data().toUrl()});
return result;
}
#include "locationrunner.moc"

@ -31,9 +31,6 @@ public:
void match(Plasma::RunnerContext &context) override;
void run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &action) override;
protected Q_SLOTS:
QMimeData *mimeDataForMatch(const Plasma::QueryMatch &match) override;
};
#endif

@ -130,6 +130,7 @@ void PlacesRunnerHelper::match(Plasma::RunnerContext *c)
} else {
const QUrl url = KFilePlacesModel::convertedUrl(m_places.url(current_index));
match.setData(url);
match.setUrls({url});
match.setId(url.toDisplayString());
}
@ -169,15 +170,4 @@ void PlacesRunner::run(const Plasma::RunnerContext &context, const Plasma::Query
}
}
QMimeData *PlacesRunner::mimeDataForMatch(const Plasma::QueryMatch &match)
{
if (match.data().type() == QVariant::Url) {
QMimeData *result = new QMimeData();
result->setUrls({match.data().toUrl()});
return result;
}
return nullptr;
}
#include "placesrunner.moc"

@ -51,7 +51,6 @@ public:
void match(Plasma::RunnerContext &context) override;
void run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &action) override;
QMimeData *mimeDataForMatch(const Plasma::QueryMatch &match) override;
Q_SIGNALS:
void doMatch(Plasma::RunnerContext *context);

@ -96,6 +96,7 @@ void RecentDocuments::match(Plasma::RunnerContext &context)
match.setIconName(KIO::iconNameForUrl(url));
match.setRelevance(relevance);
match.setData(QVariant(url));
match.setUrls({url});
if (url.isLocalFile()) {
match.setActions(actions().values());
}
@ -125,11 +126,4 @@ void RecentDocuments::run(const Plasma::RunnerContext &context, const Plasma::Qu
job->start();
}
QMimeData *RecentDocuments::mimeDataForMatch(const Plasma::QueryMatch &match)
{
QMimeData *result = new QMimeData();
result->setUrls({match.data().toUrl()});
return result;
}
#include "recentdocuments.moc"

@ -34,9 +34,6 @@ public:
void match(Plasma::RunnerContext &context) override;
void run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &match) override;
private Q_SLOTS:
QMimeData *mimeDataForMatch(const Plasma::QueryMatch &match) override;
};
#endif

Loading…
Cancel
Save