diff --git a/resources/graphics/icons/mini-kfaenza/view-switch.png b/resources/graphics/icons/mini-kfaenza/view-switch.png index 176596c31..041f57a0f 100644 Binary files a/resources/graphics/icons/mini-kfaenza/view-switch.png and b/resources/graphics/icons/mini-kfaenza/view-switch.png differ diff --git a/src/gui/formmain.cpp b/src/gui/formmain.cpp index 6562e4461..58abe5244 100755 --- a/src/gui/formmain.cpp +++ b/src/gui/formmain.cpp @@ -45,7 +45,7 @@ FormMain *FormMain::s_instance; FormMain::FormMain(QWidget *parent) - : QMainWindow(parent), m_ui(new Ui::FormMain) { + : QMainWindow(parent), m_ui(new Ui::FormMain), m_mainMenuActivated(false) { m_ui->setupUi(this); // Initialize singleton. @@ -89,7 +89,8 @@ QList FormMain::allActions() { // Add basic actions. actions << m_ui->m_actionSettings << m_ui->m_actionQuit << m_ui->m_actionFullscreen << m_ui->m_actionAboutGuard << - m_ui->m_actionSwitchFeedsListVisibility << m_ui->m_actionSwitchMainWindow; + m_ui->m_actionSwitchFeedsListVisibility << m_ui->m_actionSwitchMainWindow << + m_ui->m_actionSwitchMainMenu; // Add web browser actions actions << m_ui->m_actionAddBrowser << m_ui->m_actionCloseCurrentTab << @@ -177,6 +178,16 @@ void FormMain::switchFullscreenMode() { } } +void FormMain::switchMainMenu() { + // TODO: toto nefunguje protože při obnoveni menu + // neni okno ještě viditelné, tedy nějak vyřešit, + // stejny problem nastane u ukladani pokud je okno zrovna + // skryte, pak se uloze visible false ikdyz (protoze okno + // neni vide) ale menu je protimo povoleno + m_mainMenuActivated = !m_mainMenuActivated; + m_ui->m_menuBar->setVisible(m_mainMenuActivated); +} + void FormMain::switchVisibility() { if (isVisible()) { hide(); @@ -258,6 +269,7 @@ void FormMain::setupIcons() { m_ui->m_actionSwitchMainWindow->setIcon(icon_theme_factory->fromTheme("view-switch")); m_ui->m_actionFullscreen->setIcon(icon_theme_factory->fromTheme("view-fullscreen")); m_ui->m_actionSwitchFeedsListVisibility->setIcon(icon_theme_factory->fromTheme("view-switch")); + m_ui->m_actionSwitchMainMenu->setIcon(icon_theme_factory->fromTheme("view-switch")); // Web browser. m_ui->m_actionAddBrowser->setIcon(icon_theme_factory->fromTheme("list-add")); @@ -316,6 +328,11 @@ void FormMain::loadSize() { switchFullscreenMode(); } + // Hide the main menu if user wants it. + if (!settings->value(APP_CFG_GUI, "main_menu_visible", true).toBool()) { + m_ui->m_menuBar->setVisible(false); + } + // Adjust dimensions of "feeds & messages" widget. m_ui->m_tabWidget->feedMessageViewer()->loadSize(); } @@ -323,6 +340,7 @@ void FormMain::loadSize() { void FormMain::saveSize() { Settings *settings = Settings::instance(); + settings->setValue(APP_CFG_GUI, "main_menu_visible", m_mainMenuActivated); settings->setValue(APP_CFG_GUI, "window_position", pos()); settings->setValue(APP_CFG_GUI, "window_size", size()); settings->setValue(APP_CFG_GUI, "start_in_fullscreen", isFullScreen()); @@ -347,6 +365,7 @@ void FormMain::createConnections() { // Menu "View" connections. connect(m_ui->m_actionFullscreen, SIGNAL(triggered()), this, SLOT(switchFullscreenMode())); connect(m_ui->m_actionSwitchMainWindow, SIGNAL(triggered()), this, SLOT(switchVisibility())); + connect(m_ui->m_actionSwitchMainMenu, SIGNAL(triggered()), this, SLOT(switchMainMenu())); // Menu "Tools" connections. connect(m_ui->m_actionSettings, SIGNAL(triggered()), this, SLOT(showSettings())); diff --git a/src/gui/formmain.h b/src/gui/formmain.h index 50f3eed03..563f7c2ba 100644 --- a/src/gui/formmain.h +++ b/src/gui/formmain.h @@ -95,6 +95,9 @@ class FormMain : public QMainWindow { // Turns on/off fullscreen mode void switchFullscreenMode(); + // Switches visibility of main menu. + void switchMainMenu(); + protected slots: // Last-minute reactors. void onCommitData(QSessionManager &manager); @@ -115,6 +118,7 @@ class FormMain : public QMainWindow { Ui::FormMain *m_ui; QMenu *m_trayMenu; StatusBar *m_statusBar; + bool m_mainMenuActivated; static FormMain *s_instance; }; diff --git a/src/gui/formmain.ui b/src/gui/formmain.ui index 6c3be2505..56dd12054 100644 --- a/src/gui/formmain.ui +++ b/src/gui/formmain.ui @@ -71,6 +71,7 @@ + @@ -416,6 +417,14 @@ Check if new application updates are available. + + + Switch &main menu visibility + + + Hides or displays the main menu. + +