From 40d1e94d273dad53bd4b40333cd0f165ad9205fe Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Sat, 9 Jun 2018 12:45:02 +0200 Subject: Move load profile menu to page menu from tab menu --- src/webengine/widgets/pagemenu.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'src/webengine/widgets/pagemenu.cpp') diff --git a/src/webengine/widgets/pagemenu.cpp b/src/webengine/widgets/pagemenu.cpp index c435d34..9cfeb71 100644 --- a/src/webengine/widgets/pagemenu.cpp +++ b/src/webengine/widgets/pagemenu.cpp @@ -18,11 +18,13 @@ #include #include #include +#include "browser.h" PageMenu::PageMenu(WebView *parent) : QMenu(tr("Page"), parent) { setMinimumWidth(240); + view = parent; auto *bookmarkAction = addAction(tr("Bookmark page")); connect(bookmarkAction, &QAction::triggered, parent, [parent]() { @@ -89,4 +91,27 @@ PageMenu::PageMenu(WebView *parent) } addAction(zoomWidgetAction); + addSeparator(); + + loadProfile_menu = addMenu(tr("Load Profile")); + connect(this, &PageMenu::aboutToShow, this, &PageMenu::updateLoadProfileMenu); +} + +void PageMenu::updateLoadProfileMenu() +{ + Q_CHECK_PTR(loadProfile_menu); + loadProfile_menu->clear(); + + auto *browser = qobject_cast(qApp); + Q_CHECK_PTR(browser); + + for(const QString &name : browser->profiles()) { + auto *profile = browser->profile(name); + Q_CHECK_PTR(profile); + + auto *profileAction = loadProfile_menu->addAction(profile->name()); + connect(profileAction, &QAction::triggered, this, [this, profile]() { + view->setProfile(profile); + }); + } } -- cgit v1.2.1