gcc 4.4 build fix
[qbat.git] / batteryicon.h
blobcaac1879d1a69f6d32c839b7beddfafc385a56af
1 //
2 // C++ Interface: batteryicon
3 //
4 // Author: Oliver Groß <z.o.gross@gmx.de>, (C) 2008
5 //
6 // Copyright: See COPYING file that comes with this distribution
7 //
8 #ifndef QBAT_BATTERYICON_H
9 #define QBAT_BATTERYICON_H
11 #include <QSystemTrayIcon>
12 #include <QDir>
14 namespace qbat {
15 struct Settings;
17 struct BatteryData {
18 QString name;
19 int fullCapacity;
20 int designCapacity;
21 int currentCapacity;
22 int rate;
23 int voltage;
24 int status;
25 bool energyUnits;
26 qint8 relativeCharge;
28 BatteryData() :
29 fullCapacity(0),
30 designCapacity(0),
31 currentCapacity(0),
32 rate(0),
33 voltage(0),
34 status(0),
35 energyUnits(false),
36 relativeCharge(-1)
40 class CBatteryIcon : public QSystemTrayIcon {
41 Q_OBJECT
42 public:
43 static QDir sysfsDir;
45 CBatteryIcon(Settings * settings, QString batteryName = QString(), QObject * parent = 0);
46 ~CBatteryIcon();
49 BatteryData data() const { return m_Data; }
51 void updateData(int currentCapacity, int fullCapacity, int designCapacity, int rate, int voltage, int status, bool energyUnits);
52 void updateData();
54 void updateToolTip();
55 void updateIcon();
57 QString message() const { return m_Message; }
58 void setMessage(QString value);
59 private:
60 QString m_BatteryName;
61 QPixmap m_Icon;
62 Settings * m_Settings;
64 QString m_Message;
66 BatteryData m_Data;
67 private slots:
68 void handleClicks(QSystemTrayIcon::ActivationReason reason);
72 #endif