aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <[email protected]>2022-07-12 11:15:51 +0200
committerEike Ziller <[email protected]>2022-07-12 11:24:39 +0000
commita85e19cf1981c94500f186a3bfd740e73dd0081e (patch)
treeeaec247e628e8ce8d4dec2d5118a64711d0272f1
parentcea7be048677f7ab4bd72984374c43e7ec8ea6bc (diff)
Help: Remove code paths supporting old filter engine < Qt 5.15
Change-Id: Ie3008ac78294f8831c22e73aa325e1da3b4016f2 Reviewed-by: Jarek Kobus <[email protected]>
-rw-r--r--src/plugins/help/CMakeLists.txt7
-rw-r--r--src/plugins/help/filtersettingspage.cpp232
-rw-r--r--src/plugins/help/filtersettingspage.h22
-rw-r--r--src/plugins/help/filtersettingspage.ui148
-rw-r--r--src/plugins/help/help.qbs4
-rw-r--r--src/plugins/help/helpindexfilter.cpp119
-rw-r--r--src/plugins/help/helpindexfilter.h12
-rw-r--r--src/plugins/help/helpmanager.cpp100
-rw-r--r--src/plugins/help/helpmanager.h11
-rw-r--r--src/plugins/help/helpplugin.cpp45
-rw-r--r--src/plugins/help/helpwidget.cpp17
-rw-r--r--src/plugins/help/helpwidget.h2
-rw-r--r--src/plugins/help/localhelpmanager.cpp68
-rw-r--r--src/plugins/help/localhelpmanager.h24
-rw-r--r--src/shared/help/CMakeLists.txt5
-rw-r--r--src/shared/help/indexwindow.cpp6
16 files changed, 3 insertions, 819 deletions
diff --git a/src/plugins/help/CMakeLists.txt b/src/plugins/help/CMakeLists.txt
index 09050db7b96..b9f6a26de51 100644
--- a/src/plugins/help/CMakeLists.txt
+++ b/src/plugins/help/CMakeLists.txt
@@ -5,7 +5,7 @@ add_qtc_plugin(Help
PLUGIN_RECOMMENDS TextEditor
SOURCES
docsettingspage.cpp docsettingspage.h docsettingspage.ui
- filtersettingspage.cpp filtersettingspage.h filtersettingspage.ui
+ filtersettingspage.cpp filtersettingspage.h
generalsettingspage.cpp generalsettingspage.h generalsettingspage.ui
help.qrc
helpconstants.h
@@ -26,11 +26,6 @@ add_qtc_plugin(Help
xbelsupport.cpp xbelsupport.h
)
-extend_qtc_plugin(Help
- CONDITION Qt5_VERSION VERSION_GREATER_EQUAL 5.15.0
- DEFINES HELP_NEW_FILTER_ENGINE
-)
-
set(HELPVIEWER_DEFAULT_BACKEND "litehtml" CACHE STRING "Sets default help viewer backend")
set_property(CACHE HELPVIEWER_DEFAULT_BACKEND PROPERTY STRINGS "litehtml;qtwebengine;textbrowser")
diff --git a/src/plugins/help/filtersettingspage.cpp b/src/plugins/help/filtersettingspage.cpp
index 805ab844ed6..ea4cfb037d7 100644
--- a/src/plugins/help/filtersettingspage.cpp
+++ b/src/plugins/help/filtersettingspage.cpp
@@ -26,29 +26,11 @@
#include "filtersettingspage.h"
#include "helpconstants.h"
-#ifndef HELP_NEW_FILTER_ENGINE
-
-#include "helpmanager.h"
-
-#include <filternamedialog.h>
-
-#include <coreplugin/helpmanager.h>
-
-#include <utils/algorithm.h>
-
-#include <QCoreApplication>
-#include <QFileDialog>
-#include <QMessageBox>
-
-#else
-
#include <QtCore/QVersionNumber>
#include <QtHelp/QHelpFilterEngine>
#include <QtHelp/QHelpFilterSettingsWidget>
#include "localhelpmanager.h"
-#endif
-
using namespace Help::Internal;
FilterSettingsPage::FilterSettingsPage()
@@ -58,218 +40,6 @@ FilterSettingsPage::FilterSettingsPage()
setCategory(Help::Constants::HELP_CATEGORY);
}
-#ifndef HELP_NEW_FILTER_ENGINE
-
-QWidget *FilterSettingsPage::widget()
-{
- if (!m_widget) {
- m_widget = new QWidget;
- m_ui.setupUi(m_widget);
-
- updateFilterPage();
-
- connect(m_ui.attributeWidget, &QTreeWidget::itemChanged,
- this, &FilterSettingsPage::updateFilterMap);
- connect(m_ui.filterWidget, &QListWidget::currentItemChanged,
- this, &FilterSettingsPage::updateAttributes);
- connect(m_ui.filterAddButton, &QPushButton::clicked,
- this, &FilterSettingsPage::addFilter);
- connect(m_ui.filterRemoveButton, &QPushButton::clicked,
- this, &FilterSettingsPage::removeFilter);
- connect(Core::HelpManager::Signals::instance(),
- &Core::HelpManager::Signals::documentationChanged,
- this,
- &FilterSettingsPage::updateFilterPage);
- }
- return m_widget;
-}
-
-void FilterSettingsPage::updateFilterPage()
-{
- m_ui.filterWidget->clear();
- m_ui.attributeWidget->clear();
-
- m_filterMapBackup.clear();
-
- QString lastTrUnfiltered;
- const QString trUnfiltered = tr("Unfiltered");
- if (HelpManager::customValue(Help::Constants::WeAddedFilterKey).toInt() == 1) {
- lastTrUnfiltered =
- HelpManager::customValue(Help::Constants::PreviousFilterNameKey).toString();
- }
-
- HelpManager::Filters filters = HelpManager::userDefinedFilters();
- HelpManager::Filters::const_iterator it;
- for (it = filters.constBegin(); it != filters.constEnd(); ++it) {
- const QString &filter = it.key();
- if (filter == trUnfiltered || filter == lastTrUnfiltered)
- continue;
-
- m_filterMapBackup.insert(filter, it.value());
- if (!m_filterMap.contains(filter))
- m_filterMap.insert(filter, it.value());
- }
- m_ui.filterWidget->addItems(m_filterMap.keys());
-
- QSet<QString> attributes;
- filters = HelpManager::filters();
- for (it = filters.constBegin(); it != filters.constEnd(); ++it)
- attributes += Utils::toSet(it.value());
-
- foreach (const QString &attribute, attributes)
- new QTreeWidgetItem(m_ui.attributeWidget, QStringList(attribute));
-
- if (!m_filterMap.isEmpty()) {
- m_ui.filterWidget->setCurrentRow(0);
- updateAttributes(m_ui.filterWidget->currentItem());
- }
-}
-
-void FilterSettingsPage::updateAttributes(QListWidgetItem *item)
-{
- QStringList checkedList;
- if (item)
- checkedList = m_filterMap.value(item->text());
-
- for (int i = 0; i < m_ui.attributeWidget->topLevelItemCount(); ++i) {
- QTreeWidgetItem *itm = m_ui.attributeWidget->topLevelItem(i);
- if (checkedList.contains(itm->text(0)))
- itm->setCheckState(0, Qt::Checked);
- else
- itm->setCheckState(0, Qt::Unchecked);
- }
-
- updateFilterDescription(item ? item->text() : QString());
-}
-
-void FilterSettingsPage::updateFilterMap()
-{
- if (!m_ui.filterWidget->currentItem())
- return;
-
- const QString &filter = m_ui.filterWidget->currentItem()->text();
- if (!m_filterMap.contains(filter))
- return;
-
- QStringList newAtts;
- for (int i = 0; i < m_ui.attributeWidget->topLevelItemCount(); ++i) {
- QTreeWidgetItem *itm = m_ui.attributeWidget->topLevelItem(i);
- if (itm->checkState(0) == Qt::Checked)
- newAtts.append(itm->text(0));
- }
- m_filterMap[filter] = newAtts;
- updateFilterDescription(filter);
-}
-
-void FilterSettingsPage::addFilter()
-{
- FilterNameDialog dia(m_ui.filterWidget);
- if (dia.exec() == QDialog::Rejected)
- return;
-
- const QString &filterName = dia.filterName();
- if (!m_filterMap.contains(filterName)) {
- m_filterMap.insert(filterName, QStringList());
- m_ui.filterWidget->addItem(filterName);
- }
-
- const QList<QListWidgetItem*> &lst = m_ui.filterWidget->findItems(filterName,
- Qt::MatchCaseSensitive);
- m_ui.filterWidget->setCurrentItem(lst.first());
-}
-
-void FilterSettingsPage::removeFilter()
-{
- QListWidgetItem *item =
- m_ui.filterWidget->takeItem(m_ui.filterWidget->currentRow());
- if (!item)
- return;
-
- m_filterMap.remove(item->text());
- m_removedFilters.append(item->text());
- delete item;
- if (m_ui.filterWidget->count())
- m_ui.filterWidget->setCurrentRow(0);
-
- item = m_ui.filterWidget->item(m_ui.filterWidget->currentRow());
- updateFilterDescription(item ? item->text() : QString());
-}
-
-void FilterSettingsPage::apply()
-{
- bool changed = m_filterMap.count() != m_filterMapBackup.count();
- if (!changed) {
- FilterMap::const_iterator it = m_filterMapBackup.constBegin();
- for (; it != m_filterMapBackup.constEnd() && !changed; ++it) {
- if (m_filterMap.contains(it.key())) {
- const QStringList &a = it.value();
- const QStringList &b = m_filterMap.value(it.key());
- if (a.count() == b.count()) {
- QStringList::const_iterator i = a.constBegin();
- for (; i != a.constEnd() && !changed; ++i) {
- if (b.contains(*i))
- continue;
- changed = true;
- }
- } else {
- changed = true;
- }
- } else {
- changed = true;
- }
- }
- }
-
- if (changed) {
- foreach (const QString &filter, m_removedFilters)
- HelpManager::removeUserDefinedFilter(filter);
-
- FilterMap::const_iterator it;
- for (it = m_filterMap.constBegin(); it != m_filterMap.constEnd(); ++it)
- HelpManager::addUserDefinedFilter(it.key(), it.value());
-
- // emit this signal to the help plugin, since we don't want
- // to force gui help engine setup if we are not in help mode
- emit filtersChanged();
- }
-}
-
-void FilterSettingsPage::finish()
-{
- disconnect(Core::HelpManager::Signals::instance(),
- &Core::HelpManager::Signals::documentationChanged,
- this,
- &FilterSettingsPage::updateFilterPage);
- delete m_widget;
-}
-
-QString FilterSettingsPage::msgFilterLabel(const QString &filter) const
-{
- if (m_filterMap.isEmpty())
- return tr("No user defined filters available or no filter selected.");
-
- const QStringList &checkedList = m_filterMap.value(filter);
- if (checkedList.isEmpty())
- return tr("The filter \"%1\" will show every documentation file"
- " available, as no attributes are specified.").arg(filter);
-
- if (checkedList.size() == 1)
- return tr("The filter \"%1\" will only show documentation files that"
- " have the attribute %2 specified.").
- arg(filter, checkedList.first());
-
- return tr("The filter \"%1\" will only show documentation files that"
- " have the attributes %2 specified.").
- arg(filter, checkedList.join(", "));
-}
-
-void FilterSettingsPage::updateFilterDescription(const QString &filter)
-{
- m_ui.label->setText(msgFilterLabel(filter));
-}
-
-#else
-
QWidget *FilterSettingsPage::widget()
{
if (!m_widget) {
@@ -310,5 +80,3 @@ void FilterSettingsPage::updateFilterPage()
m_widget->setAvailableVersions(LocalHelpManager::filterEngine()->availableVersions());
}
-#endif
-
diff --git a/src/plugins/help/filtersettingspage.h b/src/plugins/help/filtersettingspage.h
index 469df0d23d2..209919df9c1 100644
--- a/src/plugins/help/filtersettingspage.h
+++ b/src/plugins/help/filtersettingspage.h
@@ -29,13 +29,9 @@
#include <QPointer>
-#ifndef HELP_NEW_FILTER_ENGINE
-#include "ui_filtersettingspage.h"
-#else
QT_BEGIN_NAMESPACE
class QHelpFilterSettingsWidget;
QT_END_NAMESPACE
-#endif
namespace Help {
namespace Internal {
@@ -57,25 +53,7 @@ signals:
private:
void updateFilterPage();
-#ifndef HELP_NEW_FILTER_ENGINE
- void updateAttributes(QListWidgetItem *item);
- void updateFilterMap();
- void addFilter();
- void removeFilter();
- void updateFilterDescription(const QString &filter);
- QString msgFilterLabel(const QString &filter) const;
-
- Ui::FilterSettingsPage m_ui;
- QPointer<QWidget> m_widget;
-
- using FilterMap = QMap<QString, QStringList>;
- FilterMap m_filterMap;
- FilterMap m_filterMapBackup;
-
- QStringList m_removedFilters;
-#else
QPointer<QHelpFilterSettingsWidget> m_widget;
-#endif
};
diff --git a/src/plugins/help/filtersettingspage.ui b/src/plugins/help/filtersettingspage.ui
deleted file mode 100644
index 62eb2989eab..00000000000
--- a/src/plugins/help/filtersettingspage.ui
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>Help::Internal::FilterSettingsPage</class>
- <widget class="QWidget" name="Help::Internal::FilterSettingsPage">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>419</width>
- <height>313</height>
- </rect>
- </property>
- <property name="toolTip">
- <string>&lt;html&gt;&lt;body&gt;
-&lt;p&gt;
-Add, modify, and remove document filters, which determine the documentation set displayed in the Help mode. The attributes are defined in the documents. Select them to display a set of relevant documentation. Note that some attributes are defined in several documents.
-&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout_2">
- <item>
- <layout class="QHBoxLayout" name="mainHorizontalLayout">
- <item>
- <widget class="QGroupBox" name="filterGroupBox">
- <property name="title">
- <string>Filters</string>
- </property>
- <layout class="QHBoxLayout" name="horizontalLayout_2">
- <item>
- <widget class="QListWidget" name="filterWidget">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>10</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>150</height>
- </size>
- </property>
- <property name="uniformItemSizes">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- <item>
- <widget class="QGroupBox" name="attributesGroupBox">
- <property name="title">
- <string>Attributes</string>
- </property>
- <layout class="QVBoxLayout" name="verticalLayout">
- <item>
- <widget class="QTreeWidget" name="attributeWidget">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>0</verstretch>
- </sizepolicy>
- </property>
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>150</height>
- </size>
- </property>
- <property name="showDropIndicator" stdset="0">
- <bool>false</bool>
- </property>
- <property name="rootIsDecorated">
- <bool>false</bool>
- </property>
- <property name="uniformRowHeights">
- <bool>true</bool>
- </property>
- <attribute name="headerVisible">
- <bool>false</bool>
- </attribute>
- <column>
- <property name="text">
- <string>1</string>
- </property>
- </column>
- </widget>
- </item>
- </layout>
- </widget>
- </item>
- </layout>
- </item>
- <item>
- <widget class="QLabel" name="label">
- <property name="minimumSize">
- <size>
- <width>0</width>
- <height>50</height>
- </size>
- </property>
- <property name="text">
- <string>No user defined filters available or no filter selected.</string>
- </property>
- <property name="alignment">
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
- </property>
- <property name="wordWrap">
- <bool>true</bool>
- </property>
- </widget>
- </item>
- <item>
- <layout class="QHBoxLayout" name="horizontalLayout">
- <item>
- <widget class="QPushButton" name="filterAddButton">
- <property name="text">
- <string>Add...</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QPushButton" name="filterRemoveButton">
- <property name="text">
- <string>Remove</string>
- </property>
- </widget>
- </item>
- <item>
- <spacer name="buttonHorizontalSpacer">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
- </property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
- </property>
- </spacer>
- </item>
- </layout>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
diff --git a/src/plugins/help/help.qbs b/src/plugins/help/help.qbs
index a1bfca2de61..b340505230e 100644
--- a/src/plugins/help/help.qbs
+++ b/src/plugins/help/help.qbs
@@ -26,8 +26,6 @@ Project {
defines.push("QTC_WEBENGINE_HELPVIEWER");
if (qlitehtml.present)
defines.push("QTC_LITEHTML_HELPVIEWER")
- if (Utilities.versionCompare(Qt.core.version, "5.15") >= 0)
- defines.push("HELP_NEW_FILTER_ENGINE");
return defines;
}
@@ -38,7 +36,7 @@ Project {
name: "Sources"
files: [
"docsettingspage.cpp", "docsettingspage.h", "docsettingspage.ui",
- "filtersettingspage.cpp", "filtersettingspage.h", "filtersettingspage.ui",
+ "filtersettingspage.cpp", "filtersettingspage.h",
"generalsettingspage.cpp", "generalsettingspage.h", "generalsettingspage.ui",
"help.qrc",
"helpconstants.h",
diff --git a/src/plugins/help/helpindexfilter.cpp b/src/plugins/help/helpindexfilter.cpp
index 5e422c3a59d..05c55e1c79a 100644
--- a/src/plugins/help/helpindexfilter.cpp
+++ b/src/plugins/help/helpindexfilter.cpp
@@ -36,24 +36,11 @@
#include <QIcon>
-#ifndef HELP_NEW_FILTER_ENGINE
-
-#include <utils/algorithm.h>
-
-#include <QSqlDatabase>
-#include <QSqlDriver>
-#include <QSqlError>
-#include <QSqlQuery>
-
-#else
-
#include "localhelpmanager.h"
#include <QtHelp/QHelpEngine>
#include <QtHelp/QHelpFilterEngine>
#include <QtHelp/QHelpLink>
-#endif
-
using namespace Core;
using namespace Help;
using namespace Help::Internal;
@@ -78,70 +65,6 @@ HelpIndexFilter::HelpIndexFilter()
HelpIndexFilter::~HelpIndexFilter() = default;
-#ifndef HELP_NEW_FILTER_ENGINE
-
-void HelpIndexFilter::prepareSearch(const QString &entry)
-{
- Q_UNUSED(entry)
- QStringList namespaces = HelpManager::registeredNamespaces();
- m_helpDatabases = Utils::transform(namespaces, &HelpManager::fileFromNamespace);
-}
-
-QList<LocatorFilterEntry> HelpIndexFilter::matchesFor(QFutureInterface<LocatorFilterEntry> &future, const QString &entry)
-{
- if (m_needsUpdate.exchange(false) || m_searchTermCache.size() < 2
- || m_searchTermCache.isEmpty() || !entry.contains(m_searchTermCache)) {
- int limit = entry.size() < 2 ? 200 : INT_MAX;
- QSet<QString> results;
- for (const QString &filePath : qAsConst(m_helpDatabases)) {
- if (future.isCanceled())
- return QList<LocatorFilterEntry>();
- QSet<QString> result;
- QMetaObject::invokeMethod(this, "searchMatches", Qt::BlockingQueuedConnection,
- Q_RETURN_ARG(QSet<QString>, result),
- Q_ARG(QString, filePath),
- Q_ARG(QString, entry),
- Q_ARG(int, limit));
- results.unite(result);
- }
- m_keywordCache = results;
- m_searchTermCache = entry;
- }
-
- Qt::CaseSensitivity cs = caseSensitivity(entry);
- QList<LocatorFilterEntry> entries;
- QStringList keywords;
- QStringList unsortedKeywords;
- keywords.reserve(m_keywordCache.size());
- unsortedKeywords.reserve(m_keywordCache.size());
- QSet<QString> allresults;
- for (const QString &keyword : qAsConst(m_keywordCache)) {
- if (future.isCanceled())
- return QList<LocatorFilterEntry>();
- if (keyword.startsWith(entry, cs)) {
- keywords.append(keyword);
- allresults.insert(keyword);
- } else if (keyword.contains(entry, cs)) {
- unsortedKeywords.append(keyword);
- allresults.insert(keyword);
- }
- }
- Utils::sort(keywords);
- keywords << unsortedKeywords;
- m_keywordCache = allresults;
- m_searchTermCache = entry;
- for (const QString &keyword : qAsConst(keywords)) {
- const int index = keyword.indexOf(entry, 0, cs);
- LocatorFilterEntry filterEntry(this, keyword, QVariant(), m_icon);
- filterEntry.highlightInfo = {index, entry.length()};
- entries.append(filterEntry);
- }
-
- return entries;
-}
-
-#else
-
bool HelpIndexFilter::updateCache(QFutureInterface<LocatorFilterEntry> &future,
const QStringList &cache, const QString &entry)
{
@@ -195,8 +118,6 @@ QList<LocatorFilterEntry> HelpIndexFilter::matchesFor(QFutureInterface<LocatorFi
return entries;
}
-#endif
-
void HelpIndexFilter::accept(const LocatorFilterEntry &selection,
QString *newText, int *selectionStart, int *selectionLength) const
{
@@ -204,14 +125,10 @@ void HelpIndexFilter::accept(const LocatorFilterEntry &selection,
Q_UNUSED(selectionStart)
Q_UNUSED(selectionLength)
const QString &key = selection.displayName;
-#ifndef HELP_NEW_FILTER_ENGINE
- const QMultiMap<QString, QUrl> &links = HelpManager::instance()->linksForKeyword(key);
-#else
QMultiMap<QString, QUrl> links;
const QList<QHelpLink> docs = LocalHelpManager::helpEngine().documentsForKeyword(key, QString());
for (const auto &doc : docs)
links.insert(doc.title, doc.url);
-#endif
emit linksActivated(links, key);
}
@@ -221,48 +138,12 @@ void HelpIndexFilter::refresh(QFutureInterface<void> &future)
invalidateCache();
}
-#ifndef HELP_NEW_FILTER_ENGINE
-
-QSet<QString> HelpIndexFilter::searchMatches(const QString &databaseFilePath,
- const QString &term, int limit)
-{
- static const QLatin1String sqlite("QSQLITE");
- static const QLatin1String name("HelpManager::findKeywords");
-
- QSet<QString> keywords;
-
- { // make sure db is destroyed before removeDatabase call
- QSqlDatabase db = QSqlDatabase::addDatabase(sqlite, name);
- if (db.driver() && db.driver()->lastError().type() == QSqlError::NoError) {
- db.setDatabaseName(databaseFilePath);
- if (db.open()) {
- QSqlQuery query = QSqlQuery(db);
- query.setForwardOnly(true);
- query.exec(QString::fromLatin1("SELECT DISTINCT Name FROM IndexTable WHERE Name LIKE "
- "'%%1%' LIMIT %2").arg(term, QString::number(limit)));
- while (query.next()) {
- const QString &keyValue = query.value(0).toString();
- if (!keyValue.isEmpty())
- keywords.insert(keyValue);
- }
- db.close();
- }
- }
- }
- QSqlDatabase::removeDatabase(name);
- return keywords;
-}
-
-#else
-
QStringList HelpIndexFilter::allIndices() const
{
LocalHelpManager::setupGuiHelpEngine();
return LocalHelpManager::filterEngine()->indices(QString());
}
-#endif
-
void HelpIndexFilter::invalidateCache()
{
m_needsUpdate = true;
diff --git a/src/plugins/help/helpindexfilter.h b/src/plugins/help/helpindexfilter.h
index fe8a3d89547..5c5520ae102 100644
--- a/src/plugins/help/helpindexfilter.h
+++ b/src/plugins/help/helpindexfilter.h
@@ -52,13 +52,7 @@ public:
QString *newText, int *selectionStart, int *selectionLength) const override;
void refresh(QFutureInterface<void> &future) override;
-#ifndef HELP_NEW_FILTER_ENGINE
- void prepareSearch(const QString &entry) override;
- Q_INVOKABLE QSet<QString> searchMatches(const QString &databaseFilePath,
- const QString &term, int limit);
-#else
Q_INVOKABLE QStringList allIndices() const;
-#endif
signals:
void linksActivated(const QMultiMap<QString, QUrl> &links, const QString &key) const;
@@ -66,18 +60,12 @@ signals:
private:
void invalidateCache();
-#ifndef HELP_NEW_FILTER_ENGINE
- QStringList m_helpDatabases;
- QSet<QString> m_keywordCache;
- QString m_searchTermCache;
-#else
bool updateCache(QFutureInterface<Core::LocatorFilterEntry> &future,
const QStringList &cache, const QString &entry);
QStringList m_allIndicesCache;
QStringList m_lastIndicesCache;
QString m_lastEntry;
-#endif
std::atomic_bool m_needsUpdate = true;
QIcon m_icon;
};
diff --git a/src/plugins/help/helpmanager.cpp b/src/plugins/help/helpmanager.cpp
index c3f4dd738b6..d6d94b7d981 100644
--- a/src/plugins/help/helpmanager.cpp
+++ b/src/plugins/help/helpmanager.cpp
@@ -44,14 +44,7 @@
#include <QMutexLocker>
-#ifndef HELP_NEW_FILTER_ENGINE
-#include <QSqlDatabase>
-#include <QSqlDriver>
-#include <QSqlError>
-#include <QSqlQuery>
-#else
#include <QtHelp/QHelpLink>
-#endif
using namespace Core;
@@ -89,19 +82,6 @@ struct HelpManagerPrivate
static HelpManager *m_instance = nullptr;
static HelpManagerPrivate *d = nullptr;
-#ifndef HELP_NEW_FILTER_ENGINE
-
-// -- DbCleaner
-
-struct DbCleaner
-{
- DbCleaner(const QString &dbName) : name(dbName) {}
- ~DbCleaner() { QSqlDatabase::removeDatabase(name); }
- QString name;
-};
-
-#endif
-
// -- HelpManager
HelpManager::HelpManager(QObject *parent) :
@@ -243,15 +223,11 @@ QMultiMap<QString, QUrl> HelpManager::linksForKeyword(const QString &key)
QTC_ASSERT(!d->m_needsSetup, return {});
if (key.isEmpty())
return {};
-#ifndef HELP_NEW_FILTER_ENGINE
- return d->m_helpEngine->linksForKeyword(key);
-#else
QMultiMap<QString, QUrl> links;
const QList<QHelpLink> docs = d->m_helpEngine->documentsForKeyword(key, QString());
for (const auto &doc : docs)
links.insert(doc.title, doc.url);
return links;
-#endif
}
QMultiMap<QString, QUrl> HelpManager::linksForIdentifier(const QString &id)
@@ -259,15 +235,11 @@ QMultiMap<QString, QUrl> HelpManager::linksForIdentifier(const QString &id)
QTC_ASSERT(!d->m_needsSetup, return {});
if (id.isEmpty())
return {};
-#ifndef HELP_NEW_FILTER_ENGINE
- return d->m_helpEngine->linksForIdentifier(id);
-#else
QMultiMap<QString, QUrl> links;
const QList<QHelpLink> docs = d->m_helpEngine->documentsForIdentifier(id, QString());
for (const auto &doc : docs)
links.insert(doc.title, doc.url);
return links;
-#endif
}
QUrl HelpManager::findFile(const QUrl &url)
@@ -321,76 +293,6 @@ QVariant HelpManager::customValue(const QString &key, const QVariant &value)
return d->m_helpEngine->customValue(key, value);
}
-#ifndef HELP_NEW_FILTER_ENGINE
-
-HelpManager::Filters HelpManager::filters()
-{
- QTC_ASSERT(!d->m_needsSetup, return {});
-
- Filters filters;
- const QStringList &customFilters = d->m_helpEngine->customFilters();
- for (const QString &filter : customFilters)
- filters.insert(filter, d->m_helpEngine->filterAttributes(filter));
- return filters;
-}
-
-HelpManager::Filters HelpManager::fixedFilters()
-{
- QTC_ASSERT(!d->m_needsSetup, return {});
-
- const QLatin1String sqlite("QSQLITE");
- const QLatin1String name("HelpManager::fixedCustomFilters");
-
- Filters fixedFilters;
- DbCleaner cleaner(name);
- QSqlDatabase db = QSqlDatabase::addDatabase(sqlite, name);
- if (db.driver() && db.driver()->lastError().type() == QSqlError::NoError) {
- const QStringList &registeredDocs = d->m_helpEngine->registeredDocumentations();
- for (const QString &nameSpace : registeredDocs) {
- db.setDatabaseName(d->m_helpEngine->documentationFileName(nameSpace));
- if (db.open()) {
- QSqlQuery query = QSqlQuery(db);
- query.setForwardOnly(true);
- query.exec(QLatin1String("SELECT Name FROM FilterNameTable"));
- while (query.next()) {
- const QString &filter = query.value(0).toString();
- fixedFilters.insert(filter, d->m_helpEngine->filterAttributes(filter));
- }
- }
- }
- }
- return fixedFilters;
-}
-
-HelpManager::Filters HelpManager::userDefinedFilters()
-{
- QTC_ASSERT(!d->m_needsSetup, return {});
-
- Filters all = filters();
- const Filters &fixed = fixedFilters();
- for (Filters::const_iterator it = fixed.constBegin(); it != fixed.constEnd(); ++it)
- all.remove(it.key());
- return all;
-}
-
-void HelpManager::removeUserDefinedFilter(const QString &filter)
-{
- QTC_ASSERT(!d->m_needsSetup, return);
-
- if (d->m_helpEngine->removeCustomFilter(filter))
- emit m_instance->collectionFileChanged();
-}
-
-void HelpManager::addUserDefinedFilter(const QString &filter, const QStringList &attr)
-{
- QTC_ASSERT(!d->m_needsSetup, return);
-
- if (d->m_helpEngine->addCustomFilter(filter, attr))
- emit m_instance->collectionFileChanged();
-}
-
-#endif
-
void HelpManager::aboutToShutdown()
{
if (d && d->m_registerFuture.isRunning()) {
@@ -414,9 +316,7 @@ void HelpManager::setupHelpManager()
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
d->m_helpEngine->setReadOnly(false);
#endif
-#ifdef HELP_NEW_FILTER_ENGINE
d->m_helpEngine->setUsesFilterEngine(true);
-#endif
d->m_helpEngine->setupData();
for (const QString &filePath : d->documentationFromInstaller())
diff --git a/src/plugins/help/helpmanager.h b/src/plugins/help/helpmanager.h
index 6edaae859b8..c6a1580a586 100644
--- a/src/plugins/help/helpmanager.h
+++ b/src/plugins/help/helpmanager.h
@@ -67,17 +67,6 @@ public:
static void setCustomValue(const QString &key, const QVariant &value);
static QVariant customValue(const QString &key, const QVariant &value = QVariant());
-#ifndef HELP_NEW_FILTER_ENGINE
- using Filters = QHash<QString, QStringList>;
-
- static Filters filters();
- static Filters fixedFilters();
-
- static Filters userDefinedFilters();
- static void removeUserDefinedFilter(const QString &filter);
- static void addUserDefinedFilter(const QString &filter, const QStringList &attr);
-#endif
-
static void aboutToShutdown();
Q_INVOKABLE void showHelpUrl(
diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp
index bb0d45587f7..624ae6617d0 100644
--- a/src/plugins/help/helpplugin.cpp
+++ b/src/plugins/help/helpplugin.cpp
@@ -123,10 +123,6 @@ public:
void slotSystemInformation();
-#ifndef HELP_NEW_FILTER_ENGINE
- void resetFilter();
-#endif
-
static void activateHelpMode() { ModeManager::activateMode(Constants::ID_MODE_HELP); }
static bool canShowHelpSideBySide();
@@ -320,44 +316,6 @@ ExtensionSystem::IPlugin::ShutdownFlag HelpPlugin::aboutToShutdown()
return SynchronousShutdown;
}
-#ifndef HELP_NEW_FILTER_ENGINE
-
-void HelpPluginPrivate::resetFilter()
-{
- const QString &filterInternal = QString::fromLatin1("Qt Creator %1.%2.%3")
- .arg(IDE_VERSION_MAJOR).arg(IDE_VERSION_MINOR).arg(IDE_VERSION_RELEASE);
- const QRegularExpression filterRegExp("^Qt Creator \\d*\\.\\d*\\.\\d*$");
-
- QHelpEngineCore *engine = &LocalHelpManager::helpEngine();
- const QStringList &filters = engine->customFilters();
- for (const QString &filter : filters) {
- if (filterRegExp.match(filter).hasMatch() && filter != filterInternal)
- engine->removeCustomFilter(filter);
- }
-
- // we added a filter at some point, remove previously added filter
- if (engine->customValue(Help::Constants::WeAddedFilterKey).toInt() == 1) {
- const QString &filter =
- engine->customValue(Help::Constants::PreviousFilterNameKey).toString();
- if (!filter.isEmpty())
- engine->removeCustomFilter(filter);
- }
-
- // potentially remove a filter with new name
- const QString filterName = HelpPlugin::tr("Unfiltered");
- engine->removeCustomFilter(filterName);
- engine->addCustomFilter(filterName, QStringList());
- engine->setCustomValue(Help::Constants::WeAddedFilterKey, 1);
- engine->setCustomValue(Help::Constants::PreviousFilterNameKey, filterName);
- engine->setCurrentFilter(filterName);
-
- LocalHelpManager::updateFilterModel();
- connect(engine, &QHelpEngineCore::setupFinished,
- LocalHelpManager::instance(), &LocalHelpManager::updateFilterModel);
-}
-
-#endif
-
void HelpPluginPrivate::saveExternalWindowSettings()
{
if (!m_externalWindow)
@@ -698,9 +656,6 @@ void HelpPluginPrivate::doSetupIfNeeded()
{
LocalHelpManager::setupGuiHelpEngine();
if (m_setupNeeded) {
-#ifndef HELP_NEW_FILTER_ENGINE
- resetFilter();
-#endif
m_setupNeeded = false;
m_centralWidget->openPagesManager()->setupInitialPages();
LocalHelpManager::bookmarkManager().setupBookmarkModels();
diff --git a/src/plugins/help/helpwidget.cpp b/src/plugins/help/helpwidget.cpp
index 528f4de7592..74462c643b6 100644
--- a/src/plugins/help/helpwidget.cpp
+++ b/src/plugins/help/helpwidget.cpp
@@ -61,10 +61,8 @@
#include <QStatusBar>
#include <QToolButton>
-#ifdef HELP_NEW_FILTER_ENGINE
#include <QtHelp/QHelpEngine>
#include <QtHelp/QHelpFilterEngine>
-#endif
static const char kWindowSideBarSettingsKey[] = "Help/WindowSideBar";
static const char kModeSideBarSettingsKey[] = "Help/ModeSideBar";
@@ -365,23 +363,12 @@ HelpWidget::HelpWidget(const Core::Context &context, WidgetStyle style, QWidget
m_filterComboBox = new QComboBox;
m_filterComboBox->setMinimumContentsLength(15);
layout->addWidget(m_filterComboBox);
-#ifndef HELP_NEW_FILTER_ENGINE
- m_filterComboBox->setModel(LocalHelpManager::filterModel());
- m_filterComboBox->setCurrentIndex(LocalHelpManager::filterIndex());
- connect(m_filterComboBox, QOverload<int>::of(&QComboBox::activated),
- LocalHelpManager::instance(), &LocalHelpManager::setFilterIndex);
- connect(LocalHelpManager::instance(),
- &LocalHelpManager::filterIndexChanged,
- m_filterComboBox,
- &QComboBox::setCurrentIndex);
-#else
connect(&LocalHelpManager::helpEngine(), &QHelpEngine::setupFinished,
this, &HelpWidget::setupFilterCombo, Qt::QueuedConnection);
connect(m_filterComboBox, QOverload<int>::of(&QComboBox::activated),
this, &HelpWidget::filterDocumentation);
connect(LocalHelpManager::filterEngine(), &QHelpFilterEngine::filterActivated,
this, &HelpWidget::currentFilterChanged);
-#endif
Core::ActionContainer *windowMenu = Core::ActionManager::actionContainer(
Core::Constants::M_WINDOW);
@@ -501,8 +488,6 @@ HelpWidget::HelpWidget(const Core::Context &context, WidgetStyle style, QWidget
}
}
-#ifdef HELP_NEW_FILTER_ENGINE
-
void HelpWidget::setupFilterCombo()
{
const QString currentFilter = LocalHelpManager::filterEngine()->activeFilter();
@@ -534,8 +519,6 @@ void HelpWidget::currentFilterChanged(const QString &filter)
m_filterComboBox->setCurrentIndex(index);
}
-#endif
-
HelpWidget::~HelpWidget()
{
saveState();
diff --git a/src/plugins/help/helpwidget.h b/src/plugins/help/helpwidget.h
index 55f90a8e566..8ac5b646b26 100644
--- a/src/plugins/help/helpwidget.h
+++ b/src/plugins/help/helpwidget.h
@@ -142,11 +142,9 @@ private:
void addSideBar();
QString sideBarSettingsKey() const;
-#ifdef HELP_NEW_FILTER_ENGINE
void setupFilterCombo();
void filterDocumentation(int filterIndex);
void currentFilterChanged(const QString &filter);
-#endif
OpenPagesModel m_model;
OpenPagesManager *m_openPagesManager = nullptr;
diff --git a/src/plugins/help/localhelpmanager.cpp b/src/plugins/help/localhelpmanager.cpp
index 99c73c200d4..30eabc65e6c 100644
--- a/src/plugins/help/localhelpmanager.cpp
+++ b/src/plugins/help/localhelpmanager.cpp
@@ -69,14 +69,6 @@ QHelpEngine* LocalHelpManager::m_guiEngine = nullptr;
QMutex LocalHelpManager::m_bkmarkMutex;
BookmarkManager* LocalHelpManager::m_bookmarkManager = nullptr;
-#ifndef HELP_NEW_FILTER_ENGINE
-
-QStandardItemModel *LocalHelpManager::m_filterModel = nullptr;
-QString LocalHelpManager::m_currentFilter = QString();
-int LocalHelpManager::m_currentFilterIndex = -1;
-
-#endif
-
static const char kHelpHomePageKey[] = "Help/HomePage";
static const char kFontFamilyKey[] = "Help/FallbackFontFamily";
static const char kFontStyleNameKey[] = "Help/FallbackFontStyleName";
@@ -118,9 +110,6 @@ LocalHelpManager::LocalHelpManager(QObject *parent)
{
m_instance = this;
qRegisterMetaType<Help::Internal::LocalHelpManager::HelpData>("Help::Internal::LocalHelpManager::HelpData");
-#ifndef HELP_NEW_FILTER_ENGINE
- m_filterModel = new QStandardItemModel(this);
-#endif
}
LocalHelpManager::~LocalHelpManager()
@@ -414,9 +403,7 @@ QHelpEngine &LocalHelpManager::helpEngine()
m_guiEngine->setReadOnly(false);
#endif
-#ifdef HELP_NEW_FILTER_ENGINE
m_guiEngine->setUsesFilterEngine(true);
-#endif
}
}
return *m_guiEngine;
@@ -515,66 +502,11 @@ LocalHelpManager::HelpData LocalHelpManager::helpData(const QUrl &url)
return data;
}
-#ifndef HELP_NEW_FILTER_ENGINE
-
-QAbstractItemModel *LocalHelpManager::filterModel()
-{
- return m_filterModel;
-}
-
-void LocalHelpManager::setFilterIndex(int index)
-{
- if (index == m_currentFilterIndex)
- return;
- m_currentFilterIndex = index;
- QStandardItem *item = m_filterModel->item(index);
- if (!item) {
- helpEngine().setCurrentFilter(QString());
- return;
- }
- helpEngine().setCurrentFilter(item->text());
- emit m_instance->filterIndexChanged(m_currentFilterIndex);
-}
-
-int LocalHelpManager::filterIndex()
-{
- return m_currentFilterIndex;
-}
-
-void LocalHelpManager::updateFilterModel()
-{
- const QHelpEngine &engine = helpEngine();
- if (m_currentFilter.isEmpty())
- m_currentFilter = engine.currentFilter();
- m_filterModel->clear();
- m_currentFilterIndex = -1;
- int count = 0;
- const QStringList &filters = engine.customFilters();
- foreach (const QString &filterString, filters) {
- m_filterModel->appendRow(new QStandardItem(filterString));
- if (filterString == m_currentFilter)
- m_currentFilterIndex = count;
- count++;
- }
-
- if (filters.size() < 1)
- return;
- if (m_currentFilterIndex < 0) {
- m_currentFilterIndex = 0;
- m_currentFilter = filters.at(0);
- }
- emit m_instance->filterIndexChanged(m_currentFilterIndex);
-}
-
-#else
-
QHelpFilterEngine *LocalHelpManager::filterEngine()
{
return helpEngine().filterEngine();
}
-#endif
-
bool LocalHelpManager::canOpenOnlineHelp(const QUrl &url)
{
const QString address = url.toString();
diff --git a/src/plugins/help/localhelpmanager.h b/src/plugins/help/localhelpmanager.h
index 467987698b5..0a895c1559c 100644
--- a/src/plugins/help/localhelpmanager.h
+++ b/src/plugins/help/localhelpmanager.h
@@ -31,13 +31,8 @@
#include <QMutex>
#include <QObject>
#include <QUrl>
-#ifndef HELP_NEW_FILTER_ENGINE
-#include <QStandardItemModel>
-#include <functional>
-#else
-QT_FORWARD_DECLARE_CLASS(QHelpFilterEngine)
-#endif
+QT_FORWARD_DECLARE_CLASS(QHelpFilterEngine)
QT_FORWARD_DECLARE_CLASS(QHelpEngine)
class BookmarkManager;
@@ -119,23 +114,12 @@ public:
static QByteArray loadErrorMessage(const QUrl &url, const QString &errorString);
Q_INVOKABLE static Help::Internal::LocalHelpManager::HelpData helpData(const QUrl &url);
-#ifndef HELP_NEW_FILTER_ENGINE
- static QAbstractItemModel *filterModel();
- static void setFilterIndex(int index);
- static int filterIndex();
-
- static void updateFilterModel();
-#else
static QHelpFilterEngine *filterEngine();
-#endif
static bool canOpenOnlineHelp(const QUrl &url);
static bool openOnlineHelp(const QUrl &url);
signals:
-#ifndef HELP_NEW_FILTER_ENGINE
- void filterIndexChanged(int index);
-#endif
void fallbackFontChanged(const QFont &font);
void fontZoomChanged(int percentage);
void returnOnCloseChanged();
@@ -146,12 +130,6 @@ private:
static bool m_guiNeedsSetup;
static bool m_needsCollectionFile;
-#ifndef HELP_NEW_FILTER_ENGINE
- static QStandardItemModel *m_filterModel;
- static QString m_currentFilter;
- static int m_currentFilterIndex;
-#endif
-
static QMutex m_guiMutex;
static QHelpEngine *m_guiEngine;
diff --git a/src/shared/help/CMakeLists.txt b/src/shared/help/CMakeLists.txt
index c3a864da6e9..aba90cda07a 100644
--- a/src/shared/help/CMakeLists.txt
+++ b/src/shared/help/CMakeLists.txt
@@ -28,8 +28,3 @@ add_qtc_library(shared_help STATIC
indexwindow.cpp indexwindow.h
topicchooser.cpp topicchooser.h topicchooser.ui
)
-
-extend_qtc_library(shared_help
- CONDITION Qt5_VERSION VERSION_GREATER_EQUAL 5.15.0
- DEFINES HELP_NEW_FILTER_ENGINE
-)
diff --git a/src/shared/help/indexwindow.cpp b/src/shared/help/indexwindow.cpp
index fcf8bf52e3a..8fe33563431 100644
--- a/src/shared/help/indexwindow.cpp
+++ b/src/shared/help/indexwindow.cpp
@@ -48,9 +48,7 @@
#include <QHelpEngine>
#include <QHelpIndexModel>
-#ifdef HELP_NEW_FILTER_ENGINE
#include <QHelpLink>
-#endif
using namespace Help::Internal;
@@ -198,15 +196,11 @@ void IndexWindow::disableSearchLineEdit()
void IndexWindow::open(const QModelIndex &index, bool newPage)
{
const QString keyword = m_filteredIndexModel->data(index, Qt::DisplayRole).toString();
-#ifndef HELP_NEW_FILTER_ENGINE
- QMultiMap<QString, QUrl> links = LocalHelpManager::helpEngine().linksForKeyword(keyword);
-#else
QMultiMap<QString, QUrl> links;
const QList<QHelpLink> docs = LocalHelpManager::helpEngine().documentsForKeyword(keyword);
for (const auto &doc : docs)
links.insert(doc.title, doc.url);
-#endif
emit linksActivated(links, keyword, newPage);
}