From affad4abfdd065a3c329ef40c1a46042c0562f2f Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Tue, 30 Jan 2018 13:34:44 +0100 Subject: Profile menu lists loadable profiles --- src/widgets/mainwindowmenubar.cpp | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) (limited to 'src/widgets/mainwindowmenubar.cpp') diff --git a/src/widgets/mainwindowmenubar.cpp b/src/widgets/mainwindowmenubar.cpp index d24f273..3c5b042 100644 --- a/src/widgets/mainwindowmenubar.cpp +++ b/src/widgets/mainwindowmenubar.cpp @@ -7,6 +7,7 @@ */ #include "mainwindowmenubar.h" +#include "browser.h" #include "downloads/downloadswidget.h" #include "src/mainwindow/mainwindow.h" #include @@ -19,6 +20,8 @@ MainWindowMenuBar::MainWindowMenuBar(std::shared_ptr config, Main setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); + auto *browser = dynamic_cast(QApplication::instance()); + // Browser menu QMenu *browserMenu = new QMenu(qApp->applicationName(), this); addMenu(browserMenu); @@ -36,7 +39,7 @@ MainWindowMenuBar::MainWindowMenuBar(std::shared_ptr config, Main newTabAction->setShortcut(QKeySequence(config->value("browser.shortcuts.newTab").value().c_str())); browserMenu->addSeparator(); - browserMenu->addAction(tr("Settings"), parent, &MainWindow::showSettingsDialog); + //browserMenu->addAction(tr("Settings"), parent, &MainWindow::showSettingsDialog); browserMenu->addAction(tr("About"), parent, &MainWindow::about, QKeySequence(config->value("browser.shortcuts.about").value().c_str())); browserMenu->addAction(tr("About Qt"), qApp, &QApplication::aboutQt); browserMenu->addSeparator(); @@ -67,7 +70,13 @@ MainWindowMenuBar::MainWindowMenuBar(std::shared_ptr config, Main m_profileAction->setEnabled(false); QMenu *loadMenu = profileMenu->addMenu(tr("Load")); - loadMenu->setEnabled(false); + + for(const QString &name : browser->profiles()) { + QAction *profileAction = loadMenu->addAction(browser->profile(name)->name()); + connect(profileAction, &QAction::triggered, this, [browser, parent, name] { + parent->setProfile(browser->profile(name)); + }); + } } QAction *MainWindowMenuBar::bookmarksAction() @@ -76,13 +85,9 @@ QAction *MainWindowMenuBar::bookmarksAction() return m_bookmarksAction; } -void MainWindowMenuBar::setProfileName(const QString &name) +QAction *MainWindowMenuBar::profileAction() const { Q_CHECK_PTR(m_profileAction); - m_profileAction->setText(tr("Current: %1").arg(name)); + return m_profileAction; } -void MainWindowMenuBar::handleLoadProfile(const QString &name, MainWindow *window) -{ - window->setProfile(static_cast(qApp->instance())->profile(name)); -} -- cgit v1.2.1