diff --git a/src/plugins/coreplugin/CMakeLists.txt b/src/plugins/coreplugin/CMakeLists.txt index edeadeb1142..af7c3c4edaa 100644 --- a/src/plugins/coreplugin/CMakeLists.txt +++ b/src/plugins/coreplugin/CMakeLists.txt @@ -108,6 +108,7 @@ add_qtc_plugin(Core locator/locatorsettingspage.cpp locator/locatorsettingspage.h locator/locatorsettingspage.ui locator/locatorwidget.cpp locator/locatorwidget.h locator/opendocumentsfilter.cpp locator/opendocumentsfilter.h + locator/urllocatorfilter.cpp locator/urllocatorfilter.h locator/urllocatorfilter.ui mainwindow.cpp mainwindow.h manhattanstyle.cpp manhattanstyle.h menubarfilter.cpp menubarfilter.h diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs index 4a603b655c3..346489102ed 100644 --- a/src/plugins/coreplugin/coreplugin.qbs +++ b/src/plugins/coreplugin/coreplugin.qbs @@ -363,13 +363,16 @@ Project { "locator.h", "locatorsearchutils.cpp", "locatorsearchutils.h", + "locatorsettingspage.cpp", + "locatorsettingspage.h", + "locatorsettingspage.ui", "locatorwidget.cpp", "locatorwidget.h", "opendocumentsfilter.cpp", "opendocumentsfilter.h", - "locatorsettingspage.cpp", - "locatorsettingspage.h", - "locatorsettingspage.ui", + "urllocatorfilter.cpp", + "urllocatorfilter.h", + "urllocatorfilter.ui" ] } diff --git a/src/plugins/coreplugin/locator/locator.cpp b/src/plugins/coreplugin/locator/locator.cpp index 48749cce3e9..024091696ab 100644 --- a/src/plugins/coreplugin/locator/locator.cpp +++ b/src/plugins/coreplugin/locator/locator.cpp @@ -36,6 +36,7 @@ #include "locatorsettingspage.h" #include "locatorwidget.h" #include "opendocumentsfilter.h" +#include "urllocatorfilter.h" #include #include @@ -82,6 +83,7 @@ public: ExternalToolsFilter m_externalToolsFilter; LocatorFiltersFilter m_locatorsFiltersFilter; MenuBarFilter m_menubarFilter; + UrlLocatorFilter m_urlFilter; #ifdef Q_OS_MACOS SpotlightLocatorFilter m_spotlightLocatorFilter; #endif diff --git a/src/plugins/coreplugin/locator/locator.pri b/src/plugins/coreplugin/locator/locator.pri index c5f2cfaf9c2..2223836c19f 100644 --- a/src/plugins/coreplugin/locator/locator.pri +++ b/src/plugins/coreplugin/locator/locator.pri @@ -15,6 +15,7 @@ HEADERS += \ $$PWD/executefilter.h \ $$PWD/locatorsearchutils.h \ $$PWD/locatorsettingspage.h \ + $$PWD/urllocatorfilter.h \ $$PWD/externaltoolsfilter.h SOURCES += \ @@ -31,7 +32,11 @@ SOURCES += \ $$PWD/executefilter.cpp \ $$PWD/locatorsearchutils.cpp \ $$PWD/locatorsettingspage.cpp \ - $$PWD/externaltoolsfilter.cpp \ + $$PWD/urllocatorfilter.cpp \ + $$PWD/externaltoolsfilter.cpp + +FORMS += \ + $$PWD/urllocatorfilter.ui qtHaveModule(script) { QT *= script diff --git a/src/plugins/help/remotehelpfilter.cpp b/src/plugins/coreplugin/locator/urllocatorfilter.cpp similarity index 76% rename from src/plugins/help/remotehelpfilter.cpp rename to src/plugins/coreplugin/locator/urllocatorfilter.cpp index 683754c75d6..2dc0cbd0ed9 100644 --- a/src/plugins/help/remotehelpfilter.cpp +++ b/src/plugins/coreplugin/locator/urllocatorfilter.cpp @@ -23,20 +23,21 @@ ** ****************************************************************************/ -#include "remotehelpfilter.h" +#include "urllocatorfilter.h" +#include #include #include -namespace Help { +namespace Core { namespace Internal { -RemoteFilterOptions::RemoteFilterOptions(RemoteHelpFilter *filter, QWidget *parent) +UrlFilterOptions::UrlFilterOptions(UrlLocatorFilter *filter, QWidget *parent) : QDialog(parent) , m_filter(filter) { m_ui.setupUi(this); - setWindowTitle(Core::ILocatorFilter::msgConfigureDialogTitle()); + setWindowTitle(ILocatorFilter::msgConfigureDialogTitle()); m_ui.prefixLabel->setText(Core::ILocatorFilter::msgPrefixLabel()); m_ui.prefixLabel->setToolTip(Core::ILocatorFilter::msgPrefixToolTip()); m_ui.includeByDefault->setText(Core::ILocatorFilter::msgIncludeByDefault()); @@ -51,20 +52,18 @@ RemoteFilterOptions::RemoteFilterOptions(RemoteHelpFilter *filter, QWidget *pare item->setFlags(item->flags() | Qt::ItemIsEditable); } - connect(m_ui.add, &QPushButton::clicked, - this, &RemoteFilterOptions::addNewItem); - connect(m_ui.remove, &QPushButton::clicked, - this, &RemoteFilterOptions::removeItem); - connect(m_ui.moveUp, &QPushButton::clicked, - this, &RemoteFilterOptions::moveItemUp); - connect(m_ui.moveDown, &QPushButton::clicked, - this, &RemoteFilterOptions::moveItemDown); - connect(m_ui.listWidget, &QListWidget::currentItemChanged, - this, &RemoteFilterOptions::updateActionButtons); + connect(m_ui.add, &QPushButton::clicked, this, &UrlFilterOptions::addNewItem); + connect(m_ui.remove, &QPushButton::clicked, this, &UrlFilterOptions::removeItem); + connect(m_ui.moveUp, &QPushButton::clicked, this, &UrlFilterOptions::moveItemUp); + connect(m_ui.moveDown, &QPushButton::clicked, this, &UrlFilterOptions::moveItemDown); + connect(m_ui.listWidget, + &QListWidget::currentItemChanged, + this, + &UrlFilterOptions::updateActionButtons); updateActionButtons(); } -void RemoteFilterOptions::addNewItem() +void UrlFilterOptions::addNewItem() { QListWidgetItem *item = new QListWidgetItem(tr("Double-click to edit item.")); m_ui.listWidget->addItem(item); @@ -74,7 +73,7 @@ void RemoteFilterOptions::addNewItem() m_ui.listWidget->editItem(item); } -void RemoteFilterOptions::removeItem() +void UrlFilterOptions::removeItem() { if (QListWidgetItem *item = m_ui.listWidget->currentItem()) { m_ui.listWidget->removeItemWidget(item); @@ -82,7 +81,7 @@ void RemoteFilterOptions::removeItem() } } -void RemoteFilterOptions::moveItemUp() +void UrlFilterOptions::moveItemUp() { const int row = m_ui.listWidget->currentRow(); if (row > 0) { @@ -92,7 +91,7 @@ void RemoteFilterOptions::moveItemUp() } } -void RemoteFilterOptions::moveItemDown() +void UrlFilterOptions::moveItemDown() { const int row = m_ui.listWidget->currentRow(); if (row >= 0 && row < m_ui.listWidget->count() - 1) { @@ -102,7 +101,7 @@ void RemoteFilterOptions::moveItemDown() } } -void RemoteFilterOptions::updateActionButtons() +void UrlFilterOptions::updateActionButtons() { m_ui.remove->setEnabled(m_ui.listWidget->currentItem()); const int row = m_ui.listWidget->currentRow(); @@ -110,9 +109,11 @@ void RemoteFilterOptions::updateActionButtons() m_ui.moveDown->setEnabled(row >= 0 && row < m_ui.listWidget->count() - 1); } -// -- RemoteHelpFilter +} // namespace Internal -RemoteHelpFilter::RemoteHelpFilter() +// -- UrlLocatorFilter + +UrlLocatorFilter::UrlLocatorFilter() { setId("RemoteHelpFilter"); setDisplayName(tr("Web Search")); @@ -127,9 +128,10 @@ RemoteHelpFilter::RemoteHelpFilter() m_remoteUrls.append("https://en.wikipedia.org/w/index.php?search=%1"); } -RemoteHelpFilter::~RemoteHelpFilter() = default; +UrlLocatorFilter::~UrlLocatorFilter() = default; -QList RemoteHelpFilter::matchesFor(QFutureInterface &future, const QString &entry) +QList UrlLocatorFilter::matchesFor( + QFutureInterface &future, const QString &entry) { QList entries; const QStringList urls = remoteUrls(); @@ -144,24 +146,26 @@ QList RemoteHelpFilter::matchesFor(QFutureInterface &future) +void UrlLocatorFilter::refresh(QFutureInterface &future) { Q_UNUSED(future) // Nothing to refresh } -QByteArray RemoteHelpFilter::saveState() const +QByteArray UrlLocatorFilter::saveState() const { QByteArray value; QDataStream out(&value, QIODevice::WriteOnly); @@ -171,7 +175,7 @@ QByteArray RemoteHelpFilter::saveState() const return value; } -void RemoteHelpFilter::restoreState(const QByteArray &state) +void UrlLocatorFilter::restoreState(const QByteArray &state) { QDataStream in(state); @@ -188,10 +192,10 @@ void RemoteHelpFilter::restoreState(const QByteArray &state) setIncludedByDefault(defaultFilter); } -bool RemoteHelpFilter::openConfigDialog(QWidget *parent, bool &needsRefresh) +bool UrlLocatorFilter::openConfigDialog(QWidget *parent, bool &needsRefresh) { Q_UNUSED(needsRefresh) - RemoteFilterOptions optionsDialog(this, parent); + Internal::UrlFilterOptions optionsDialog(this, parent); if (optionsDialog.exec() == QDialog::Accepted) { QMutexLocker lock(&m_mutex); Q_UNUSED(lock) m_remoteUrls.clear(); @@ -204,11 +208,10 @@ bool RemoteHelpFilter::openConfigDialog(QWidget *parent, bool &needsRefresh) return true; } -QStringList RemoteHelpFilter::remoteUrls() const +QStringList UrlLocatorFilter::remoteUrls() const { QMutexLocker lock(&m_mutex); Q_UNUSED(lock) return m_remoteUrls; } -} // namespace Internal -} // namespace Help +} // namespace Core diff --git a/src/plugins/help/remotehelpfilter.h b/src/plugins/coreplugin/locator/urllocatorfilter.h similarity index 80% rename from src/plugins/help/remotehelpfilter.h rename to src/plugins/coreplugin/locator/urllocatorfilter.h index 550c67fc86e..d26beb31992 100644 --- a/src/plugins/help/remotehelpfilter.h +++ b/src/plugins/coreplugin/locator/urllocatorfilter.h @@ -25,22 +25,23 @@ #pragma once -#include "ui_remotehelpfilter.h" +#include "ui_urllocatorfilter.h" -#include +#include "ilocatorfilter.h" + +#include #include #include -namespace Help { -namespace Internal { +namespace Core { -class RemoteHelpFilter : public Core::ILocatorFilter +class CORE_EXPORT UrlLocatorFilter : public Core::ILocatorFilter { Q_OBJECT public: - RemoteHelpFilter(); - ~RemoteHelpFilter() final; + UrlLocatorFilter(); + ~UrlLocatorFilter() final; // ILocatorFilter QList matchesFor(QFutureInterface &future, @@ -54,22 +55,21 @@ public: QStringList remoteUrls() const; -signals: - void linkActivated(const QUrl &url) const; - private: QIcon m_icon; QStringList m_remoteUrls; mutable QMutex m_mutex; }; -class RemoteFilterOptions : public QDialog +namespace Internal { + +class UrlFilterOptions : public QDialog { Q_OBJECT - friend class RemoteHelpFilter; + friend class Core::UrlLocatorFilter; public: - explicit RemoteFilterOptions(RemoteHelpFilter *filter, QWidget *parent = nullptr); + explicit UrlFilterOptions(UrlLocatorFilter *filter, QWidget *parent = nullptr); private: void addNewItem(); @@ -78,9 +78,10 @@ private: void moveItemDown(); void updateActionButtons(); - RemoteHelpFilter *m_filter = nullptr; - Ui::RemoteFilterOptions m_ui; + UrlLocatorFilter *m_filter = nullptr; + Ui::UrlFilterOptions m_ui; }; } // namespace Internal -} // namespace Help + +} // namespace Core diff --git a/src/plugins/help/remotehelpfilter.ui b/src/plugins/coreplugin/locator/urllocatorfilter.ui similarity index 95% rename from src/plugins/help/remotehelpfilter.ui rename to src/plugins/coreplugin/locator/urllocatorfilter.ui index 5c70d032a09..b06dbfb5f7f 100644 --- a/src/plugins/help/remotehelpfilter.ui +++ b/src/plugins/coreplugin/locator/urllocatorfilter.ui @@ -1,7 +1,7 @@ - Help::Internal::RemoteFilterOptions - + Core::Internal::UrlFilterOptions + 0 @@ -154,7 +154,7 @@ buttonBox accepted() - Help::Internal::RemoteFilterOptions + Core::Internal::UrlFilterOptions accept() @@ -170,7 +170,7 @@ buttonBox rejected() - Help::Internal::RemoteFilterOptions + Core::Internal::UrlFilterOptions reject() diff --git a/src/plugins/help/CMakeLists.txt b/src/plugins/help/CMakeLists.txt index ac70c823e2a..a6711862638 100644 --- a/src/plugins/help/CMakeLists.txt +++ b/src/plugins/help/CMakeLists.txt @@ -20,7 +20,6 @@ add_qtc_plugin(Help openpagesmanager.cpp openpagesmanager.h openpagesswitcher.cpp openpagesswitcher.h openpageswidget.cpp openpageswidget.h - remotehelpfilter.cpp remotehelpfilter.h remotehelpfilter.ui searchtaskhandler.cpp searchtaskhandler.h searchwidget.cpp searchwidget.h textbrowserhelpviewer.cpp textbrowserhelpviewer.h diff --git a/src/plugins/help/help.pro b/src/plugins/help/help.pro index f4786112958..7b58578ef1c 100644 --- a/src/plugins/help/help.pro +++ b/src/plugins/help/help.pro @@ -23,7 +23,6 @@ HEADERS += \ openpagesmanager.h \ openpagesswitcher.h \ openpageswidget.h \ - remotehelpfilter.h \ searchwidget.h \ xbelsupport.h \ searchtaskhandler.h \ @@ -44,7 +43,6 @@ SOURCES += \ openpagesmanager.cpp \ openpagesswitcher.cpp \ openpageswidget.cpp \ - remotehelpfilter.cpp \ searchwidget.cpp \ xbelsupport.cpp \ searchtaskhandler.cpp \ @@ -53,8 +51,7 @@ SOURCES += \ FORMS += docsettingspage.ui \ filtersettingspage.ui \ - generalsettingspage.ui \ - remotehelpfilter.ui + generalsettingspage.ui !isEmpty(QT.webenginewidgets.name) { QT += webenginewidgets diff --git a/src/plugins/help/help.qbs b/src/plugins/help/help.qbs index d1458d8470f..d7dde195bbc 100644 --- a/src/plugins/help/help.qbs +++ b/src/plugins/help/help.qbs @@ -44,7 +44,6 @@ QtcPlugin { "openpagesmanager.cpp", "openpagesmanager.h", "openpagesswitcher.cpp", "openpagesswitcher.h", "openpageswidget.cpp", "openpageswidget.h", - "remotehelpfilter.cpp", "remotehelpfilter.h", "remotehelpfilter.ui", "searchtaskhandler.cpp", "searchtaskhandler.h", "searchwidget.cpp", "searchwidget.h", "textbrowserhelpviewer.cpp", "textbrowserhelpviewer.h", diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp index a6ae3dcb43e..02f29931f10 100644 --- a/src/plugins/help/helpplugin.cpp +++ b/src/plugins/help/helpplugin.cpp @@ -39,7 +39,6 @@ #include "helpwidget.h" #include "localhelpmanager.h" #include "openpagesmanager.h" -#include "remotehelpfilter.h" #include "searchtaskhandler.h" #include "searchwidget.h" #include "topicchooser.h" @@ -155,7 +154,6 @@ public: LocalHelpManager m_localHelpManager; HelpIndexFilter helpIndexFilter; - RemoteHelpFilter remoteHelpFilter; }; static HelpPluginPrivate *dd = nullptr; @@ -281,9 +279,6 @@ HelpPluginPrivate::HelpPluginPrivate() connect(&helpIndexFilter, &HelpIndexFilter::linksActivated, this, &HelpPluginPrivate::showLinksInCurrentViewer); - connect(&remoteHelpFilter, &RemoteHelpFilter::linkActivated, - this, &QDesktopServices::openUrl); - QDesktopServices::setUrlHandler("qthelp", HelpManager::instance(), "showHelpUrl"); connect(ModeManager::instance(), &ModeManager::currentModeChanged, this, &HelpPluginPrivate::modeChanged);