diff options
author | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-05-12 10:45:23 +0200 |
---|---|---|
committer | Allan Sandfeld Jensen <allan.jensen@theqtcompany.com> | 2015-05-27 14:08:44 +0000 |
commit | e4361807da9db0609697e7a650947dbf26321cdc (patch) | |
tree | 12cfad7238c9ede5703b748a5c42cbf73757472b /src/webengine/ui_delegates_manager.cpp | |
parent | 7b02ee95f90a5fa14a9abf3b63d2c84440d76a7b (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.cpp | 21 |
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) |