summaryrefslogtreecommitdiff
authorbrad <brad>2004-06-24 09:13:31 (UTC)
committer brad <brad>2004-06-24 09:13:31 (UTC)
commitbc5c0b3549d43f7e04a06049578c5413dbf0c00b (patch) (side-by-side diff)
treeddc7318c4c40812ac562e0691dc99253e0fb9669
parent9c471976e750812f0af3b443964954d4b5a5ed20 (diff)
downloadopie-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.
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/applets/batteryapplet/battery.cpp1
-rw-r--r--core/applets/batteryapplet/batterystatus.cpp9
-rw-r--r--core/applets/batteryapplet/batterystatus.h2
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: