/******************************************************************************* ** ** smolbote: yet another qute browser ** Copyright (C) 2017 Xian Nox ** ** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program. If not, see . ** ******************************************************************************/ #include "mainwindowmenubar.h" #include #include "browser.h" #include #include "forms/profilesdialog.h" #include "interfaces.h" MainWindowMenuBar::MainWindowMenuBar(MainWindow *parent) : QMenuBar(parent) { m_parentWindow = parent; // Browser menu QMenu *browserMenu = new QMenu(qApp->applicationName(), this); addMenu(browserMenu); browserMenu->addAction(tr("New Window"), parent, SLOT(newWindow()), QKeySequence::fromString(sSettings->value("window.shortcuts.windowNew").toString())); browserMenu->addAction(tr("New Tab"), parent, SLOT(newTab()), QKeySequence::fromString(sSettings->value("window.shortcuts.tabNew").toString())); browserMenu->addSeparator(); browserMenu->addAction(tr("About"), parent, SLOT(about()), QKeySequence(tr("F1"))); browserMenu->addAction(tr("About Qt"), qApp, SLOT(aboutQt())); browserMenu->addSeparator(); browserMenu->addAction(tr("Quit"), qApp, SLOT(quit()), QKeySequence::fromString(sSettings->value("window.shortcuts.windowClose").toString())); // Tools menu QMenu *toolsMenu = new QMenu(tr("Tools"), this); addMenu(toolsMenu); QAction *downloadsAction = toolsMenu->addAction(tr("Downloads"), Browser::instance()->downloads(), SLOT(show())); downloadsAction->setParent(parent); downloadsAction->setShortcut(QKeySequence::fromString(sSettings->value("downloads.dialogShortcut").toString())); QAction *bookmarksAction = toolsMenu->addAction(tr("Bookmarks"), Browser::instance()->bookmarks(), SLOT(show())); bookmarksAction->setParent(parent); bookmarksAction->setShortcut(QKeySequence(sSettings->value("bookmarks.dialogShortcut").toString())); toolsMenu->addSeparator(); toolsMenu->addAction(tr("Filter"), qApp->blocklists(), SLOT(show()), QKeySequence::fromString(sSettings->value("blocker.shortcut").toString())); if(qApp->plugin("")) { GuiInterface *gui = qobject_cast(qApp->plugin("")); if(gui) { toolsMenu->addAction(gui->action()); } else { qDebug("Plugin doesn't gui"); } } else { qDebug("No plugin!"); } // Profile menu QMenu *profileMenu = new QMenu(tr("Profile"), this); addMenu(profileMenu); profileMenu->addAction(tr("Profiles"), this, SLOT(handleLoadProfile())); profileMenu->addSeparator(); profileMenu->addAction(tr("View profile"), parent, SLOT(profileAction())); profileMenu->addAction(tr("Cookies"), parent, SLOT(cookiesAction())); // Page menu QMenu *pageMenu = new QMenu(tr("Page"), this); addMenu(pageMenu); pageMenu->addAction(tr("Print")); pageMenu->addAction(tr("Print to PDF")); pageMenu->addAction(tr("Zoom")); } void MainWindowMenuBar::handleLoadProfile() { ProfilesDialog *dlg = new ProfilesDialog(m_parentWindow, this); dlg->exec(); // bool ok; // QString _name = QInputDialog::getText(this, tr("Load Profile"), tr("Enter Profile name"), QLineEdit::Normal, QString(""), &ok); // if(ok) { // m_parentWindow->setProfile(qApp->profile(_name)); // } }