diff --git a/src/plugins/coreplugin/locator/urllocatorfilter.cpp b/src/plugins/coreplugin/locator/urllocatorfilter.cpp index 70651e74eea..a0345cfc5fd 100644 --- a/src/plugins/coreplugin/locator/urllocatorfilter.cpp +++ b/src/plugins/coreplugin/locator/urllocatorfilter.cpp @@ -7,7 +7,6 @@ #include #include -#include #include #include @@ -19,7 +18,6 @@ #include #include #include -#include using namespace Utils; @@ -176,26 +174,19 @@ QList UrlLocatorFilter::matchesFor( if (future.isCanceled()) break; const QString name = url.arg(entry); - Core::LocatorFilterEntry filterEntry(this, name); + Core::LocatorFilterEntry filterEntry; + filterEntry.displayName = name; + filterEntry.acceptor = [name] { + if (!name.isEmpty()) + QDesktopServices::openUrl(name); + return AcceptResult(); + }; filterEntry.highlightInfo = {int(name.lastIndexOf(entry)), int(entry.length())}; entries.append(filterEntry); } return entries; } -void UrlLocatorFilter::accept(const Core::LocatorFilterEntry &selection, - QString *newText, - int *selectionStart, - int *selectionLength) const -{ - Q_UNUSED(newText) - Q_UNUSED(selectionStart) - Q_UNUSED(selectionLength) - const QString &url = selection.displayName; - if (!url.isEmpty()) - QDesktopServices::openUrl(url); -} - const char kDisplayNameKey[] = "displayName"; const char kRemoteUrlsKey[] = "remoteUrls"; diff --git a/src/plugins/coreplugin/locator/urllocatorfilter.h b/src/plugins/coreplugin/locator/urllocatorfilter.h index befe162d60e..9c438a147c0 100644 --- a/src/plugins/coreplugin/locator/urllocatorfilter.h +++ b/src/plugins/coreplugin/locator/urllocatorfilter.h @@ -30,8 +30,6 @@ public: // ILocatorFilter QList matchesFor(QFutureInterface &future, const QString &entry) override; - void accept(const Core::LocatorFilterEntry &selection, - QString *newText, int *selectionStart, int *selectionLength) const override; void restoreState(const QByteArray &state) override; bool openConfigDialog(QWidget *parent, bool &needsRefresh) override;