author | brad <brad> | 2004-06-24 09:13:31 (UTC) |
---|---|---|
committer | brad <brad> | 2004-06-24 09:13:31 (UTC) |
commit | bc5c0b3549d43f7e04a06049578c5413dbf0c00b (patch) (side-by-side diff) | |
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 @@ -76,12 +76,13 @@ void BatteryMeter::mouseReleaseEvent( QMouseEvent* /*e*/ ) { } else { if ( !batteryView ) { batteryView = new BatteryStatus( ps, 0, WStyle_StaysOnTop | WType_Popup ); batteryView->setFrameStyle( QFrame::PopupPanel | QFrame::Raised ); } + batteryView->UpdateBatteryStatus(); QRect r(batteryView->pos(),batteryView->sizeHint()); QPoint curPos = this->mapToGlobal ( rect().topLeft() ); int lp = qApp->desktop()->width() - batteryView->sizeHint().width(); r.moveTopLeft( QPoint(lp, curPos.y()-batteryView->sizeHint().height()-1) ); batteryView->setGeometry(r); 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 @@ -14,22 +14,27 @@ using namespace Opie::Core; BatteryStatus::BatteryStatus( const PowerStatus *p, QWidget *parent, WFlags f ) : QFrame( parent, 0, f), ps(p), bat2(false) { - jackPercent = 0; - - if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) { - getProcApmStatusIpaq(); - } - percent = ps->batteryPercentRemaining(); + UpdateBatteryStatus(); } BatteryStatus::~BatteryStatus() {} +void BatteryStatus::UpdateBatteryStatus() { + + jackPercent = 0; + + if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) { + getProcApmStatusIpaq(); + } + percent = ps->batteryPercentRemaining(); +} + /* * Make use of the advanced apm interface of the ipaq */ bool BatteryStatus::getProcApmStatusIpaq() { bat2 = false; 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 @@ -27,13 +27,13 @@ class PowerStatus; class BatteryStatus : public QFrame { Q_OBJECT public: BatteryStatus( const PowerStatus *s, QWidget *parent=0, WFlags f = 0 ); ~BatteryStatus(); - + void BatteryStatus::UpdateBatteryStatus(); void updatePercent( int ); QSize sizeHint() const; protected: void drawSegment( QPainter *p, const QRect &r, const QColor &topgrad, const QColor &botgrad, const QColor &highlight, int hightlight_height ); void paintEvent( QPaintEvent *pe ); bool BatteryStatus::getProcApmStatusIpaq(); |