diff options
Diffstat (limited to 'src/widgets/mainwindowmenubar.cpp')
-rw-r--r-- | src/widgets/mainwindowmenubar.cpp | 58 |
1 files changed, 35 insertions, 23 deletions
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 <QApplication> #include <QMenu> -#include "browser.h" #include <QInputDialog> #include "forms/profilesdialog.h" - -#include "interfaces.h" - #include "mainwindow.h" +#include <settings/configuration.h> -MainWindowMenuBar::MainWindowMenuBar(MainWindow *parent) : +MainWindowMenuBar::MainWindowMenuBar(std::shared_ptr<Configuration> 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<std::string>("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<std::string>("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<std::string>("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<std::string>("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; |