Diffstat (limited to 'core/applets/batteryapplet/batterystatus.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/applets/batteryapplet/batterystatus.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
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 @@ -1,53 +1,58 @@ #include "batterystatus.h" /* OPIE */ #include <opie2/odevice.h> #include <qpe/power.h> /* QT */ #include <qpushbutton.h> #include <qdrawutil.h> #include <qfile.h> #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) { - 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; QFile procApmIpaq("/proc/hal/battery"); if (procApmIpaq.open(IO_ReadOnly) ) { QStringList list; // since it is /proc we _must_ use QTextStream QTextStream stream ( &procApmIpaq); QString streamIn; streamIn = stream.read(); list = QStringList::split("\n", streamIn); for(QStringList::Iterator line=list.begin(); line!=list.end(); line++) { // not nice, need a rewrite later if( (*line).startsWith(" Percentage") ) { if (bat2 == true) { perc2 = (*line).mid(((*line).find('(')) +1,(*line).find(')')-(*line).find('(')-2); } else { perc1 = (*line).mid(((*line).find('('))+1,(*line).find(')')-(*line).find('(')-2); |