From 92e974929c8bd2c73e7ef70930e26a56b8b15970 Mon Sep 17 00:00:00 2001
From: Atlante45 <clement.brisset@gmail.com>
Date: Thu, 24 Sep 2015 17:26:55 +0200
Subject: [PATCH] Move tray icon to MainWindow

---
 interface/src/Application.cpp | 4 ----
 interface/src/Application.h   | 4 ----
 interface/src/MainWindow.cpp  | 1 +
 interface/src/MainWindow.h    | 2 ++
 4 files changed, 3 insertions(+), 8 deletions(-)

diff --git a/interface/src/Application.cpp b/interface/src/Application.cpp
index 88dae16ee2..40104f8fbf 100644
--- a/interface/src/Application.cpp
+++ b/interface/src/Application.cpp
@@ -36,7 +36,6 @@
 #include <QWheelEvent>
 #include <QScreen>
 #include <QShortcut>
-#include <QSystemTrayIcon>
 #include <QTimer>
 #include <QUrl>
 #include <QWindow>
@@ -357,7 +356,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) :
         _octreeProcessor(),
         _runningScriptsWidget(NULL),
         _runningScriptsWidgetWasVisible(false),
-        _trayIcon(new QSystemTrayIcon(_window)),
         _lastNackTime(usecTimestampNow()),
         _lastSendDownstreamAudioStats(usecTimestampNow()),
         _isThrottleFPSEnabled(true),
@@ -664,8 +662,6 @@ Application::Application(int& argc, char** argv, QElapsedTimer &startup_time) :
         cameraMenuChanged();
     }
 
-    _trayIcon->show();
-
     // set the local loopback interface for local sounds from audio scripts
     AudioScriptingInterface::getInstance().setLocalAudioInterface(audioIO.data());
 
diff --git a/interface/src/Application.h b/interface/src/Application.h
index 799ec30471..a3a34f3cea 100644
--- a/interface/src/Application.h
+++ b/interface/src/Application.h
@@ -77,7 +77,6 @@
 class QGLWidget;
 class QKeyEvent;
 class QMouseEvent;
-class QSystemTrayIcon;
 class QTouchEvent;
 class QWheelEvent;
 class OffscreenGlCanvas;
@@ -233,7 +232,6 @@ public:
     FaceTracker* getActiveFaceTracker();
     FaceTracker* getSelectedFaceTracker();
 
-    QSystemTrayIcon* getTrayIcon() { return _trayIcon; }
     ApplicationOverlay& getApplicationOverlay() { return _applicationOverlay; }
     const ApplicationOverlay& getApplicationOverlay() const { return _applicationOverlay; }
     ApplicationCompositor& getApplicationCompositor() { return _compositor; }
@@ -621,8 +619,6 @@ private:
     bool _runningScriptsWidgetWasVisible;
     QString _scriptsLocation;
 
-    QSystemTrayIcon* _trayIcon;
-
     quint64 _lastNackTime;
     quint64 _lastSendDownstreamAudioStats;
 
diff --git a/interface/src/MainWindow.cpp b/interface/src/MainWindow.cpp
index 16aedc4bb7..34e1638e94 100644
--- a/interface/src/MainWindow.cpp
+++ b/interface/src/MainWindow.cpp
@@ -31,6 +31,7 @@ MainWindow::MainWindow(QWidget* parent) :
     _windowState("WindowState", 0)
 {
     setAcceptDrops(true);
+    _trayIcon.show();
 }
 
 void MainWindow::restoreGeometry() {
diff --git a/interface/src/MainWindow.h b/interface/src/MainWindow.h
index eb262e0f97..6a401cf2b7 100644
--- a/interface/src/MainWindow.h
+++ b/interface/src/MainWindow.h
@@ -13,6 +13,7 @@
 #define __hifi__MainWindow__
 
 #include <QMainWindow>
+#include <QSystemTrayIcon>
 
 #include <SettingHandle.h>
 
@@ -42,6 +43,7 @@ protected:
 private:
     Setting::Handle<QRect> _windowGeometry;
     Setting::Handle<int> _windowState;
+    QSystemTrayIcon _trayIcon;
 };
 
 #endif /* defined(__hifi__MainWindow__) */