diff options
author | Peter Varga <pvarga@inf.u-szeged.hu> | 2016-07-13 17:28:15 +0200 |
---|---|---|
committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2016-08-02 14:08:32 +0000 |
commit | 9b8c1020f2752ab5095086577ab98fa80926c43d (patch) | |
tree | a0780e2dd66d2dd3eeff727cf81d97c0632aa36a /src/webengine | |
parent | ea616d1047325fed629eb3bfef85550daff56ff7 (diff) |
Add View Source API and make the feature available from context menu
[ChangeLog][QtWebEngineQML][QQuickWebEngineView] View Source feature is
now supported
[ChangeLog][QtWebEngineWidgets][QWebEnginePage] View Source feature is
now supported
Change-Id: Icc16da71fc6ec95880897fc9744dd8be8c004e00
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/webengine')
-rw-r--r-- | src/webengine/api/qquickwebengineview.cpp | 16 | ||||
-rw-r--r-- | src/webengine/api/qquickwebengineview_p.h | 3 | ||||
-rw-r--r-- | src/webengine/doc/src/webengineview.qdoc | 17 |
3 files changed, 36 insertions, 0 deletions
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index 983e8c30e..0170018e7 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -240,6 +240,10 @@ bool QQuickWebEngineViewPrivate::contextMenuRequested(const WebEngineContextMenu item = new MenuItemHandler(menu); QObject::connect(item, &MenuItemHandler::triggered, q, &QQuickWebEngineView::reload); ui()->addMenuItem(item, QQuickWebEngineView::tr("Reload"), QStringLiteral("view-refresh")); + + item = new MenuItemHandler(menu); + QObject::connect(item, &MenuItemHandler::triggered, q, &QQuickWebEngineView::viewSource); + ui()->addMenuItem(item, QQuickWebEngineView::tr("View Page Source"), QStringLiteral("view-source"), q->canViewSource()); } else { item = new MenuItemHandler(menu); QObject::connect(item, &MenuItemHandler::triggered, [q] { q->triggerWebAction(QQuickWebEngineView::Copy); }); @@ -1278,6 +1282,18 @@ void QQuickWebEngineView::replaceMisspelledWord(const QString &replacement) d->adapter->replaceMisspelling(replacement); } +void QQuickWebEngineView::viewSource() +{ + Q_D(QQuickWebEngineView); + d->adapter->viewSource(); +} + +bool QQuickWebEngineView::canViewSource() const +{ + Q_D(const QQuickWebEngineView); + return d->adapter->canViewSource(); +} + bool QQuickWebEngineView::isFullScreen() const { Q_D(const QQuickWebEngineView); diff --git a/src/webengine/api/qquickwebengineview_p.h b/src/webengine/api/qquickwebengineview_p.h index 367497da5..dc693a94c 100644 --- a/src/webengine/api/qquickwebengineview_p.h +++ b/src/webengine/api/qquickwebengineview_p.h @@ -119,6 +119,7 @@ class Q_WEBENGINE_PRIVATE_EXPORT QQuickWebEngineView : public QQuickItem { Q_PROPERTY(bool audioMuted READ isAudioMuted WRITE setAudioMuted NOTIFY audioMutedChanged FINAL REVISION 3) Q_PROPERTY(bool recentlyAudible READ recentlyAudible NOTIFY recentlyAudibleChanged FINAL REVISION 3) Q_PROPERTY(uint webChannelWorld READ webChannelWorld WRITE setWebChannelWorld NOTIFY webChannelWorldChanged REVISION 3) + Q_PROPERTY(bool canViewSource READ canViewSource FINAL REVISION 4) #ifdef ENABLE_QML_TESTSUPPORT_API Q_PROPERTY(QQuickWebEngineTestSupport *testSupport READ testSupport WRITE setTestSupport FINAL) @@ -145,6 +146,7 @@ public: void setBackgroundColor(const QColor &color); QSizeF contentsSize() const; QPointF scrollPosition() const; + bool canViewSource() const; QQuickWebEngineViewExperimental *experimental() const; @@ -473,6 +475,7 @@ public Q_SLOTS: Q_REVISION(3) void printToPdf(const QString &filePath, PrintedPageSizeId pageSizeId = PrintedPageSizeId::A4, PrintedPageOrientation orientation = PrintedPageOrientation::Portrait); Q_REVISION(3) void printToPdf(const QJSValue &callback, PrintedPageSizeId pageSizeId = PrintedPageSizeId::A4, PrintedPageOrientation orientation = PrintedPageOrientation::Portrait); Q_REVISION(4) void replaceMisspelledWord(const QString &replacement); + Q_REVISION(4) void viewSource(); private Q_SLOTS: void lazyInitialize(); diff --git a/src/webengine/doc/src/webengineview.qdoc b/src/webengine/doc/src/webengineview.qdoc index 0f83d0d23..83eadd563 100644 --- a/src/webengine/doc/src/webengineview.qdoc +++ b/src/webengine/doc/src/webengineview.qdoc @@ -1128,3 +1128,20 @@ Also if the audio is paused, this signal is emitted with an approximate \b{2 second delay}, from the moment the audio is paused. */ + +/*! + \qmlmethod void WebEngineView::viewSource() + \since QtWebEngine 1.4 + + Shows the source of the current page in a new tab. + + \sa canViewSource +*/ + +/*! + \qmlproperty bool WebEngineView::canViewSource + \brief This property holds whether the source for the current page can be viewed. + \since QtWebEngine 1.4 + + \sa viewSource() +*/ |