author | brad <brad> | 2004-06-24 09:13:31 (UTC) |
---|---|---|
committer | brad <brad> | 2004-06-24 09:13:31 (UTC) |
commit | bc5c0b3549d43f7e04a06049578c5413dbf0c00b (patch) (unidiff) | |
tree | ddc7318c4c40812ac562e0691dc99253e0fb9669 | |
parent | 9c471976e750812f0af3b443964954d4b5a5ed20 (diff) | |
download | opie-bc5c0b3549d43f7e04a06049578c5413dbf0c00b.zip opie-bc5c0b3549d43f7e04a06049578c5413dbf0c00b.tar.gz opie-bc5c0b3549d43f7e04a06049578c5413dbf0c00b.tar.bz2 |
Battery status panel was only updating once when it was created, after this
it was being hidden and re-shown without updating the data. Now it is updated
every time it is shown.
-rw-r--r-- | core/applets/batteryapplet/battery.cpp | 1 | ||||
-rw-r--r-- | core/applets/batteryapplet/batterystatus.cpp | 17 | ||||
-rw-r--r-- | core/applets/batteryapplet/batterystatus.h | 2 |
3 files changed, 13 insertions, 7 deletions
diff --git a/core/applets/batteryapplet/battery.cpp b/core/applets/batteryapplet/battery.cpp index 0d3d190..e85a9da 100644 --- a/core/applets/batteryapplet/battery.cpp +++ b/core/applets/batteryapplet/battery.cpp | |||
@@ -74,16 +74,17 @@ void BatteryMeter::mouseReleaseEvent( QMouseEvent* /*e*/ ) { | |||
74 | if ( batteryView && batteryView->isVisible() ) { | 74 | if ( batteryView && batteryView->isVisible() ) { |
75 | batteryView->hide(); | 75 | batteryView->hide(); |
76 | } else { | 76 | } else { |
77 | if ( !batteryView ) { | 77 | if ( !batteryView ) { |
78 | batteryView = new BatteryStatus( ps, 0, WStyle_StaysOnTop | WType_Popup ); | 78 | batteryView = new BatteryStatus( ps, 0, WStyle_StaysOnTop | WType_Popup ); |
79 | batteryView->setFrameStyle( QFrame::PopupPanel | QFrame::Raised ); | 79 | batteryView->setFrameStyle( QFrame::PopupPanel | QFrame::Raised ); |
80 | } | 80 | } |
81 | 81 | ||
82 | batteryView->UpdateBatteryStatus(); | ||
82 | QRect r(batteryView->pos(),batteryView->sizeHint()); | 83 | QRect r(batteryView->pos(),batteryView->sizeHint()); |
83 | QPoint curPos = this->mapToGlobal ( rect().topLeft() ); | 84 | QPoint curPos = this->mapToGlobal ( rect().topLeft() ); |
84 | 85 | ||
85 | int lp = qApp->desktop()->width() - batteryView->sizeHint().width(); | 86 | int lp = qApp->desktop()->width() - batteryView->sizeHint().width(); |
86 | r.moveTopLeft( QPoint(lp, curPos.y()-batteryView->sizeHint().height()-1) ); | 87 | r.moveTopLeft( QPoint(lp, curPos.y()-batteryView->sizeHint().height()-1) ); |
87 | batteryView->setGeometry(r); | 88 | batteryView->setGeometry(r); |
88 | 89 | ||
89 | batteryView->raise(); | 90 | batteryView->raise(); |
diff --git a/core/applets/batteryapplet/batterystatus.cpp b/core/applets/batteryapplet/batterystatus.cpp index 5a24b94..860db64 100644 --- a/core/applets/batteryapplet/batterystatus.cpp +++ b/core/applets/batteryapplet/batterystatus.cpp | |||
@@ -12,26 +12,31 @@ | |||
12 | #include <qtextstream.h> | 12 | #include <qtextstream.h> |
13 | #include <qmessagebox.h> | 13 | #include <qmessagebox.h> |
14 | 14 | ||
15 | using namespace Opie::Core; | 15 | using namespace Opie::Core; |
16 | 16 | ||
17 | BatteryStatus::BatteryStatus( const PowerStatus *p, QWidget *parent, WFlags f ) | 17 | BatteryStatus::BatteryStatus( const PowerStatus *p, QWidget *parent, WFlags f ) |
18 | : QFrame( parent, 0, f), ps(p), bat2(false) { | 18 | : QFrame( parent, 0, f), ps(p), bat2(false) { |
19 | 19 | ||
20 | jackPercent = 0; | 20 | UpdateBatteryStatus(); |
21 | |||
22 | if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) { | ||
23 | getProcApmStatusIpaq(); | ||
24 | } | ||
25 | percent = ps->batteryPercentRemaining(); | ||
26 | } | 21 | } |
27 | 22 | ||
28 | BatteryStatus::~BatteryStatus() {} | 23 | BatteryStatus::~BatteryStatus() {} |
29 | 24 | ||
25 | void BatteryStatus::UpdateBatteryStatus() { | ||
26 | |||
27 | jackPercent = 0; | ||
28 | |||
29 | if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) { | ||
30 | getProcApmStatusIpaq(); | ||
31 | } | ||
32 | percent = ps->batteryPercentRemaining(); | ||
33 | } | ||
34 | |||
30 | /* | 35 | /* |
31 | * Make use of the advanced apm interface of the ipaq | 36 | * Make use of the advanced apm interface of the ipaq |
32 | */ | 37 | */ |
33 | bool BatteryStatus::getProcApmStatusIpaq() { | 38 | bool BatteryStatus::getProcApmStatusIpaq() { |
34 | 39 | ||
35 | bat2 = false; | 40 | bat2 = false; |
36 | 41 | ||
37 | QFile procApmIpaq("/proc/hal/battery"); | 42 | QFile procApmIpaq("/proc/hal/battery"); |
diff --git a/core/applets/batteryapplet/batterystatus.h b/core/applets/batteryapplet/batterystatus.h index bb95ece..4da446d 100644 --- a/core/applets/batteryapplet/batterystatus.h +++ b/core/applets/batteryapplet/batterystatus.h | |||
@@ -25,17 +25,17 @@ | |||
25 | class PowerStatus; | 25 | class PowerStatus; |
26 | 26 | ||
27 | class BatteryStatus : public QFrame | 27 | class BatteryStatus : public QFrame |
28 | { | 28 | { |
29 | Q_OBJECT | 29 | Q_OBJECT |
30 | public: | 30 | public: |
31 | BatteryStatus( const PowerStatus *s, QWidget *parent=0, WFlags f = 0 ); | 31 | BatteryStatus( const PowerStatus *s, QWidget *parent=0, WFlags f = 0 ); |
32 | ~BatteryStatus(); | 32 | ~BatteryStatus(); |
33 | 33 | void BatteryStatus::UpdateBatteryStatus(); | |
34 | void updatePercent( int ); | 34 | void updatePercent( int ); |
35 | QSize sizeHint() const; | 35 | QSize sizeHint() const; |
36 | protected: | 36 | protected: |
37 | void drawSegment( QPainter *p, const QRect &r, const QColor &topgrad, const QColor &botgrad, const QColor &highlight, int hightlight_height ); | 37 | void drawSegment( QPainter *p, const QRect &r, const QColor &topgrad, const QColor &botgrad, const QColor &highlight, int hightlight_height ); |
38 | void paintEvent( QPaintEvent *pe ); | 38 | void paintEvent( QPaintEvent *pe ); |
39 | bool BatteryStatus::getProcApmStatusIpaq(); | 39 | bool BatteryStatus::getProcApmStatusIpaq(); |
40 | 40 | ||
41 | private: | 41 | private: |