00001 00034 #ifndef DESKTOPALARMWIDGETQT_H 00035 #define DESKTOPALARMWIDGETQT_H 00036 00037 #include "oldgcccompat.h" // Compatibilty macros for GCC < 4.7 00038 00039 #include <QSystemTrayIcon> 00040 00041 #include "desktopalarmwidget.h" 00042 00043 namespace AlarmNotifications 00044 { 00045 00053 class DesktopAlarmWidgetQt : public DesktopAlarmWidget 00054 { 00055 Q_OBJECT 00056 private: 00062 QSystemTrayIcon _trayicon; 00068 QMenu* _contextmenu; 00074 QAction* _toggleAction; 00080 QAction* _configureAction; 00086 QAction* _exitAction; 00087 00094 virtual void createContextMenu(); 00102 void setStatusIcon ( DesktopAlarmWidgetStatus status ); 00111 static bool getBeedoActivated() noexcept; 00112 private slots: 00120 void activated ( const QSystemTrayIcon::ActivationReason reason ); 00128 virtual void notificationSwitchChange ( bool enabled ); 00135 virtual void changeTrayIcon(); 00136 public: 00143 DesktopAlarmWidgetQt(); 00149 ~DesktopAlarmWidgetQt(); 00156 DesktopAlarmWidgetQt ( const DesktopAlarmWidgetQt& other ) = delete; 00163 DesktopAlarmWidgetQt ( DesktopAlarmWidgetQt&& other ) = delete; 00171 DesktopAlarmWidgetQt& operator= ( const DesktopAlarmWidgetQt& other ) = delete; 00179 DesktopAlarmWidgetQt& operator= ( DesktopAlarmWidgetQt&& other ) = delete; 00180 }; 00181 00182 } 00183 00184 #endif // DESKTOPALARMWIDGETQT_H