diff options
author | Michal Klocek <michal.klocek@theqtcompany.com> | 2016-05-11 13:43:45 +0200 |
---|---|---|
committer | Michal Klocek <michal.klocek@theqtcompany.com> | 2016-07-02 04:33:41 +0000 |
commit | 42504596248a10eb31a5b719e0676b71f55871e4 (patch) | |
tree | e7f1008595bb417e2b92bcfbb5bf4c0eb71196bf /src/webengine/api/qquickwebengineview.cpp | |
parent | 1e204d3b74fbe275fb4d9fe45bbb011742f828f9 (diff) |
Add back spellchecking support
This reverts commit:
* d364c05de52f9ab39034e56cac4e0a7981dc541d
* e507f140b70f464fb970d2f94357ac588dcc4f03
Moreover it fixes shut down of keyed services,
updates versioning of and fixes spellcheck unit
test context menu request, which otherwise
fails on windows.
Change-Id: I9bfc589544cb969abd6d2d7af69531b4c5c907b7
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/webengine/api/qquickwebengineview.cpp')
-rw-r--r-- | src/webengine/api/qquickwebengineview.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index ac25cd4d2..b660b06be 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -212,7 +212,16 @@ bool QQuickWebEngineViewPrivate::contextMenuRequested(const WebEngineContextMenu // Populate our menu MenuItemHandler *item = 0; - + if (contextMenuData.isContentEditable() && !contextMenuData.spellCheckerSuggestions().isEmpty()) { + const QPointer<QQuickWebEngineView> qRef(q); + for (int i=0; i < contextMenuData.spellCheckerSuggestions().count() && i < 4; i++) { + item = new MenuItemHandler(menu); + QString replacement = contextMenuData.spellCheckerSuggestions().at(i); + QObject::connect(item, &MenuItemHandler::triggered, [qRef, replacement] { qRef->replaceMisspelledWord(replacement); }); + ui()->addMenuItem(item, replacement); + } + ui()->addMenuSeparator(menu); + } if (!data.linkText.isEmpty() && data.linkUrl.isValid()) { item = new MenuItemHandler(menu); QObject::connect(item, &MenuItemHandler::triggered, [q] { q->triggerWebAction(QQuickWebEngineView::OpenLinkInThisWindow); }); @@ -1258,6 +1267,12 @@ void QQuickWebEngineView::printToPdf(const QJSValue &callback, PrintedPageSizeId d->m_callbacks.insert(requestId, callback); } +void QQuickWebEngineView::replaceMisspelledWord(const QString &replacement) +{ + Q_D(QQuickWebEngineView); + d->adapter->replaceMisspelling(replacement); +} + bool QQuickWebEngineView::isFullScreen() const { Q_D(const QQuickWebEngineView); |