-void MainWin::restoreFromTray() {
- setWindowState(windowState() & ~Qt::WindowMinimized | Qt::WindowActive);
- show();
- raise();
+void MainWin::toggleMinimizedToTray() {
+ if(windowState() & Qt::WindowMinimized) {
+ // restore
+ setWindowState((windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
+ show();
+ raise();
+ } else {
+ setWindowState((windowState() & ~Qt::WindowActive) | Qt::WindowMinimized);
+ hideToTray();
+ }