|
|
|
|
@ -1,6 +1,6 @@ |
|
|
|
|
/* ============================================================
|
|
|
|
|
* Falkon - Qt web browser |
|
|
|
|
* Copyright (C) 2014-2017 David Rosca <nowrep@gmail.com> |
|
|
|
|
* Copyright (C) 2014-2018 David Rosca <nowrep@gmail.com> |
|
|
|
|
* |
|
|
|
|
* 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 |
|
|
|
|
@ -109,7 +109,6 @@ void MainMenu::initSuperMenu(QMenu* superMenu) const |
|
|
|
|
superMenu->addAction(m_actions[QSL("Standard/Quit")]); |
|
|
|
|
|
|
|
|
|
connect(superMenu, &QMenu::aboutToShow, this, &MainMenu::aboutToShowSuperMenu); |
|
|
|
|
connect(superMenu, &QMenu::aboutToHide, this, &MainMenu::aboutToHideSuperMenu); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
QAction* MainMenu::action(const QString &name) const |
|
|
|
|
@ -372,11 +371,6 @@ void MainMenu::aboutToShowFileMenu() |
|
|
|
|
#endif |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MainMenu::aboutToHideFileMenu() |
|
|
|
|
{ |
|
|
|
|
m_actions[QSL("File/CloseWindow")]->setEnabled(true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MainMenu::aboutToShowViewMenu() |
|
|
|
|
{ |
|
|
|
|
if (!m_window) { |
|
|
|
|
@ -385,12 +379,6 @@ void MainMenu::aboutToShowViewMenu() |
|
|
|
|
|
|
|
|
|
m_actions[QSL("View/ShowStatusBar")]->setChecked(m_window->statusBar()->isVisible()); |
|
|
|
|
m_actions[QSL("View/FullScreen")]->setChecked(m_window->isFullScreen()); |
|
|
|
|
m_actions[QSL("View/PageSource")]->setEnabled(true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MainMenu::aboutToHideViewMenu() |
|
|
|
|
{ |
|
|
|
|
m_actions[QSL("View/PageSource")]->setEnabled(false); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MainMenu::aboutToShowEditMenu() |
|
|
|
|
@ -407,18 +395,6 @@ void MainMenu::aboutToShowEditMenu() |
|
|
|
|
m_actions[QSL("Edit/Copy")]->setEnabled(view->pageAction(QWebEnginePage::Copy)->isEnabled()); |
|
|
|
|
m_actions[QSL("Edit/Paste")]->setEnabled(view->pageAction(QWebEnginePage::Paste)->isEnabled()); |
|
|
|
|
m_actions[QSL("Edit/SelectAll")]->setEnabled(view->pageAction(QWebEnginePage::SelectAll)->isEnabled()); |
|
|
|
|
m_actions[QSL("Edit/Find")]->setEnabled(true); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MainMenu::aboutToHideEditMenu() |
|
|
|
|
{ |
|
|
|
|
m_actions[QSL("Edit/Undo")]->setEnabled(false); |
|
|
|
|
m_actions[QSL("Edit/Redo")]->setEnabled(false); |
|
|
|
|
m_actions[QSL("Edit/Cut")]->setEnabled(false); |
|
|
|
|
m_actions[QSL("Edit/Copy")]->setEnabled(false); |
|
|
|
|
m_actions[QSL("Edit/Paste")]->setEnabled(false); |
|
|
|
|
m_actions[QSL("Edit/SelectAll")]->setEnabled(false); |
|
|
|
|
m_actions[QSL("Edit/Find")]->setEnabled(false); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MainMenu::aboutToShowToolsMenu() |
|
|
|
|
@ -434,11 +410,6 @@ void MainMenu::aboutToShowToolsMenu() |
|
|
|
|
m_submenuExtensions->menuAction()->setVisible(!m_submenuExtensions->actions().isEmpty()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MainMenu::aboutToHideToolsMenu() |
|
|
|
|
{ |
|
|
|
|
m_actions[QSL("Tools/SiteInfo")]->setEnabled(false); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MainMenu::aboutToShowSuperMenu() |
|
|
|
|
{ |
|
|
|
|
if (!m_window) { |
|
|
|
|
@ -451,12 +422,6 @@ void MainMenu::aboutToShowSuperMenu() |
|
|
|
|
m_actions[QSL("Edit/SelectAll")]->setEnabled(view->pageAction(QWebEnginePage::SelectAll)->isEnabled()); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MainMenu::aboutToHideSuperMenu() |
|
|
|
|
{ |
|
|
|
|
m_actions[QSL("Edit/Find")]->setEnabled(true); |
|
|
|
|
m_actions[QSL("Edit/SelectAll")]->setEnabled(false); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void MainMenu::aboutToShowToolbarsMenu() |
|
|
|
|
{ |
|
|
|
|
QMenu* menu = qobject_cast<QMenu*>(sender()); |
|
|
|
|
@ -525,7 +490,6 @@ void MainMenu::init() |
|
|
|
|
// File menu
|
|
|
|
|
m_menuFile = new QMenu(tr("&File")); |
|
|
|
|
connect(m_menuFile, SIGNAL(aboutToShow()), this, SLOT(aboutToShowFileMenu())); |
|
|
|
|
connect(m_menuFile, SIGNAL(aboutToHide()), this, SLOT(aboutToHideFileMenu())); |
|
|
|
|
|
|
|
|
|
ADD_ACTION("File/NewTab", m_menuFile, IconProvider::newTabIcon(), tr("New Tab"), SLOT(newTab()), "Ctrl+T"); |
|
|
|
|
ADD_ACTION("File/NewWindow", m_menuFile, IconProvider::newWindowIcon(), tr("&New Window"), SLOT(newWindow()), "Ctrl+N"); |
|
|
|
|
@ -555,23 +519,28 @@ void MainMenu::init() |
|
|
|
|
// Edit menu
|
|
|
|
|
m_menuEdit = new QMenu(tr("&Edit")); |
|
|
|
|
connect(m_menuEdit, SIGNAL(aboutToShow()), this, SLOT(aboutToShowEditMenu())); |
|
|
|
|
connect(m_menuEdit, SIGNAL(aboutToHide()), this, SLOT(aboutToHideEditMenu())); |
|
|
|
|
|
|
|
|
|
ADD_ACTION("Edit/Undo", m_menuEdit, QIcon::fromTheme(QSL("edit-undo")), tr("&Undo"), SLOT(editUndo()), "Ctrl+Z"); |
|
|
|
|
action->setShortcutContext(Qt::WidgetShortcut); |
|
|
|
|
ADD_ACTION("Edit/Redo", m_menuEdit, QIcon::fromTheme(QSL("edit-redo")), tr("&Redo"), SLOT(editRedo()), "Ctrl+Shift+Z"); |
|
|
|
|
action->setShortcutContext(Qt::WidgetShortcut); |
|
|
|
|
m_menuEdit->addSeparator(); |
|
|
|
|
ADD_ACTION("Edit/Cut", m_menuEdit, QIcon::fromTheme(QSL("edit-cut")), tr("&Cut"), SLOT(editCut()), "Ctrl+X"); |
|
|
|
|
action->setShortcutContext(Qt::WidgetShortcut); |
|
|
|
|
ADD_ACTION("Edit/Copy", m_menuEdit, QIcon::fromTheme(QSL("edit-copy")), tr("C&opy"), SLOT(editCopy()), "Ctrl+C"); |
|
|
|
|
action->setShortcutContext(Qt::WidgetShortcut); |
|
|
|
|
ADD_ACTION("Edit/Paste", m_menuEdit, QIcon::fromTheme(QSL("edit-paste")), tr("&Paste"), SLOT(editPaste()), "Ctrl+V"); |
|
|
|
|
action->setShortcutContext(Qt::WidgetShortcut); |
|
|
|
|
m_menuEdit->addSeparator(); |
|
|
|
|
ADD_ACTION("Edit/SelectAll", m_menuEdit, QIcon::fromTheme(QSL("edit-select-all")), tr("Select &All"), SLOT(editSelectAll()), "Ctrl+A"); |
|
|
|
|
action->setShortcutContext(Qt::WidgetShortcut); |
|
|
|
|
ADD_ACTION("Edit/Find", m_menuEdit, QIcon::fromTheme(QSL("edit-find")), tr("&Find"), SLOT(editFind()), "Ctrl+F"); |
|
|
|
|
action->setShortcutContext(Qt::WidgetShortcut); |
|
|
|
|
m_menuEdit->addSeparator(); |
|
|
|
|
|
|
|
|
|
// View menu
|
|
|
|
|
m_menuView = new QMenu(tr("&View")); |
|
|
|
|
connect(m_menuView, SIGNAL(aboutToShow()), this, SLOT(aboutToShowViewMenu())); |
|
|
|
|
connect(m_menuView, SIGNAL(aboutToHide()), this, SLOT(aboutToHideViewMenu())); |
|
|
|
|
|
|
|
|
|
QMenu* toolbarsMenu = new QMenu(tr("Toolbars")); |
|
|
|
|
connect(toolbarsMenu, SIGNAL(aboutToShow()), this, SLOT(aboutToShowToolbarsMenu())); |
|
|
|
|
@ -598,15 +567,16 @@ void MainMenu::init() |
|
|
|
|
m_menuView->addMenu(encodingMenu); |
|
|
|
|
m_menuView->addSeparator(); |
|
|
|
|
ADD_ACTION("View/PageSource", m_menuView, QIcon::fromTheme(QSL("text-html")), tr("&Page Source"), SLOT(showPageSource()), "Ctrl+U"); |
|
|
|
|
action->setShortcutContext(Qt::WidgetShortcut); |
|
|
|
|
ADD_CHECKABLE_ACTION("View/FullScreen", m_menuView, QIcon(), tr("&FullScreen"), SLOT(showFullScreen()), "F11"); |
|
|
|
|
|
|
|
|
|
// Tools menu
|
|
|
|
|
m_menuTools = new QMenu(tr("&Tools")); |
|
|
|
|
connect(m_menuTools, SIGNAL(aboutToShow()), this, SLOT(aboutToShowToolsMenu())); |
|
|
|
|
connect(m_menuTools, SIGNAL(aboutToHide()), this, SLOT(aboutToHideToolsMenu())); |
|
|
|
|
|
|
|
|
|
ADD_ACTION("Tools/WebSearch", m_menuTools, QIcon(), tr("&Web Search"), SLOT(webSearch()), "Ctrl+K"); |
|
|
|
|
ADD_ACTION("Tools/SiteInfo", m_menuTools, QIcon::fromTheme(QSL("dialog-information")), tr("Site &Info"), SLOT(showSiteInfo()), "Ctrl+I"); |
|
|
|
|
action->setShortcutContext(Qt::WidgetShortcut); |
|
|
|
|
m_menuTools->addSeparator(); |
|
|
|
|
ADD_ACTION("Tools/DownloadManager", m_menuTools, QIcon(), tr("&Download Manager"), SLOT(showDownloadManager()), "Ctrl+Y"); |
|
|
|
|
ADD_ACTION("Tools/CookiesManager", m_menuTools, QIcon(), tr("&Cookies Manager"), SLOT(showCookieManager()), ""); |
|
|
|
|
@ -675,12 +645,6 @@ void MainMenu::init() |
|
|
|
|
m_menuTools->addAction(m_actions[QSL("Standard/Preferences")]); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
// Menus are hidden by default
|
|
|
|
|
aboutToHideFileMenu(); |
|
|
|
|
aboutToHideViewMenu(); |
|
|
|
|
aboutToHideEditMenu(); |
|
|
|
|
aboutToHideToolsMenu(); |
|
|
|
|
|
|
|
|
|
addActionsToWindow(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|