From 816f5437fc37715c0aa56adf3ca77105850da499 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Fri, 7 Mar 2014 21:19:27 +0100 Subject: [PATCH] Fixed main menu hiding feature. --- .../icons/mini-kfaenza/view-switch.png | Bin 2541 -> 6098 bytes src/gui/formmain.cpp | 23 ++++++++++++++++-- src/gui/formmain.h | 4 +++ src/gui/formmain.ui | 9 +++++++ 4 files changed, 34 insertions(+), 2 deletions(-) diff --git a/resources/graphics/icons/mini-kfaenza/view-switch.png b/resources/graphics/icons/mini-kfaenza/view-switch.png index 176596c31b2da33fda8590e6f5e3ca2d80949344..041f57a0f2cf94dab0450aea0f780c36bf145ea2 100644 GIT binary patch literal 6098 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 c_KffU2h)ZZt@~07*qoM6N<$f>IIeQ2+n{ 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. + +