00001 00034 #ifndef DESKTOPALARMWIDGETKDE4_H 00035 #define DESKTOPALARMWIDGETKDE4_H 00036 00037 #include "oldgcccompat.h" // Compatibilty macros for GCC < 4.7 00038 00039 #include <QAction> 00040 #include <KDE/KMenu> 00041 #include <KDE/KStatusNotifierItem> 00042 00043 #include "desktopalarmwidget.h" 00044 00045 namespace AlarmNotifications 00046 { 00047 00057 class DesktopAlarmWidgetKde4 : public DesktopAlarmWidget 00058 { 00059 Q_OBJECT 00060 private: 00066 KStatusNotifierItem _trayicon; 00072 KMenu* _contextmenu; 00078 QAction* _toggleAction; 00084 QAction* _configureAction; 00090 QAction* _exitAction; 00091 00098 virtual void createContextMenu(); 00106 void setStatusIconAndTooltip ( DesktopAlarmWidgetStatus status ); 00115 static bool getBeedoActivated() noexcept; 00116 private slots: 00124 void notificationSwitchChange ( bool enabled ); 00131 void changeTrayIcon(); 00140 void activated ( bool active, const QPoint& pos ); 00141 public: 00148 DesktopAlarmWidgetKde4(); 00154 ~DesktopAlarmWidgetKde4(); 00161 DesktopAlarmWidgetKde4 ( const DesktopAlarmWidgetKde4& other ) = delete; 00168 DesktopAlarmWidgetKde4 ( DesktopAlarmWidgetKde4&& other ) = delete; 00176 DesktopAlarmWidgetKde4& operator= ( const DesktopAlarmWidgetKde4& other ) = delete; 00184 DesktopAlarmWidgetKde4& operator= ( DesktopAlarmWidgetKde4&& other ) = delete; 00185 }; 00186 } 00187 00188 #endif // DESKTOPALARMWIDGETKDE4_H