From 5ae3415ad41d120e1d755a5c59a509a52c6c67a4 Mon Sep 17 00:00:00 2001
From: Martin Rotter <rotter.martinos@gmail.com>
Date: Thu, 20 Jun 2013 18:16:23 +0200
Subject: [PATCH] Fixed FormMain::display() method + some testing of
 lastWindowClosed behavior.

---
 src/gui/formmain.cpp       | 6 +++---
 src/gui/formsettings.cpp   | 2 ++
 src/gui/systemtrayicon.cpp | 1 +
 src/main.cpp               | 1 +
 4 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/gui/formmain.cpp b/src/gui/formmain.cpp
index c2713285e..abbf662f0 100644
--- a/src/gui/formmain.cpp
+++ b/src/gui/formmain.cpp
@@ -45,8 +45,9 @@ void FormMain::quit() {
 
 void FormMain::display() {
   setWindowState(windowState() & ~Qt::WindowMinimized);
-  raise();
+  show();
   activateWindow();
+  raise();
   QtSingleApplication::alert(this);
 }
 
@@ -100,6 +101,5 @@ void FormMain::closeEvent(QCloseEvent *event) {
 }
 
 void FormMain::showSettings() {
-  FormSettings form_settings(this);
-  form_settings.exec();
+  FormSettings(this).exec();
 }
diff --git a/src/gui/formsettings.cpp b/src/gui/formsettings.cpp
index 724bb3a89..7646416ca 100644
--- a/src/gui/formsettings.cpp
+++ b/src/gui/formsettings.cpp
@@ -1,6 +1,7 @@
 #include "gui/formsettings.h"
 #include "gui/themefactory.h"
 #include "gui/systemtrayicon.h"
+#include "gui/formmain.h"
 #include "core/settings.h"
 #include "core/defs.h"
 
@@ -96,6 +97,7 @@ void FormSettings::saveInterface() {
       SystemTrayIcon::getInstance()->show();
     }
     else {
+      FormMain::getInstance()->display();
       SystemTrayIcon::deleteInstance();
     }
   }
diff --git a/src/gui/systemtrayicon.cpp b/src/gui/systemtrayicon.cpp
index 9c23d89d8..478d114a8 100644
--- a/src/gui/systemtrayicon.cpp
+++ b/src/gui/systemtrayicon.cpp
@@ -3,6 +3,7 @@
 
 #include "gui/systemtrayicon.h"
 #include "gui/formmain.h"
+#include "gui/formsettings.h"
 #include "core/settings.h"
 #include "core/defs.h"
 
diff --git a/src/main.cpp b/src/main.cpp
index 5021dae12..0b71b83a4 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -77,6 +77,7 @@ int main(int argc, char *argv[]) {
   }
 
   // Display main window.
+  // TODO: Switchable "start minimized" function.
   window.show();
 
   // Display tray icon if it is enabled and available.