diff --git a/src/gui/formmain.cpp b/src/gui/formmain.cpp index 2e6b3c39e..a84bfdcc6 100755 --- a/src/gui/formmain.cpp +++ b/src/gui/formmain.cpp @@ -184,27 +184,31 @@ void FormMain::switchMainMenu() { } void FormMain::switchVisibility(bool force_hide) { - // TODO: Kdyz neni povolena tray ikona, tak je povolena satle polozka "switch window" v menu. - // v pripade ze tedy neni povolena tray ikona, tak polozku switch bud disabnout - // nebo upravit jeji chovani aby provedla minimalizaci a ne hide. - // aktualne nastaveno na tu minimalizaci if (force_hide || isVisible()) { if (SystemTrayIcon::isSystemTrayActivated()) { hide(); - - m_ui->m_actionSwitchMainWindow->blockSignals(true); - m_ui->m_actionSwitchMainWindow->setChecked(false); - m_ui->m_actionSwitchMainWindow->blockSignals(false); } else { + // Window gets minimized in single-window mode. showMinimized(); } } else { display(); - m_ui->m_actionSwitchMainWindow->blockSignals(true); - m_ui->m_actionSwitchMainWindow->setChecked(true); - m_ui->m_actionSwitchMainWindow->blockSignals(false); + } +} + +void FormMain::setApplicationMode(FormMain::ApplicationMode mode) { + switch (mode) { + case Tray: + + break; + + case SingleWindow: + break; + + default: + break; } } @@ -386,7 +390,7 @@ void FormMain::createConnections() { // Menu "View" connections. connect(m_ui->m_actionFullscreen, SIGNAL(toggled(bool)), this, SLOT(switchFullscreenMode())); connect(m_ui->m_actionSwitchMainMenu, SIGNAL(toggled(bool)), this, SLOT(switchMainMenu())); - connect(m_ui->m_actionSwitchMainWindow, SIGNAL(toggled(bool)), this, SLOT(switchVisibility())); + connect(m_ui->m_actionSwitchMainWindow, SIGNAL(triggered()), this, SLOT(switchVisibility())); // 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 e87696ff9..0e36e7407 100644 --- a/src/gui/formmain.h +++ b/src/gui/formmain.h @@ -35,6 +35,11 @@ class FormMain : public QMainWindow { friend class FeedsView; public: + enum ApplicationMode { + SingleWindow, + Tray + }; + // Constructors and destructors. explicit FormMain(QWidget *parent = 0); virtual ~FormMain(); @@ -92,6 +97,8 @@ class FormMain : public QMainWindow { // Switches visibility of main window. void switchVisibility(bool force_hide = false); + void setApplicationMode(ApplicationMode mode); + // Turns on/off fullscreen mode void switchFullscreenMode(); diff --git a/src/gui/formmain.ui b/src/gui/formmain.ui index 9bb3ffcce..e88a8b7ae 100644 --- a/src/gui/formmain.ui +++ b/src/gui/formmain.ui @@ -75,9 +75,9 @@ - + @@ -367,14 +367,11 @@ - - true - - true + false - Main &window + Switch visibility of main &window Hides main window if it is visible and shows it if it is hidden.