summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2013-11-25 15:09:02 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-26 13:34:49 +0100
commitca89a4725dbea5c52d3c5d39bcf1a2ad5b67aa2a (patch)
tree8c026576b1e1e4097303158b61e3562c6097f037
parent9362404ac152a4fa874c8af4c5436bdca9ba7329 (diff)
Use functors instead of lambda expressions when creating a context menu.
Change-Id: I09cea3230da7d0b7a218108668bd562f2cb57384 Reviewed-by: Jocelyn Turcotte <jocelyn.turcotte@digia.com>
-rw-r--r--lib/widgets/Api/qwebenginepage.cpp37
-rw-r--r--lib/widgets/widgets.pro2
2 files changed, 33 insertions, 6 deletions
diff --git a/lib/widgets/Api/qwebenginepage.cpp b/lib/widgets/Api/qwebenginepage.cpp
index 4fafb17ff..106e46949 100644
--- a/lib/widgets/Api/qwebenginepage.cpp
+++ b/lib/widgets/Api/qwebenginepage.cpp
@@ -333,6 +333,36 @@ bool QWebEnginePagePrivate::javascriptDialog(JavascriptDialogType type, const QS
return false;
}
+namespace {
+class SaveToClipboardFunctor
+{
+ QString m_text;
+public:
+ SaveToClipboardFunctor(const QString &text)
+ : m_text(text)
+ {}
+ void operator()() const
+ {
+ qApp->clipboard()->setText(m_text);
+ }
+};
+
+class LoadUrlFunctor
+{
+ QWebEnginePage *m_page;
+ QUrl m_url;
+public:
+ LoadUrlFunctor(QWebEnginePage *page, const QUrl &url)
+ : m_page(page)
+ , m_url(url)
+ {}
+ void operator()() const
+ {
+ m_page->load(m_url);
+ }
+};
+}
+
QMenu *QWebEnginePage::createStandardContextMenu()
{
Q_D(QWebEnginePage);
@@ -355,18 +385,17 @@ QMenu *QWebEnginePage::createStandardContextMenu()
menu->addAction(action);
} else {
action = new QAction(tr("Copy..."), menu);
- // FIXME: We probably can't keep "cheating" with lambdas, but for now it keeps this patch smaller ;)
- connect(action, &QAction::triggered, [=]() { qApp->clipboard()->setText(contextMenuData.selectedText); });
+ connect(action, &QAction::triggered, SaveToClipboardFunctor(contextMenuData.selectedText));
menu->addAction(action);
}
if (!contextMenuData.linkText.isEmpty() && contextMenuData.linkUrl.isValid()) {
menu->addSeparator();
action = new QAction(tr("Navigate to..."), menu);
- connect(action, &QAction::triggered, [=]() { load(contextMenuData.linkUrl); });
+ connect(action, &QAction::triggered, LoadUrlFunctor(this, contextMenuData.linkUrl));
menu->addAction(action);
action = new QAction(tr("Copy link address"), menu);
- connect(action, &QAction::triggered, [=]() { qApp->clipboard()->setText(contextMenuData.linkUrl.toString()); });
+ connect(action, &QAction::triggered, SaveToClipboardFunctor(contextMenuData.linkUrl.toString()));
menu->addAction(action);
}
return menu;
diff --git a/lib/widgets/widgets.pro b/lib/widgets/widgets.pro
index 5da1be091..0eb48ada5 100644
--- a/lib/widgets/widgets.pro
+++ b/lib/widgets/widgets.pro
@@ -9,8 +9,6 @@ MODULE = webenginewidgets
# For our export macros
DEFINES += QT_BUILD_WEBENGINEWIDGETS_LIB
-CONFIG += c++11
-
QT += widgets
QT_PRIVATE += widgets-private gui-private core-private