aboutsummaryrefslogtreecommitdiff
path: root/src/webengine/webview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/webengine/webview.cpp')
-rw-r--r--src/webengine/webview.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/webengine/webview.cpp b/src/webengine/webview.cpp
index 94f73bc..963a894 100644
--- a/src/webengine/webview.cpp
+++ b/src/webengine/webview.cpp
@@ -243,16 +243,12 @@ void WebView::contextMenuEvent(QContextMenuEvent *event)
createWindow(QWebEnginePage::WebBrowserTab)->load(ctxdata.linkUrl());
});
- auto *newTabMenu = new QMenu(tr("Open link in new tab with profile"), this);
- ProfileIterator it(profileManager->profileList());
- while(it.hasNext()) {
- it.next();
- connect(newTabMenu->addAction(it.key()), &QAction::triggered, this, [this, ctxdata, it]() {
- auto *view = createWindow(QWebEnginePage::WebBrowserTab);
- view->setProfile(it.value());
- view->load(ctxdata.linkUrl());
- });
- }
+ QMenu *newTabMenu = profileManager->createProfileMenu([this, ctxdata](WebProfile *profile) {
+ auto *view = this->createWindow(QWebEnginePage::WebBrowserTab);
+ view->setProfile(profile);
+ view->load(ctxdata.linkUrl());
+ }, this);
+ newTabMenu->setTitle(tr("Open link in new tab with profile"));
menu->addMenu(newTabMenu);
connect(menu->addAction(tr("Open link in new window")), &QAction::triggered, this, [this, ctxdata]() {