X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fqtui.h;h=1eb038f2f85591ca123b1fbfca9068c73dac90c9;hb=826a68dd9b56492b00a4b64bc959acc3f8891ad0;hp=7ef22e0dc6fe36b1605796d6963003e043da6ecf;hpb=9ea27e456f4163c37118f6dc34188809fc37d6d9;p=quassel.git diff --git a/src/qtui/qtui.h b/src/qtui/qtui.h index 7ef22e0d..1eb038f2 100644 --- a/src/qtui/qtui.h +++ b/src/qtui/qtui.h @@ -25,11 +25,11 @@ #include "abstractnotificationbackend.h" #include "mainwin.h" +#include "qtuistyle.h" class MainWin; class MessageModel; class QtUiMessageProcessor; -class QtUiStyle; //! This class encapsulates Quassel's Qt-based GUI. /** This is basically a wrapper around MainWin, which is necessary because we cannot derive MainWin @@ -49,6 +49,8 @@ public: inline static QtUiStyle *style(); inline static MainWin *mainWindow(); + static bool haveSystemTray(); + /* Notifications */ static void registerNotificationBackend(AbstractNotificationBackend *); @@ -68,16 +70,24 @@ protected slots: void disconnectedFromCore(); void notificationActivated(uint notificationId); +protected: + virtual void minimizeRestore(bool show); + virtual bool isHidingMainWidgetAllowed() const; + +private slots: + void useSystemTrayChanged(const QVariant &); + private: static QPointer _instance; static QPointer _mainWin; - static QtUiStyle *_style; static QList _notificationBackends; static QList _notifications; + + bool _useSystemTray; }; QtUi *QtUi::instance() { return _instance ? _instance.data() : new QtUi(); } -QtUiStyle *QtUi::style() { return _style; } +QtUiStyle *QtUi::style() { return qobject_cast(uiStyle()); } MainWin *QtUi::mainWindow() { return _mainWin; } #endif