Diffstat (limited to 'core/applets/batteryapplet/battery.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | core/applets/batteryapplet/battery.cpp | 104 |
1 files changed, 54 insertions, 50 deletions
diff --git a/core/applets/batteryapplet/battery.cpp b/core/applets/batteryapplet/battery.cpp index 98b61b5..0d3d190 100644 --- a/core/applets/batteryapplet/battery.cpp +++ b/core/applets/batteryapplet/battery.cpp @@ -37,4 +37,3 @@ using namespace Opie::Ui; BatteryMeter::BatteryMeter( QWidget *parent ) - : QWidget( parent ), charging(false) -{ +: QWidget( parent ), charging(false) { ps = new PowerStatus; @@ -42,3 +41,3 @@ BatteryMeter::BatteryMeter( QWidget *parent ) - setFixedWidth( QMAX(AppLnk::smallIconSize()*3/4, 6) ); + setFixedWidth( QMAX(AppLnk::smallIconSize()*3/4, 6) ); setFixedHeight( AppLnk::smallIconSize() ); @@ -54,4 +53,3 @@ BatteryMeter::BatteryMeter( QWidget *parent ) -BatteryMeter::~BatteryMeter() -{ +BatteryMeter::~BatteryMeter() { delete ps; @@ -59,4 +57,3 @@ BatteryMeter::~BatteryMeter() -QSize BatteryMeter::sizeHint() const -{ +QSize BatteryMeter::sizeHint() const { return QSize(QMAX(AppLnk::smallIconSize()*3/4, 6), height() ); @@ -64,6 +61,4 @@ QSize BatteryMeter::sizeHint() const -void BatteryMeter::mousePressEvent( QMouseEvent* e ) -{ - if ( e->button() == RightButton ) - { +void BatteryMeter::mousePressEvent( QMouseEvent* e ) { + if ( e->button() == RightButton ) { style = 1-style; @@ -77,11 +72,20 @@ void BatteryMeter::mousePressEvent( QMouseEvent* e ) -void BatteryMeter::mouseReleaseEvent( QMouseEvent* /*e*/ ) -{ +void BatteryMeter::mouseReleaseEvent( QMouseEvent* /*e*/ ) { if ( batteryView && batteryView->isVisible() ) { - delete (QWidget *) batteryView; + batteryView->hide(); } else { - if ( !batteryView ) batteryView = new BatteryStatus( ps ); - QPEApplication::showWidget( batteryView ); + if ( !batteryView ) { + batteryView = new BatteryStatus( ps, 0, WStyle_StaysOnTop | WType_Popup ); + batteryView->setFrameStyle( QFrame::PopupPanel | QFrame::Raised ); + } + + 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(); - batteryView->showMaximized(); + batteryView->show(); } @@ -89,4 +93,4 @@ void BatteryMeter::mouseReleaseEvent( QMouseEvent* /*e*/ ) -void BatteryMeter::timerEvent( QTimerEvent * ) -{ + +void BatteryMeter::timerEvent( QTimerEvent * ) { PowerStatus prev = *ps; @@ -96,16 +100,16 @@ void BatteryMeter::timerEvent( QTimerEvent * ) if ( prev != *ps ) { - percent = ps->batteryPercentRemaining(); - if ( !charging && ps->batteryStatus() == PowerStatus::Charging ) { - percent = 0; - charging = true; - chargeTimer->start( 500 ); - } else if ( charging && ps->batteryStatus() != PowerStatus::Charging ) { - charging = false; - chargeTimer->stop(); + percent = ps->batteryPercentRemaining(); + if ( !charging && ps->batteryStatus() == PowerStatus::Charging ) { + percent = 0; + charging = true; + chargeTimer->start( 500 ); + } else if ( charging && ps->batteryStatus() != PowerStatus::Charging ) { + charging = false; + chargeTimer->stop(); + if ( batteryView ) + batteryView->updatePercent( percent ); + } + repaint( style != 0 ); if ( batteryView ) - batteryView->updatePercent( percent ); - } - repaint( style != 0 ); - if ( batteryView ) - batteryView->repaint(); + batteryView->repaint(); } @@ -113,7 +117,6 @@ void BatteryMeter::timerEvent( QTimerEvent * ) -void BatteryMeter::chargeTimeout() -{ +void BatteryMeter::chargeTimeout() { percent += 20; if ( percent > 100 ) - percent = 0; + percent = 0; @@ -121,10 +124,8 @@ void BatteryMeter::chargeTimeout() if ( batteryView ) - batteryView->updatePercent( percent ); + batteryView->updatePercent( percent ); } -void BatteryMeter::paintEvent( QPaintEvent* ) -{ +void BatteryMeter::paintEvent( QPaintEvent* ) { - if ( style == 1 ) - { + if ( style == 1 ) { QPainter p(this); @@ -141,7 +142,11 @@ void BatteryMeter::paintEvent( QPaintEvent* ) QColor g = gray.light( 160 ); - switch ( ps->acStatus() ) - { - case PowerStatus::Offline: color = blue.light( 150 ); break; - case PowerStatus::Online: color = green.dark( 130 ).light( 180 ); break; - default: color = red.light( 160 ); + switch ( ps->acStatus() ) { + case PowerStatus::Offline: + color = blue.light( 150 ); + break; + case PowerStatus::Online: + color = green.dark( 130 ).light( 180 ); + break; + default: + color = red.light( 160 ); } @@ -149,3 +154,4 @@ void BatteryMeter::paintEvent( QPaintEvent* ) int w = height() / 2; - if ( !(w%2) ) w--; // should have an odd value to get a real middle line + if ( !(w%2) ) + w--; // should have an odd value to get a real middle line int h = height() - 4; @@ -164,4 +170,3 @@ void BatteryMeter::paintEvent( QPaintEvent* ) int middle = w/2; - for ( int i = 0; i < middle; i++ ) - { + for ( int i = 0; i < middle; i++ ) { p.setPen( gray.dark( 100+i*20 ) ); @@ -175,4 +180,3 @@ void BatteryMeter::paintEvent( QPaintEvent* ) -int BatteryMeter::position() -{ +int BatteryMeter::position() { return 8; |