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 | 9 | ||||
-rw-r--r-- | core/applets/batteryapplet/batterystatus.h | 2 |
3 files changed, 9 insertions, 3 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*/ ) { if ( batteryView && batteryView->isVisible() ) { batteryView->hide(); } 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); 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 @@ #include <qtextstream.h> #include <qmessagebox.h> using namespace Opie::Core; BatteryStatus::BatteryStatus( const PowerStatus *p, QWidget *parent, WFlags f ) : QFrame( parent, 0, f), ps(p), bat2(false) { + UpdateBatteryStatus(); +} + +BatteryStatus::~BatteryStatus() {} + +void BatteryStatus::UpdateBatteryStatus() { + jackPercent = 0; if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) { getProcApmStatusIpaq(); } percent = ps->batteryPercentRemaining(); } -BatteryStatus::~BatteryStatus() {} - /* * Make use of the advanced apm interface of the ipaq */ bool BatteryStatus::getProcApmStatusIpaq() { bat2 = false; 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 @@ 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(); private: |