diff options
author | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2015-07-14 11:28:22 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@theqtcompany.com> | 2015-07-14 12:09:12 +0000 |
commit | 8d6b933a971476abe91e72728d997aa5dd2a71be (patch) | |
tree | 5a880612e304cb88eaf586de3586af8eb4c4a6d0 /src | |
parent | 088aaa64eb9a6efad107383749985b2b462fa36f (diff) |
make copy web action available for canvases
We need to take into account that canvases don't have a valid media URL.
Task-number: QTBUG-47187
Change-Id: I01e1097c74df623a7d28189b6ab25fdc27c5e766
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/webengine/api/qquickwebengineview.cpp | 9 | ||||
-rw-r--r-- | src/webenginewidgets/api/qwebenginepage.cpp | 7 |
2 files changed, 12 insertions, 4 deletions
diff --git a/src/webengine/api/qquickwebengineview.cpp b/src/webengine/api/qquickwebengineview.cpp index 4ee19da53..eea584d4d 100644 --- a/src/webengine/api/qquickwebengineview.cpp +++ b/src/webengine/api/qquickwebengineview.cpp @@ -219,12 +219,13 @@ bool QQuickWebEngineViewPrivate::contextMenuRequested(const WebEngineContextMenu item = new MenuItemHandler(menu); QObject::connect(item, &MenuItemHandler::triggered, [q] { q->triggerWebAction(QQuickWebEngineView::CopyImageUrlToClipboard); }); ui()->addMenuItem(item, QObject::tr("Copy Image URL")); - // no break - case WebEngineContextMenuData::MediaTypeCanvas: item = new MenuItemHandler(menu); QObject::connect(item, &MenuItemHandler::triggered, [q] { q->triggerWebAction(QQuickWebEngineView::CopyImageToClipboard); }); ui()->addMenuItem(item, QObject::tr("Copy Image")); break; + case WebEngineContextMenuData::MediaTypeCanvas: + Q_UNREACHABLE(); // mediaUrl is invalid for canvases + break; case WebEngineContextMenuData::MediaTypeAudio: case WebEngineContextMenuData::MediaTypeVideo: item = new MenuItemHandler(menu); @@ -250,6 +251,10 @@ bool QQuickWebEngineViewPrivate::contextMenuRequested(const WebEngineContextMenu default: break; } + } else if (contextMenuData.mediaType == WebEngineContextMenuData::MediaTypeCanvas) { + item = new MenuItemHandler(menu); + QObject::connect(item, &MenuItemHandler::triggered, [q] { q->triggerWebAction(QQuickWebEngineView::CopyImageToClipboard); }); + ui()->addMenuItem(item, QObject::tr("Copy Image")); } // FIXME: expose the context menu data as an attached property to make this more useful diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp index 1de94bc6b..f93227297 100644 --- a/src/webenginewidgets/api/qwebenginepage.cpp +++ b/src/webenginewidgets/api/qwebenginepage.cpp @@ -894,10 +894,11 @@ QMenu *QWebEnginePage::createStandardContextMenu() case WebEngineContextMenuData::MediaTypeImage: menu->addAction(QWebEnginePage::action(DownloadImageToDisk)); menu->addAction(QWebEnginePage::action(CopyImageUrlToClipboard)); - // no break - case WebEngineContextMenuData::MediaTypeCanvas: menu->addAction(QWebEnginePage::action(CopyImageToClipboard)); break; + case WebEngineContextMenuData::MediaTypeCanvas: + Q_UNREACHABLE(); // mediaUrl is invalid for canvases + break; case WebEngineContextMenuData::MediaTypeAudio: case WebEngineContextMenuData::MediaTypeVideo: menu->addAction(QWebEnginePage::action(DownloadMediaToDisk)); @@ -912,6 +913,8 @@ QMenu *QWebEnginePage::createStandardContextMenu() default: break; } + } else if (contextMenuData.mediaType == WebEngineContextMenuData::MediaTypeCanvas) { + menu->addAction(QWebEnginePage::action(CopyImageToClipboard)); } return menu; |