summaryrefslogtreecommitdiffstats
path: root/src/webengine/ui_delegates_manager.cpp
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-05-12 10:45:23 +0200
committerAllan Sandfeld Jensen <allan.jensen@theqtcompany.com>2015-05-27 14:08:44 +0000
commite4361807da9db0609697e7a650947dbf26321cdc (patch)
tree12cfad7238c9ede5703b748a5c42cbf73757472b /src/webengine/ui_delegates_manager.cpp
parent7b02ee95f90a5fa14a9abf3b63d2c84440d76a7b (diff)
Make QQuick contextmenu actions behave like widget counterparts
Updates a two of the context menu actions so they behave like the updated actions in qtwebenginewidgets. Also improves the default label of OpenInThisWindow, since by default there are no other windows. Change-Id: Iac0dc23e8f31598296cba87f93503cefd926983f Reviewed-by: Andras Becsi <andras.becsi@theqtcompany.com>
Diffstat (limited to 'src/webengine/ui_delegates_manager.cpp')
-rw-r--r--src/webengine/ui_delegates_manager.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/webengine/ui_delegates_manager.cpp b/src/webengine/ui_delegates_manager.cpp
index 48466bfe2..70b14cd47 100644
--- a/src/webengine/ui_delegates_manager.cpp
+++ b/src/webengine/ui_delegates_manager.cpp
@@ -44,6 +44,7 @@
#include <QClipboard>
#include <QFileInfo>
#include <QGuiApplication>
+#include <QMimeData>
#include <QQmlContext>
#include <QQmlEngine>
#include <QQmlProperty>
@@ -121,6 +122,26 @@ void CopyMenuItem::onTriggered()
qApp->clipboard()->setText(m_textToCopy);
}
+CopyLinkMenuItem::CopyLinkMenuItem(QObject *parent, const QUrl &url, const QString &title)
+ : MenuItemHandler(parent)
+ , m_url(url)
+ , m_title(title)
+{
+ connect(this, &MenuItemHandler::triggered, this, &CopyLinkMenuItem::onTriggered);
+}
+
+void CopyLinkMenuItem::onTriggered()
+{
+ QString urlString = m_url.toString(QUrl::FullyEncoded);
+ QString title = m_title.toHtmlEscaped();
+ QMimeData *data = new QMimeData();
+ data->setText(urlString);
+ QString html = QStringLiteral("<a href=\"") + urlString + QStringLiteral("\">") + title + QStringLiteral("</a>");
+ data->setHtml(html);
+ data->setUrls(QList<QUrl>() << m_url);
+ qApp->clipboard()->setMimeData(data);
+}
+
NavigateMenuItem::NavigateMenuItem(QObject *parent, const QExplicitlySharedDataPointer<WebContentsAdapter> &adapter, const QUrl &targetUrl)
: MenuItemHandler(parent)
, m_adapter(adapter)