summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@theqtcompany.com>2015-07-14 11:28:22 +0200
committerJoerg Bornemann <joerg.bornemann@theqtcompany.com>2015-07-14 12:09:12 +0000
commit8d6b933a971476abe91e72728d997aa5dd2a71be (patch)
tree5a880612e304cb88eaf586de3586af8eb4c4a6d0 /src
parent088aaa64eb9a6efad107383749985b2b462fa36f (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.cpp9
-rw-r--r--src/webenginewidgets/api/qwebenginepage.cpp7
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;