summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/batteryapplet/batterystatus.cpp43
-rw-r--r--core/applets/batteryapplet/batterystatus.h2
2 files changed, 33 insertions, 12 deletions
diff --git a/core/applets/batteryapplet/batterystatus.cpp b/core/applets/batteryapplet/batterystatus.cpp
index 7d3bdd9..fdd963c 100644
--- a/core/applets/batteryapplet/batterystatus.cpp
+++ b/core/applets/batteryapplet/batterystatus.cpp
@@ -8,20 +8,31 @@
8#include <qpainter.h> 8#include <qpainter.h>
9#include <qpushbutton.h> 9#include <qpushbutton.h>
10#include <qdrawutil.h> 10#include <qdrawutil.h>
11#include <qfile.h> 11#include <qfile.h>
12#include <qlayout.h>
12#include <qtextstream.h> 13#include <qtextstream.h>
14#include <qapplication.h>
13#include <qmessagebox.h> 15#include <qmessagebox.h>
14 16
15using namespace Opie; 17using namespace Opie;
16 18
17BatteryStatus::BatteryStatus( const PowerStatus *p, QWidget *parent ) 19BatteryStatus::BatteryStatus( const PowerStatus *p, QWidget *parent )
18 : QWidget( parent, 0, WDestructiveClose), ps(p), bat2(false) { 20 : QWidget( parent, 0, WDestructiveClose), ps(p), bat2(false) {
19 setCaption( tr("Battery status") ); 21 setCaption( tr("Battery status") );
20 QPushButton *pb = new QPushButton( tr("Close"), this ); 22 QPushButton *pb = new QPushButton( tr("Close"), this );
21 pb->move( 70, 250 ); 23 QVBoxLayout *layout = new QVBoxLayout ( this );
22 pb->setMaximumHeight(20); 24
25 jackPercent = 0;
26
27 pb->setMaximumHeight(40);
28 pb->setMaximumWidth( 120 );
29
23 pb->show(); 30 pb->show();
31
32 layout->addStretch( 0 );
33 layout->addWidget( pb );
34
24 if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) { 35 if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) {
25 getProcApmStatusIpaq(); 36 getProcApmStatusIpaq();
26 } 37 }
27 connect( pb, SIGNAL( clicked() ), this, SLOT( close() ) ); 38 connect( pb, SIGNAL( clicked() ), this, SLOT( close() ) );
@@ -134,8 +145,12 @@ void BatteryStatus::drawSegment( QPainter *p, const QRect &r, const QColor &topg
134} 145}
135 146
136void BatteryStatus::paintEvent( QPaintEvent * ) { 147void BatteryStatus::paintEvent( QPaintEvent * ) {
137 148
149
150 int screenWidth = qApp->desktop()->width();
151 int screenHeight = qApp->desktop()->height();
152
138 QPainter p(this); 153 QPainter p(this);
139 QString text; 154 QString text;
140 if ( ps->batteryStatus() == PowerStatus::Charging ) { 155 if ( ps->batteryStatus() == PowerStatus::Charging ) {
141 if (bat2) { 156 if (bat2) {
@@ -197,15 +212,17 @@ void BatteryStatus::paintEvent( QPaintEvent * ) {
197 } 212 }
198 if ( percent < 0 ) 213 if ( percent < 0 )
199 return; 214 return;
200 215
201 int percent2 = percent * 2; 216 int rightEnd1 = screenWidth - 47;
217 int rightEnd2 = screenWidth - 35;
218 int percent2 = ( percent / 100 ) * rightEnd1 ;
202 p.setPen( black ); 219 p.setPen( black );
203 qDrawShadePanel( &p, 9, 30, 204, 39, colorGroup(), TRUE, 1, NULL); 220 qDrawShadePanel( &p, 9, 30, rightEnd1 , 39, colorGroup(), TRUE, 1, NULL);
204 qDrawShadePanel( &p, 212, 37, 12, 24, colorGroup(), TRUE, 1, NULL); 221 qDrawShadePanel( &p, rightEnd2, 37, 12, 24, colorGroup(), TRUE, 1, NULL);
205 drawSegment( &p, QRect( 10, 30, percent2, 40 ), lightc, darkc, lightc.light(115), 6 ); 222 drawSegment( &p, QRect( 10, 30, percent2, 40 ), lightc, darkc, lightc.light(115), 6 );
206 drawSegment( &p, QRect( 11 + percent2, 30, 200 - percent2, 40 ), white.light(80), black, white.light(90), 6 ); 223 drawSegment( &p, QRect( 11 + percent2, 30, rightEnd1 - percent2, 40 ), white.light(80), black, white.light(90), 6 );
207 drawSegment( &p, QRect( 212, 37, 10, 25 ), white.light(80), black, white.light(90), 2 ); 224 drawSegment( &p, QRect( rightEnd2, 37, 10, 25 ), white.light(80), black, white.light(90), 2 );
208 p.setPen( black); 225 p.setPen( black);
209 226
210 227
211 if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) { 228 if ( ODevice::inst ( )-> series ( ) == Model_iPAQ ) {
@@ -222,13 +239,15 @@ void BatteryStatus::paintEvent( QPaintEvent * ) {
222 jackPercent = 0; 239 jackPercent = 0;
223 jacketMsg = tr("No jacket with battery inserted"); 240 jacketMsg = tr("No jacket with battery inserted");
224 } 241 }
225 242
226 qDrawShadePanel( &p, 9, 160, 204, 39, colorGroup(), TRUE, 1, NULL); 243 int jackPerc = ( jackPercent / 100 ) * screenWidth - 47;
227 qDrawShadePanel( &p, 212, 167, 12, 24, colorGroup(), TRUE, 1, NULL); 244
228 drawSegment( &p, QRect( 10, 160, jackPercent*2, 40 ), lightc, darkc, lightc.light(115), 6 ); 245 qDrawShadePanel( &p, 9, 160, rightEnd1, 39, colorGroup(), TRUE, 1, NULL);
229 drawSegment( &p, QRect( 11 + jackPercent*2, 160, 200 - jackPercent*2, 40 ), white.light(80), black, white.light(90), 6 ); 246 qDrawShadePanel( &p, rightEnd2, 167, 12, 24, colorGroup(), TRUE, 1, NULL);
230 drawSegment( &p, QRect( 212, 167, 10, 25 ), white.light(80), black, white.light(90), 2 ); 247 drawSegment( &p, QRect( 10, 160, jackPerc, 40 ), lightc, darkc, lightc.light(115), 6 );
248 drawSegment( &p, QRect( 11 + jackPerc, 160, rightEnd1 - jackPerc, 40 ), white.light(80), black, white.light(90), 6 );
249 drawSegment( &p, QRect( rightEnd2, 167, 10, 25 ), white.light(80), black, white.light(90), 2 );
231 p.setPen( black ); 250 p.setPen( black );
232 p.drawText(15, 180, jacketMsg); 251 p.drawText(15, 180, jacketMsg);
233 } 252 }
234 253
diff --git a/core/applets/batteryapplet/batterystatus.h b/core/applets/batteryapplet/batterystatus.h
index 18c2943..a5ab804 100644
--- a/core/applets/batteryapplet/batterystatus.h
+++ b/core/applets/batteryapplet/batterystatus.h
@@ -51,8 +51,10 @@ private:
51 QString jackStatus; 51 QString jackStatus;
52 QString ipaqChem; 52 QString ipaqChem;
53 QString jackChem; 53 QString jackChem;
54 bool bat2; 54 bool bat2;
55 int screenWidth;
56 int screenHeight;
55}; 57};
56 58
57#endif 59#endif
58 60