fixes #542 - show identities and network settings on first start
[quassel.git] / src / qtui / mainwin.cpp
index 5a7b77f..655cdcd 100644 (file)
@@ -55,6 +55,7 @@
 #include "inputwidget.h"
 #include "inputline.h"
 #include "irclistmodel.h"
+#include "ircconnectionwizard.h"
 #include "jumpkeyhandler.h"
 #include "msgprocessorstatuswidget.h"
 #include "nicklistwidget.h"
@@ -199,13 +200,18 @@ MainWin::~MainWin() {
   s.setValue("MainWinState", saveState());
 }
 
-// FIXME
 void MainWin::updateIcon() {
+#ifdef Q_WS_MAC
+  const int size = 128;
+#else
+  const int size = 48;
+#endif
+
   QPixmap icon;
   if(Client::isConnected())
-    icon = DesktopIcon("quassel", IconLoader::SizeEnormous);
+    icon = DesktopIcon("quassel", size);
   else
-    icon = DesktopIcon("quassel_disconnected", IconLoader::SizeEnormous);
+    icon = DesktopIcon("quassel_inactive", size);
   setWindowIcon(icon);
   qApp->setWindowIcon(icon);
 }
@@ -601,6 +607,11 @@ void MainWin::setConnectedState() {
   coreLagLabel->setVisible(!Client::internalCore());
   updateIcon();
   systemTray()->setState(SystemTray::Active);
+
+  if(Client::networkIds().isEmpty()) {
+    IrcConnectionWizard *wizard = new IrcConnectionWizard(this, Qt::Sheet);
+    wizard->show();
+  }
 }
 
 void MainWin::loadLayout() {
@@ -773,8 +784,8 @@ void MainWin::toggleMinimizedToTray() {
     // restore
     setWindowState((windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
     show();
+    activateWindow();
     raise();
-    
   } else {
     setWindowState((windowState() & ~Qt::WindowActive) | Qt::WindowMinimized);
     hideToTray();