From e87693c54ca97ed3a6ed25f9eaae8ab223fc18b1 Mon Sep 17 00:00:00 2001 From: Aqua-sama Date: Wed, 29 Apr 2020 18:49:07 +0300 Subject: libwebengine Make src/webengine into a static library - Add some tests - Updated manpage - Remove WebProfileManager::id and WebProfileManager::instance - Add consumable semantics checks to WebProfileManager - Add WebProfileManager::walk Add ApplicationMenu class --- src/mainwindow/menubar.cpp | 102 ++++++--------------------------------------- 1 file changed, 13 insertions(+), 89 deletions(-) (limited to 'src/mainwindow/menubar.cpp') diff --git a/src/mainwindow/menubar.cpp b/src/mainwindow/menubar.cpp index 83cafee..f8979de 100644 --- a/src/mainwindow/menubar.cpp +++ b/src/mainwindow/menubar.cpp @@ -12,23 +12,17 @@ #include "configuration.h" #include "downloadswidget.h" #include "mainwindow.h" -#include "session/savesessiondialog.h" -#include "session/sessiondialog.h" #include "subwindow/subwindow.h" #include "webengine/webprofilemanager.h" #include "webengine/webview.h" #include "widgets/menusearch.h" -#include #include #include -#include -#include #include #include #include #include #include -#include #include inline void run_if(SubWindow *_subwindow, const std::function &f) @@ -70,7 +64,7 @@ inline QDialog *createDevToolsDialog(QWebEnginePage *page) return popup; } -MenuBar::MenuBar(MainWindow *parent) +MenuBar::MenuBar(QMenu *appMenu, MainWindow *parent) : QMenuBar(parent) { m_parent = parent; @@ -78,86 +72,21 @@ MenuBar::MenuBar(MainWindow *parent) Q_CHECK_PTR(browser); Configuration conf; - smolbote = this->addMenu(qApp->applicationName()); - { - auto *findMenu = smolbote->addMenu(tr("Find in menus")); - - auto *findWidget = new QWidgetAction(this); - auto *find_lineEdit = new MenuSearch(this); - findWidget->setDefaultWidget(find_lineEdit); - findMenu->addAction(findWidget); - - connect(findMenu, &QMenu::aboutToShow, [findMenu, find_lineEdit]() { - find_lineEdit->clear(); - const auto actions = findMenu->actions(); - for(int i = 1; i < actions.length(); i++) { - findMenu->removeAction(actions.at(i)); - } - find_lineEdit->setFocus(); - }); - - connect(find_lineEdit, &QLineEdit::textEdited, [this, findMenu](const QString &text) { - // clear menu - const auto actions = findMenu->actions(); - for(int i = 1; i < actions.length(); i++) - findMenu->removeAction(actions.at(i)); - - if(text.isEmpty()) - return; - - // findChildren - for(QAction *a : findChildren()) { - if(a->text().contains(text)) - findMenu->addAction(a); - } - }); - - smolbote->addSeparator(); - - const QString sessionPath = conf.value("session.path").value(); - auto *actionSaveSession = smolbote->addAction(tr("Save Session"), parent, [sessionPath]() { - auto *sessionDialog = new SaveSessionDialog(nullptr); - if(sessionDialog->exec() == QDialog::Accepted) - sessionDialog->save(sessionPath); - }); - conf.shortcut(*actionSaveSession, "shortcuts.session.save"); - - auto *actionOpenSession = smolbote->addAction(tr("Open Session"), parent, [parent]() { - auto *sessionDialog = new SessionDialog(parent); - sessionDialog->exec(); - }); - conf.shortcut(*actionOpenSession, "shortcuts.session.open"); - - smolbote->addSeparator(); - auto *actionBookmarks = smolbote->addAction(tr("Bookmarks"), browser, [browser, parent]() { - browser->showWidget(browser->bookmarks(), parent); - }); - conf.shortcut(*actionBookmarks, "shortcuts.window.bookmarks.show"); - - auto *actionDownloads = smolbote->addAction(tr("Downloads"), browser, [browser, parent]() { - browser->showWidget(browser->downloads(), parent); - }); - conf.shortcut(*actionDownloads, "shortcuts.window.downloads.show"); - - smolbote->addSeparator(); - smolbote->addAction(tr("Load Plugin"), browser, [browser]() { - const QString path = QFileDialog::getOpenFileName(nullptr, tr("Select Plugin"), QDir::homePath(), tr("Plugins (*.so)")); - browser->loadPlugins(QStringList(path)); - }); - - pluginInsertLocation = smolbote->addSeparator(); - - auto *actionAbout = smolbote->addAction(tr("About"), browser, &Browser::about); - conf.shortcut(*actionAbout, "shortcuts.window.about"); - - smolbote->addSeparator(); - - auto *actionQuit = smolbote->addAction(tr("Quit"), qApp, &QApplication::quit); - conf.shortcut(*actionQuit, "shortcuts.window.quit"); - } + addMenu(appMenu); window = this->addMenu(tr("&Window")); { + auto *actionBookmarks = window->addAction(tr("Bookmarks"), browser, [browser, parent]() { + browser->showWidget(browser->bookmarks(), parent); + }); + conf.shortcut(*actionBookmarks, "shortcuts.window.bookmarks.show"); + + auto *actionDownloads = window->addAction(tr("Downloads"), browser, [browser, parent]() { + browser->showWidget(browser->downloads(), parent); + }); + conf.shortcut(*actionDownloads, "shortcuts.window.downloads.show"); + window->addSeparator(); + auto *actionNewWindow = window->addAction(tr("New Window"), browser, [browser]() { const Session::MainWindow window; browser->open({ window }, false); @@ -532,11 +461,6 @@ MenuBar::MenuBar(MainWindow *parent) } } -QAction *MenuBar::insertPlugin(QMenu *menu) -{ - return smolbote->insertMenu(pluginInsertLocation, menu); -} - void MenuBar::insertSubWindow(SubWindow *subwindow) { auto *action = window->addAction(subwindow->windowTitle()); -- cgit v1.2.1