forked from qt-creator/qt-creator
Help: Do not pass zoom factor to constructor
Introduce HelpViewer::setScale instead Change-Id: I9d50483bc1fa4de89de53db40eda348379bd0ae9 Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
This commit is contained in:
@@ -359,23 +359,26 @@ HelpViewer *HelpPlugin::createHelpViewer(qreal zoom)
|
|||||||
const QString backend = QLatin1String(qgetenv("QTC_HELPVIEWER_BACKEND"));
|
const QString backend = QLatin1String(qgetenv("QTC_HELPVIEWER_BACKEND"));
|
||||||
if (backend.compare(QLatin1String("native"), Qt::CaseInsensitive) == 0) {
|
if (backend.compare(QLatin1String("native"), Qt::CaseInsensitive) == 0) {
|
||||||
#ifdef QTC_MAC_NATIVE_HELPVIEWER
|
#ifdef QTC_MAC_NATIVE_HELPVIEWER
|
||||||
viewer = new MacWebKitHelpViewer(zoom);
|
viewer = new MacWebKitHelpViewer();
|
||||||
#else
|
#else
|
||||||
qWarning() << "native help viewer is requested, but was not enabled during compilation";
|
qWarning() << "native help viewer is requested, but was not enabled during compilation";
|
||||||
#endif
|
#endif
|
||||||
} else if (backend.compare(QLatin1String("textbrowser"), Qt::CaseInsensitive) != 0) {
|
} else if (backend.compare(QLatin1String("textbrowser"), Qt::CaseInsensitive) != 0) {
|
||||||
#ifndef QT_NO_WEBKIT
|
#ifndef QT_NO_WEBKIT
|
||||||
viewer = new QtWebKitHelpViewer(zoom);
|
viewer = new QtWebKitHelpViewer();
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
if (!viewer)
|
if (!viewer)
|
||||||
viewer = new TextBrowserHelpViewer(zoom);
|
viewer = new TextBrowserHelpViewer();
|
||||||
|
|
||||||
// initialize font
|
// initialize font
|
||||||
QVariant fontSetting = LocalHelpManager::engineFontSettings();
|
QVariant fontSetting = LocalHelpManager::engineFontSettings();
|
||||||
if (fontSetting.isValid())
|
if (fontSetting.isValid())
|
||||||
viewer->setViewerFont(fontSetting.value<QFont>());
|
viewer->setViewerFont(fontSetting.value<QFont>());
|
||||||
|
|
||||||
|
// initialize zoom
|
||||||
|
viewer->setScale(zoom);
|
||||||
|
|
||||||
// add find support
|
// add find support
|
||||||
Aggregation::Aggregate *agg = new Aggregation::Aggregate();
|
Aggregation::Aggregate *agg = new Aggregation::Aggregate();
|
||||||
agg->add(viewer);
|
agg->add(viewer);
|
||||||
|
|||||||
@@ -55,6 +55,7 @@ public:
|
|||||||
virtual void setViewerFont(const QFont &font) = 0;
|
virtual void setViewerFont(const QFont &font) = 0;
|
||||||
|
|
||||||
virtual qreal scale() const = 0;
|
virtual qreal scale() const = 0;
|
||||||
|
virtual void setScale(qreal scale) = 0;
|
||||||
|
|
||||||
virtual QString title() const = 0;
|
virtual QString title() const = 0;
|
||||||
|
|
||||||
|
|||||||
@@ -82,13 +82,14 @@ class MacWebKitHelpViewer : public HelpViewer
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit MacWebKitHelpViewer(qreal zoom, QWidget *parent = 0);
|
explicit MacWebKitHelpViewer(QWidget *parent = 0);
|
||||||
~MacWebKitHelpViewer();
|
~MacWebKitHelpViewer();
|
||||||
|
|
||||||
QFont viewerFont() const;
|
QFont viewerFont() const;
|
||||||
void setViewerFont(const QFont &font);
|
void setViewerFont(const QFont &font);
|
||||||
|
|
||||||
qreal scale() const;
|
qreal scale() const;
|
||||||
|
void setScale(qreal scale);
|
||||||
|
|
||||||
QString title() const;
|
QString title() const;
|
||||||
|
|
||||||
|
|||||||
@@ -454,7 +454,7 @@ void MacWebKitHelpWidget::showEvent(QShowEvent *)
|
|||||||
|
|
||||||
// #pragma mark -- MacWebKitHelpViewer
|
// #pragma mark -- MacWebKitHelpViewer
|
||||||
|
|
||||||
MacWebKitHelpViewer::MacWebKitHelpViewer(qreal zoom, QWidget *parent)
|
MacWebKitHelpViewer::MacWebKitHelpViewer(QWidget *parent)
|
||||||
: HelpViewer(parent),
|
: HelpViewer(parent),
|
||||||
m_widget(new MacWebKitHelpWidget(this))
|
m_widget(new MacWebKitHelpWidget(this))
|
||||||
{
|
{
|
||||||
@@ -469,7 +469,6 @@ MacWebKitHelpViewer::MacWebKitHelpViewer(qreal zoom, QWidget *parent)
|
|||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
layout->setContentsMargins(0, 0, 0, 0);
|
layout->setContentsMargins(0, 0, 0, 0);
|
||||||
layout->addWidget(m_widget, 10);
|
layout->addWidget(m_widget, 10);
|
||||||
m_widget->webView().textSizeMultiplier = (zoom == 0.0 ? 1.0 : zoom);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MacWebKitHelpViewer::~MacWebKitHelpViewer()
|
MacWebKitHelpViewer::~MacWebKitHelpViewer()
|
||||||
@@ -515,7 +514,12 @@ void MacWebKitHelpViewer::resetScale()
|
|||||||
qreal MacWebKitHelpViewer::scale() const
|
qreal MacWebKitHelpViewer::scale() const
|
||||||
{
|
{
|
||||||
AutoreleasePool pool; Q_UNUSED(pool)
|
AutoreleasePool pool; Q_UNUSED(pool)
|
||||||
return m_widget->webView().textSizeMultiplier;
|
return m_widget->webView().textSizeMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
|
void MacWebKitHelpViewer::setScale(qreal scale)
|
||||||
|
{
|
||||||
|
m_widget->webView().textSizeMultiplier = (scale <= 0.0 ? 1.0 : scale);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString MacWebKitHelpViewer::title() const
|
QString MacWebKitHelpViewer::title() const
|
||||||
|
|||||||
@@ -250,7 +250,7 @@ void HelpPage::onHandleUnsupportedContent(QNetworkReply *reply)
|
|||||||
|
|
||||||
// -- HelpViewer
|
// -- HelpViewer
|
||||||
|
|
||||||
QtWebKitHelpWidget::QtWebKitHelpWidget(qreal zoom, QtWebKitHelpViewer *parent)
|
QtWebKitHelpWidget::QtWebKitHelpWidget(QtWebKitHelpViewer *parent)
|
||||||
: QWebView(parent),
|
: QWebView(parent),
|
||||||
m_parent(parent)
|
m_parent(parent)
|
||||||
{
|
{
|
||||||
@@ -278,8 +278,6 @@ QtWebKitHelpWidget::QtWebKitHelpWidget(qreal zoom, QtWebKitHelpViewer *parent)
|
|||||||
SLOT(actionChanged()));
|
SLOT(actionChanged()));
|
||||||
connect(pageAction(QWebPage::Forward), SIGNAL(changed()), this,
|
connect(pageAction(QWebPage::Forward), SIGNAL(changed()), this,
|
||||||
SLOT(actionChanged()));
|
SLOT(actionChanged()));
|
||||||
|
|
||||||
setZoomFactor(zoom == 0.0 ? 1.0 : zoom);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QtWebKitHelpWidget::~QtWebKitHelpWidget()
|
QtWebKitHelpWidget::~QtWebKitHelpWidget()
|
||||||
@@ -393,9 +391,9 @@ bool QtWebKitHelpWidget::eventFilter(QObject *obj, QEvent *event)
|
|||||||
return QWebView::eventFilter(obj, event);
|
return QWebView::eventFilter(obj, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
QtWebKitHelpViewer::QtWebKitHelpViewer(qreal zoom, QWidget *parent)
|
QtWebKitHelpViewer::QtWebKitHelpViewer(QWidget *parent)
|
||||||
: HelpViewer(parent),
|
: HelpViewer(parent),
|
||||||
m_webView(new QtWebKitHelpWidget(zoom, this))
|
m_webView(new QtWebKitHelpWidget(this))
|
||||||
{
|
{
|
||||||
QVBoxLayout *layout = new QVBoxLayout;
|
QVBoxLayout *layout = new QVBoxLayout;
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
@@ -449,6 +447,11 @@ qreal QtWebKitHelpViewer::scale() const
|
|||||||
return m_webView->zoomFactor();
|
return m_webView->zoomFactor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void QtWebKitHelpViewer::setScale(qreal scale)
|
||||||
|
{
|
||||||
|
m_webView->setZoomFactor(scale <= 0.0 ? 1.0 : scale);
|
||||||
|
}
|
||||||
|
|
||||||
QString QtWebKitHelpViewer::title() const
|
QString QtWebKitHelpViewer::title() const
|
||||||
{
|
{
|
||||||
return m_webView->title();
|
return m_webView->title();
|
||||||
|
|||||||
@@ -48,13 +48,14 @@ class QtWebKitHelpViewer : public HelpViewer
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
explicit QtWebKitHelpViewer(qreal zoom, QWidget *parent = 0);
|
explicit QtWebKitHelpViewer(QWidget *parent = 0);
|
||||||
~QtWebKitHelpViewer() { }
|
~QtWebKitHelpViewer() { }
|
||||||
|
|
||||||
QFont viewerFont() const;
|
QFont viewerFont() const;
|
||||||
void setViewerFont(const QFont &font);
|
void setViewerFont(const QFont &font);
|
||||||
|
|
||||||
qreal scale() const;
|
qreal scale() const;
|
||||||
|
void setScale(qreal scale);
|
||||||
|
|
||||||
QString title() const;
|
QString title() const;
|
||||||
|
|
||||||
@@ -103,7 +104,7 @@ class QtWebKitHelpWidget : public QWebView
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit QtWebKitHelpWidget(qreal zoom, QtWebKitHelpViewer *parent = 0);
|
explicit QtWebKitHelpWidget(QtWebKitHelpViewer *parent = 0);
|
||||||
~QtWebKitHelpWidget();
|
~QtWebKitHelpWidget();
|
||||||
|
|
||||||
void scaleUp();
|
void scaleUp();
|
||||||
|
|||||||
@@ -50,9 +50,9 @@ using namespace Help::Internal;
|
|||||||
|
|
||||||
// -- HelpViewer
|
// -- HelpViewer
|
||||||
|
|
||||||
TextBrowserHelpViewer::TextBrowserHelpViewer(qreal zoom, QWidget *parent)
|
TextBrowserHelpViewer::TextBrowserHelpViewer(QWidget *parent)
|
||||||
: HelpViewer(parent)
|
: HelpViewer(parent)
|
||||||
, m_textBrowser(new TextBrowserHelpWidget(zoom, this))
|
, m_textBrowser(new TextBrowserHelpWidget(this))
|
||||||
{
|
{
|
||||||
QVBoxLayout *layout = new QVBoxLayout;
|
QVBoxLayout *layout = new QVBoxLayout;
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
@@ -112,6 +112,22 @@ qreal TextBrowserHelpViewer::scale() const
|
|||||||
return m_textBrowser->zoomCount;
|
return m_textBrowser->zoomCount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TextBrowserHelpViewer::setScale(qreal scale)
|
||||||
|
{
|
||||||
|
m_textBrowser->forceFont = true;
|
||||||
|
if (scale > 10)
|
||||||
|
scale = 10;
|
||||||
|
else if (scale < -5)
|
||||||
|
scale = -5;
|
||||||
|
int diff = (int)scale - m_textBrowser->zoomCount;
|
||||||
|
if (diff > 0)
|
||||||
|
m_textBrowser->zoomIn(diff);
|
||||||
|
else if (diff < 0)
|
||||||
|
m_textBrowser->zoomOut(-diff);
|
||||||
|
m_textBrowser->zoomCount = (int)scale;
|
||||||
|
m_textBrowser->forceFont = false;
|
||||||
|
}
|
||||||
|
|
||||||
QString TextBrowserHelpViewer::title() const
|
QString TextBrowserHelpViewer::title() const
|
||||||
{
|
{
|
||||||
return m_textBrowser->documentTitle();
|
return m_textBrowser->documentTitle();
|
||||||
@@ -284,9 +300,9 @@ void TextBrowserHelpViewer::goToHistoryItem()
|
|||||||
|
|
||||||
// -- private
|
// -- private
|
||||||
|
|
||||||
TextBrowserHelpWidget::TextBrowserHelpWidget(int zoom, TextBrowserHelpViewer *parent)
|
TextBrowserHelpWidget::TextBrowserHelpWidget(TextBrowserHelpViewer *parent)
|
||||||
: QTextBrowser(parent)
|
: QTextBrowser(parent)
|
||||||
, zoomCount(zoom)
|
, zoomCount(0)
|
||||||
, forceFont(false)
|
, forceFont(false)
|
||||||
, m_openInNewPageActionVisible(true)
|
, m_openInNewPageActionVisible(true)
|
||||||
, m_parent(parent)
|
, m_parent(parent)
|
||||||
|
|||||||
@@ -47,13 +47,14 @@ class TextBrowserHelpViewer : public HelpViewer
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit TextBrowserHelpViewer(qreal zoom, QWidget *parent = 0);
|
explicit TextBrowserHelpViewer(QWidget *parent = 0);
|
||||||
~TextBrowserHelpViewer();
|
~TextBrowserHelpViewer();
|
||||||
|
|
||||||
QFont viewerFont() const;
|
QFont viewerFont() const;
|
||||||
void setViewerFont(const QFont &font);
|
void setViewerFont(const QFont &font);
|
||||||
|
|
||||||
qreal scale() const;
|
qreal scale() const;
|
||||||
|
void setScale(qreal scale);
|
||||||
|
|
||||||
QString title() const;
|
QString title() const;
|
||||||
|
|
||||||
@@ -97,7 +98,7 @@ class TextBrowserHelpWidget : public QTextBrowser
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TextBrowserHelpWidget(int zoom, TextBrowserHelpViewer *parent);
|
TextBrowserHelpWidget(TextBrowserHelpViewer *parent);
|
||||||
|
|
||||||
QVariant loadResource(int type, const QUrl &name);
|
QVariant loadResource(int type, const QUrl &name);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user