Help: Provide native WebView backend on Mac

Run Qt Creator with environment variable QTC_HELPVIEWER_BACKEND to
* 'native' to get the WebView based one on Mac
* 'textbrowser' to get the QTextBrowser based one

Defaults to use QWebView if QtWebKit is available, or QTextBrowser if
not, like before.

Change-Id: If0660782b18ff3d89301fa7bcaf4e2e2fb69627d
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
This commit is contained in:
Eike Ziller
2014-05-14 13:15:01 +02:00
parent 62a83b2b3f
commit c5be32fae7
15 changed files with 1032 additions and 49 deletions

View File

@@ -64,11 +64,6 @@ TextBrowserHelpViewer::TextBrowserHelpViewer(qreal zoom, QWidget *parent)
p.color(QPalette::Active, QPalette::HighlightedText));
setPalette(p);
// ???
QFont font = viewerFont();
font.setPointSize(int(font.pointSize() + zoom));
setViewerFont(font);
connect(m_textBrowser, SIGNAL(sourceChanged(QUrl)), this, SIGNAL(titleChanged()));
connect(m_textBrowser, SIGNAL(forwardAvailable(bool)), this, SIGNAL(forwardAvailable(bool)));
connect(m_textBrowser, SIGNAL(backwardAvailable(bool)), this, SIGNAL(backwardAvailable(bool)));
@@ -80,18 +75,14 @@ TextBrowserHelpViewer::~TextBrowserHelpViewer()
QFont TextBrowserHelpViewer::viewerFont() const
{
const QHelpEngineCore &engine = LocalHelpManager::helpEngine();
return qvariant_cast<QFont>(engine.customValue(QLatin1String("font"),
qApp->font()));
return m_textBrowser->font();
}
void TextBrowserHelpViewer::setViewerFont(const QFont &newFont)
{
if (font() != newFont) {
m_textBrowser->forceFont = true;
m_textBrowser->setFont(newFont);
m_textBrowser->forceFont = false;
}
m_textBrowser->forceFont = true;
m_textBrowser->setFont(newFont);
m_textBrowser->forceFont = false;
}
void TextBrowserHelpViewer::scaleUp()
@@ -124,11 +115,6 @@ QString TextBrowserHelpViewer::title() const
return m_textBrowser->documentTitle();
}
void TextBrowserHelpViewer::setTitle(const QString &title)
{
m_textBrowser->setDocumentTitle(title);
}
QUrl TextBrowserHelpViewer::source() const
{
return m_textBrowser->source();