diff options
author | Jocelyn Turcotte <jocelyn.turcotte@digia.com> | 2014-02-10 17:58:18 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-02-13 14:28:04 +0100 |
commit | 9cf0007b6ff49305550754babaeb67eb85c8d5ef (patch) | |
tree | 9120ed29dc1a5a80411564d1a3c82afb48d0a669 /src/webenginewidgets/api | |
parent | 9df1c50119847d960e07ecb98597435c91ac5e30 (diff) |
Implement QWebEnginePage::selectedText
Change-Id: Idebde8da0befbea7ccc5942de1e09fcc61ce16d4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
Diffstat (limited to 'src/webenginewidgets/api')
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 17 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage_p.h | 1 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebengineview.cpp | 11 |
3 files changed, 29 insertions, 0 deletions
diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 9636598e8..760a8eff7 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -184,6 +184,12 @@ void QWebEnginePagePrivate::loadProgressChanged(int progress) Q_EMIT q->loadProgress(progress); } +void QWebEnginePagePrivate::selectionChanged() +{ + Q_Q(QWebEnginePage); + Q_EMIT q->selectionChanged(); +} + QRectF QWebEnginePagePrivate::viewportRect() const { return view ? view->geometry() : QRectF(); @@ -329,6 +335,17 @@ QWidget *QWebEnginePage::view() const return d->view; } +bool QWebEnginePage::hasSelection() const +{ + return !selectedText().isEmpty(); +} + +QString QWebEnginePage::selectedText() const +{ + Q_D(const QWebEnginePage); + return d->adapter->selectedText(); +} + #ifndef QT_NO_ACTION QAction *QWebEnginePage::action(WebAction action) const { diff --git a/src/webenginewidgets/api/qwebenginepage_p.h b/src/webenginewidgets/api/qwebenginepage_p.h index 9a4dc57fd..e6113b795 100644 --- a/src/webenginewidgets/api/qwebenginepage_p.h +++ b/src/webenginewidgets/api/qwebenginepage_p.h @@ -110,6 +110,7 @@ public: virtual void iconChanged(const QUrl&) Q_DECL_OVERRIDE; virtual void loadingStateChanged() Q_DECL_OVERRIDE; virtual void loadProgressChanged(int progress) Q_DECL_OVERRIDE; + virtual void selectionChanged() Q_DECL_OVERRIDE; virtual QRectF viewportRect() const Q_DECL_OVERRIDE; virtual qreal dpiScale() const Q_DECL_OVERRIDE; virtual void loadFinished(bool success, int error_code, const QString &error_description = QString()) Q_DECL_OVERRIDE; diff --git a/src/webenginewidgets/api/qwebengineview.cpp b/src/webenginewidgets/api/qwebengineview.cpp index eee68d65d..e5237bc72 100644 --- a/src/webenginewidgets/api/qwebengineview.cpp +++ b/src/webenginewidgets/api/qwebengineview.cpp @@ -80,6 +80,7 @@ void QWebEngineViewPrivate::bind(QWebEngineView *view, QWebEnginePage *page) QObject::connect(page, &QWebEnginePage::loadStarted, view, &QWebEngineView::loadStarted); QObject::connect(page, &QWebEnginePage::loadProgress, view, &QWebEngineView::loadProgress); QObject::connect(page, &QWebEnginePage::loadFinished, view, &QWebEngineView::loadFinished); + QObject::connect(page, &QWebEnginePage::selectionChanged, view, &QWebEngineView::selectionChanged); } } @@ -154,6 +155,16 @@ QUrl QWebEngineView::url() const return page()->url(); } +bool QWebEngineView::hasSelection() const +{ + return page()->hasSelection(); +} + +QString QWebEngineView::selectedText() const +{ + return page()->selectedText(); +} + #ifndef QT_NO_ACTION QAction* QWebEngineView::pageAction(QWebEnginePage::WebAction action) const { |