summaryrefslogtreecommitdiffstats
path: root/src/assistant/assistant/helpviewerimpl.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/assistant/assistant/helpviewerimpl.h')
-rw-r--r--src/assistant/assistant/helpviewerimpl.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/src/assistant/assistant/helpviewerimpl.h b/src/assistant/assistant/helpviewerimpl.h
new file mode 100644
index 000000000..5bf2f92e4
--- /dev/null
+++ b/src/assistant/assistant/helpviewerimpl.h
@@ -0,0 +1,111 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+#ifndef HELPVIEWERIMPL_H
+#define HELPVIEWERIMPL_H
+
+#include <QtCore/qglobal.h>
+#include <QtCore/QUrl>
+#include <QtCore/QVariant>
+
+#include <QtGui/QFont>
+
+#if defined(BROWSER_QTWEBKIT)
+# include <QWebView>
+#elif defined(BROWSER_QTEXTBROWSER)
+# include <QtWidgets/QTextBrowser>
+#endif
+
+#include "helpviewer.h"
+
+QT_BEGIN_NAMESPACE
+
+#if defined(BROWSER_QTWEBKIT)
+#define TEXTBROWSER_OVERRIDE
+class HelpViewerImpl : public QWebView
+#elif defined(BROWSER_QTEXTBROWSER)
+#define TEXTBROWSER_OVERRIDE override
+class HelpViewerImpl : public QTextBrowser
+#endif
+{
+ Q_OBJECT
+ class HelpViewerImplPrivate;
+
+public:
+ HelpViewerImpl(qreal zoom, QWidget *parent = nullptr);
+ ~HelpViewerImpl() override;
+
+ QFont viewerFont() const;
+ void setViewerFont(const QFont &font);
+
+ void scaleUp();
+ void scaleDown();
+
+ void resetScale();
+ qreal scale() const;
+
+ QString title() const;
+
+ QUrl source() const;
+ void doSetSource(const QUrl &url, QTextDocument::ResourceType type) TEXTBROWSER_OVERRIDE;
+
+ QString selectedText() const;
+ bool isForwardAvailable() const;
+ bool isBackwardAvailable() const;
+
+ bool findText(const QString &text, HelpViewer::FindFlags flags, bool incremental,
+ bool fromSearch);
+
+ static const QString AboutBlank;
+ static const QString LocalHelpFile;
+ static const QString PageNotFoundMessage;
+
+public slots:
+#if QT_CONFIG(clipboard)
+ void copy();
+#endif
+ void home() TEXTBROWSER_OVERRIDE;
+
+ void forward() TEXTBROWSER_OVERRIDE;
+ void backward() TEXTBROWSER_OVERRIDE;
+
+signals:
+ void titleChanged();
+#if !defined(BROWSER_QTEXTBROWSER)
+ // Provide signals present in QTextBrowser, QTextEdit for browsers that do not inherit QTextBrowser
+ void copyAvailable(bool yes);
+ void sourceChanged(const QUrl &url);
+ void forwardAvailable(bool enabled);
+ void backwardAvailable(bool enabled);
+ void highlighted(const QUrl &link);
+ void printRequested();
+#elif !defined(BROWSER_QTWEBKIT)
+ // Provide signals present in QWebView for browsers that do not inherit QWebView
+ void loadFinished(bool finished);
+#endif
+
+protected:
+ void keyPressEvent(QKeyEvent *e) override;
+ void wheelEvent(QWheelEvent *event) override;
+ void mousePressEvent(QMouseEvent *event) override;
+ void mouseReleaseEvent(QMouseEvent *event) override;
+ void resizeEvent(QResizeEvent *e) override;
+
+private slots:
+ void actionChanged();
+ void setLoadFinished();
+
+private:
+ bool eventFilter(QObject *obj, QEvent *event) override;
+ void contextMenuEvent(QContextMenuEvent *event) override;
+ QVariant loadResource(int type, const QUrl &name) TEXTBROWSER_OVERRIDE;
+ bool handleForwardBackwardMouseButtons(QMouseEvent *e);
+ void scrollToTextPosition(int position);
+
+private:
+ HelpViewerImplPrivate *d;
+};
+
+QT_END_NAMESPACE
+
+#endif // HELPVIEWERIMPL_H