summaryrefslogtreecommitdiff
path: root/src/plugins/help/localhelpmanager.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2020-11-20 10:08:04 +0100
committerEike Ziller <eike.ziller@qt.io>2020-11-20 10:12:00 +0000
commitf38d7910fe981e19988ecc5de5124f2a5e12536d (patch)
tree43fe62b8da772313ad57474c9cb3c9c086232ea2 /src/plugins/help/localhelpmanager.cpp
parentff3614ab5ac0f55c4e65f8330365e6026cfb0e79 (diff)
downloadqt-creator-f38d7910fe981e19988ecc5de5124f2a5e12536d.tar.gz
Help: Make litehtml the default engine above all
If available prefer litehtml, even over QtWebEngine. But make the default compile-time configurable with a CMake option DEFAULT_HELPVIEWER_BACKEND. Amends 5e73215a0af6a1bc74d3baebddce4ca20cd09579 Change-Id: I5bfadd3ec1dc21f3a94d04d0da51783223908e6d Reviewed-by: Kai Koehne <kai.koehne@qt.io>
Diffstat (limited to 'src/plugins/help/localhelpmanager.cpp')
-rw-r--r--src/plugins/help/localhelpmanager.cpp36
1 files changed, 16 insertions, 20 deletions
diff --git a/src/plugins/help/localhelpmanager.cpp b/src/plugins/help/localhelpmanager.cpp
index ee6220c280..3368ec82b8 100644
--- a/src/plugins/help/localhelpmanager.cpp
+++ b/src/plugins/help/localhelpmanager.cpp
@@ -92,10 +92,6 @@ static const char kLastShownPagesZoomKey[] = "Help/LastShownPagesZoom";
static const char kLastSelectedTabKey[] = "Help/LastSelectedTab";
static const char kViewerBackend[] = "Help/ViewerBackend";
-static const char kQtWebEngineBackend[] = "qtwebengine";
-static const char kLitehtmlBackend[] = "litehtml";
-static const char kTextBrowserBackend[] = "textbrowser";
-
static const int kDefaultFallbackFontSize = 14;
static QString defaultFallbackFontFamily()
@@ -327,20 +323,16 @@ HelpViewerFactory LocalHelpManager::defaultViewerBackend()
}
if (!backend.isEmpty())
qWarning("Help viewer backend \"%s\" not found, using default.", backend.constData());
- const Utils::optional<HelpViewerFactory> webengineFactory = backendForId(kQtWebEngineBackend);
- if (webengineFactory)
- return *webengineFactory;
-
- const Utils::optional<HelpViewerFactory> litehtmlFactory = backendForId(kLitehtmlBackend);
- if (litehtmlFactory)
- return *litehtmlFactory;
-
- return backendForId(kTextBrowserBackend).value_or(HelpViewerFactory());
+ const QVector<HelpViewerFactory> backends = viewerBackends();
+ return backends.isEmpty() ? HelpViewerFactory() : backends.first();
}
QVector<HelpViewerFactory> LocalHelpManager::viewerBackends()
{
QVector<HelpViewerFactory> result;
+#ifdef QTC_LITEHTML_HELPVIEWER
+ result.append({"litehtml", tr("litehtml"), []() { return new LiteHtmlHelpViewer; }});
+#endif
#ifdef QTC_WEBENGINE_HELPVIEWER
static bool schemeRegistered = false;
if (!schemeRegistered) {
@@ -349,17 +341,21 @@ QVector<HelpViewerFactory> LocalHelpManager::viewerBackends()
scheme.setFlags(QWebEngineUrlScheme::LocalScheme | QWebEngineUrlScheme::LocalAccessAllowed);
QWebEngineUrlScheme::registerScheme(scheme);
}
- result.append(
- {kQtWebEngineBackend, tr("QtWebEngine"), []() { return new WebEngineHelpViewer; }});
-#endif
-#ifdef QTC_LITEHTML_HELPVIEWER
- result.append({kLitehtmlBackend, tr("litehtml"), []() { return new LiteHtmlHelpViewer; }});
+ result.append({"qtwebengine", tr("QtWebEngine"), []() { return new WebEngineHelpViewer; }});
#endif
+ result.append({"textbrowser", tr("QTextBrowser"), []() { return new TextBrowserHelpViewer; }});
#ifdef QTC_MAC_NATIVE_HELPVIEWER
result.append({"native", tr("WebKit"), []() { return new MacWebKitHelpViewer; }});
#endif
- result.append(
- {kTextBrowserBackend, tr("QTextBrowser"), []() { return new TextBrowserHelpViewer; }});
+#ifdef QTC_DEFAULT_HELPVIEWER_BACKEND
+ const int index = Utils::indexOf(result, [](const HelpViewerFactory &f) {
+ return f.id == QByteArray(QTC_DEFAULT_HELPVIEWER_BACKEND);
+ });
+ if (QTC_GUARD(index >= 0)) {
+ const HelpViewerFactory defaultBackend = result.takeAt(index);
+ result.prepend(defaultBackend);
+ }
+#endif
return result;
}