-rw-r--r-- | core/applets/batteryapplet/battery.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/core/applets/batteryapplet/battery.cpp b/core/applets/batteryapplet/battery.cpp index 078ce8d..480d261 100644 --- a/core/applets/batteryapplet/battery.cpp +++ b/core/applets/batteryapplet/battery.cpp @@ -101,50 +101,60 @@ void BatteryMeter::timerEvent( QTimerEvent * ) if ( batteryView ) batteryView->repaint(); } } void BatteryMeter::chargeTimeout() { percent += 20; if ( percent > 100 ) percent = 0; repaint(FALSE); if ( batteryView ) batteryView->updatePercent( percent ); } void BatteryMeter::paintEvent( QPaintEvent* ) { if ( style == 1 ) { QPainter p(this); QFont f( "Fixed", AppLnk::smallIconSize()/2 ); QFontMetrics fm( f ); p.setFont( f ); + if ( percent > 98 ) { + p.drawText( 0, 0, width(), height(), Qt::AlignCenter, tr( "F" ) ); + } + else if ( percent < 5 ) + { + p.drawText( 0, 0, width(), height(), Qt::AlignCenter, tr( "E" ) ); + } + else + { p.drawText( 0, AppLnk::smallIconSize()/2, QString::number( percent ) ); p.drawText( AppLnk::smallIconSize()/4, AppLnk::smallIconSize(), "%" ); + } return; } QPainter p(this); QColor color; 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 ); } int w = height() / 2; if ( !(w%2) ) w--; // should have an odd value to get a real middle line int h = height() - 4; int pix = (percent * h) / 100; int y2 = height() -2; int y = y2 - pix; int x1 = (width() - w ) / 2; p.setPen(QColor(80,80,80)); p.drawLine(x1+w/4,0,x1+w/4+w/2+1,0); // header p.drawRect(x1,1,w,height()-1); // corpus |