- _trayMenu->addSeparator();
- _trayMenu->addAction(coll->action("Quit"));
-#endif /* HAVE_KDE */
-}
-
-void SystemTray::setMode(Mode mode_) {
- if(mode_ != _mode) {
- _mode = mode_;
- if(_mode == Legacy) {
- _trayMenu->setWindowFlags(Qt::Popup);
- } else {
- _trayMenu->setWindowFlags(Qt::Window);
+ _trayMenu->setAttribute(Qt::WA_Hover);
+#endif
+
+ _trayMenu->addAction(coll->action("ConnectCore"));
+ _trayMenu->addAction(coll->action("DisconnectCore"));
+ _trayMenu->addAction(coll->action("CoreInfo"));
+ _trayMenu->addSeparator();
+ _trayMenu->addAction(_minimizeRestoreAction);
+ _trayMenu->addAction(coll->action("Quit"));
+
+ connect(_trayMenu, SIGNAL(aboutToShow()), SLOT(trayMenuAboutToShow()));
+
+ NotificationSettings notificationSettings;
+ notificationSettings.initAndNotify("Systray/Animate", this, SLOT(enableAnimationChanged(QVariant)), true);
+}
+
+
+void SystemTray::trayMenuAboutToShow()
+{
+ if (GraphicalUi::isMainWidgetVisible())
+ _minimizeRestoreAction->setText(tr("&Minimize"));
+ else
+ _minimizeRestoreAction->setText(tr("&Restore"));
+}
+
+
+void SystemTray::setMode(Mode mode_)
+{
+ if (mode_ != _mode) {
+ _mode = mode_;
+#ifdef HAVE_KDE
+ if (_trayMenu) {
+ if (_mode == Legacy) {
+ _trayMenu->setWindowFlags(Qt::Popup);
+ }
+ else {
+ _trayMenu->setWindowFlags(Qt::Window);
+ }
+ }
+#endif