summaryrefslogtreecommitdiff
path: root/core/applets/batteryapplet/batterystatus.cpp
Side-by-side diff
Diffstat (limited to 'core/applets/batteryapplet/batterystatus.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/batteryapplet/batterystatus.cpp17
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);