From 4e3c479a0f279926e0bd9a359a0ee57b334e976e Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Fri, 8 Dec 2017 14:22:19 +0100 Subject: Replaced tinytoml with libconfig --- src/widgets/mainwindowmenubar.cpp | 58 +++++++++++++++++++++++---------------- 1 file changed, 35 insertions(+), 23 deletions(-) (limited to 'src/widgets/mainwindowmenubar.cpp') diff --git a/src/widgets/mainwindowmenubar.cpp b/src/widgets/mainwindowmenubar.cpp index 964d9fd..c233d29 100644 --- a/src/widgets/mainwindowmenubar.cpp +++ b/src/widgets/mainwindowmenubar.cpp @@ -19,49 +19,61 @@ ******************************************************************************/ #include "mainwindowmenubar.h" +#include #include -#include "browser.h" #include #include "forms/profilesdialog.h" - -#include "interfaces.h" - #include "mainwindow.h" +#include -MainWindowMenuBar::MainWindowMenuBar(MainWindow *parent) : +MainWindowMenuBar::MainWindowMenuBar(std::shared_ptr config, MainWindow *parent) : QMenuBar(parent) { - m_parentWindow = parent; + Q_ASSERT(config); + Q_ASSERT(parent); // Browser menu QMenu *browserMenu = new QMenu(qApp->applicationName(), this); addMenu(browserMenu); - browserMenu->addAction(tr("New Window"), parent, SLOT(newWindow()), QKeySequence::fromString(browser->settings()->value("window.shortcuts.windowNew").toString())); - browserMenu->addAction(tr("New Tab"), parent, SLOT(newTab()), QKeySequence::fromString(browser->settings()->value("window.shortcuts.tabNew").toString())); + + QAction *newWindowAction = browserMenu->addAction(tr("New Window")); + connect(newWindowAction, &QAction::triggered, parent, [parent]() { + parent->newWindow(); + }); + newWindowAction->setShortcut(QKeySequence(config->value("browser.shortcuts.newWindow").value().c_str())); + + QAction *newTabAction = browserMenu->addAction(tr("New Tab")); + connect(newTabAction, &QAction::triggered, parent, [parent]() { + parent->newTab(); + }); + newTabAction->setShortcut(QKeySequence(config->value("browser.shortcuts.newTab").value().c_str())); + browserMenu->addSeparator(); - browserMenu->addAction(tr("About"), parent, SLOT(about()), QKeySequence(tr("F1"))); - browserMenu->addAction(tr("About Qt"), qApp, SLOT(aboutQt())); + 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(); - browserMenu->addAction(tr("Quit"), qApp, SLOT(quit()), QKeySequence::fromString(browser->settings()->value("window.shortcuts.windowClose").toString())); + + QAction *quitAction = browserMenu->addAction(tr("Quit"), qApp, &QApplication::quit); + quitAction->setShortcut(QKeySequence(config->value("browser.shortcuts.quit").value().c_str())); // Tools menu QMenu *toolsMenu = new QMenu(tr("Tools"), this); addMenu(toolsMenu); QAction *downloadsAction = toolsMenu->addAction(tr("Downloads")); downloadsAction->setParent(parent); - downloadsAction->setShortcut(QKeySequence::fromString(browser->settings()->value("downloads.dialogShortcut").toString())); - connect(downloadsAction, &QAction::triggered, this, [&]() { - m_parentWindow->addTabbedDock(Qt::RightDockWidgetArea, browser->downloads()); - }); + //downloadsAction->setShortcut(QKeySequence::fromString(browser->settings()->value("downloads.dialogShortcut").toString())); + //connect(downloadsAction, &QAction::triggered, this, [&]() { + // m_parentWindow->addTabbedDock(Qt::RightDockWidgetArea, browser->downloads()); + //}); QAction *bookmarksAction = toolsMenu->addAction(tr("Bookmarks")); bookmarksAction->setParent(parent); - bookmarksAction->setShortcut(QKeySequence(browser->settings()->value("bookmarks.dialogShortcut").toString())); - connect(bookmarksAction, &QAction::triggered, this, [&]() { - m_parentWindow->addTabbedDock(Qt::RightDockWidgetArea, browser->bookmarks()); - }); + //bookmarksAction->setShortcut(QKeySequence(browser->settings()->value("bookmarks.dialogShortcut").toString())); + //connect(bookmarksAction, &QAction::triggered, this, [&]() { + // m_parentWindow->addTabbedDock(Qt::RightDockWidgetArea, browser->bookmarks()); + //}); toolsMenu->addSeparator(); - toolsMenu->addAction(tr("Filter"), browser->blocklists(), SLOT(show()), QKeySequence::fromString(browser->settings()->value("blocker.shortcut").toString())); + //toolsMenu->addAction(tr("Filter"), browser->blocklists(), SLOT(show()), QKeySequence::fromString(browser->settings()->value("blocker.shortcut").toString())); // Plugins // if(qApp->plugin("")) { @@ -78,7 +90,7 @@ MainWindowMenuBar::MainWindowMenuBar(MainWindow *parent) : // Profile menu QMenu *profileMenu = new QMenu(tr("Profile"), this); addMenu(profileMenu); - profileMenu->addAction(tr("Profiles"), this, SLOT(handleLoadProfile())); + //profileMenu->addAction(tr("Profiles"), this, SLOT(handleLoadProfile())); // Page menu QMenu *pageMenu = new QMenu(tr("Page"), this); @@ -93,9 +105,9 @@ QAction *MainWindowMenuBar::printAction() return m_printAction; } -void MainWindowMenuBar::handleLoadProfile() +void MainWindowMenuBar::handleLoadProfile(MainWindow *window) { - ProfilesDialog *dlg = new ProfilesDialog(m_parentWindow, this); + ProfilesDialog *dlg = new ProfilesDialog(window, this); dlg->exec(); // bool ok; -- cgit v1.2.1