author | skyhusker <skyhusker> | 2005-06-14 18:14:38 (UTC) |
---|---|---|
committer | skyhusker <skyhusker> | 2005-06-14 18:14:38 (UTC) |
commit | cc964541dce909aa557b7f07d00b63c4578a00ee (patch) (side-by-side diff) | |
tree | 2f3497aaad3903111894d662a7395a278b5a8c35 | |
parent | ce379c1225ee98d58b98a0b9f2c133ac690e75ff (diff) | |
download | opie-cc964541dce909aa557b7f07d00b63c4578a00ee.zip opie-cc964541dce909aa557b7f07d00b63c4578a00ee.tar.gz opie-cc964541dce909aa557b7f07d00b63c4578a00ee.tar.bz2 |
Fix bugs #1384 and #1546
-rw-r--r-- | core/applets/batteryapplet/battery.cpp | 2 | ||||
-rw-r--r-- | core/applets/batteryapplet/batterystatus.cpp | 12 |
2 files changed, 10 insertions, 4 deletions
diff --git a/core/applets/batteryapplet/battery.cpp b/core/applets/batteryapplet/battery.cpp index e85a9da..fa95b2b 100644 --- a/core/applets/batteryapplet/battery.cpp +++ b/core/applets/batteryapplet/battery.cpp @@ -129,12 +129,14 @@ void BatteryMeter::chargeTimeout() { void BatteryMeter::paintEvent( QPaintEvent* ) { if ( style == 1 ) { QPainter p(this); QFont f( "Fixed", AppLnk::smallIconSize()/2 ); QFontMetrics fm( f ); + //Avoid text overlapping + p.eraseRect( 0, 0, 20, 20 ); p.setFont( f ); p.drawText( 0, height()/2, QString::number( percent ) ); p.drawText( width()/4, height(), "%" ); return; } diff --git a/core/applets/batteryapplet/batterystatus.cpp b/core/applets/batteryapplet/batterystatus.cpp index 7f8de2c..34043f4 100644 --- a/core/applets/batteryapplet/batterystatus.cpp +++ b/core/applets/batteryapplet/batterystatus.cpp @@ -45,12 +45,14 @@ bool BatteryStatus::getProcApmStatusIpaq() { QStringList list; // since it is /proc we _must_ use QTextStream QTextStream stream ( &procApmIpaq); QString streamIn; streamIn = stream.read(); list = QStringList::split("\n", streamIn); + + sec2 = sec1 = ""; 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); @@ -84,13 +86,13 @@ bool BatteryStatus::getProcApmStatusIpaq() { } procApmIpaq.close(); jackPercent = perc2.toInt(); ipaqPercent = perc1.toInt(); - if (perc2.isEmpty()) { + if (perc2.isEmpty() || perc2 == "unknow" ) { perc2 = tr("no data"); } else { perc2 += " %"; } if (sec2 == "0" || sec2 == "" || sec2.isEmpty()) { @@ -187,25 +189,26 @@ QString BatteryStatus::statusText() const { ps->batteryTimeRemaining() / 60, ps->batteryTimeRemaining() % 60 );*/ } return text; } QString BatteryStatus::statusTextIpaq() const { - QString text = tr( "Remaing Power: %1 %2\nRemaining Time: %3" ).arg( perc2 ) + QString text = tr( "Remaining Power: %1 \n%2\nRemaining Time: %3" ).arg( perc2 ) .arg( jackStatus ) .arg( sec2 ); /* QString text = tr("Remaining Power: ") + perc2 + " " + jackStatus; text += "\n" + tr("Remaining Time: ") + sec2;*/ return text; } void BatteryStatus::paintEvent( QPaintEvent * ev ) { QPainter p( this ); QString text = statusText(); + p.eraseRect( p.boundingRect( 10, 50, width() - 20, 40 , AlignVCenter, text ) ); p.drawText( 10, 50, width() - 20, 40 , AlignVCenter, text ); QColor c; QColor darkc; QColor lightc; if ( ps->acStatus() == PowerStatus::Offline ) { @@ -240,13 +243,14 @@ void BatteryStatus::paintEvent( QPaintEvent * ev ) { p.drawText( 15, 30, tr("Ipaq %1").arg( ipaqChem ) ); QString jacketMsg; if (bat2) { p.setPen(black); QString text = statusTextIpaq(); - p.drawText( 10, 150, text ); + p.eraseRect( p.boundingRect( 10, 130, width() - 20, 40 , AlignVCenter, text ) ); + p.drawText( 10, 130, width() - 20, 40 , AlignVCenter, text ); jacketMsg = tr("Jacket ").arg( jackChem ); } else { jackPercent = 0; jacketMsg = tr("No jacket with battery inserted"); } @@ -269,11 +273,11 @@ QSize BatteryStatus::sizeHint() const { QFontMetrics fm = fontMetrics(); QRect r=fm.boundingRect( 10, 0, width(), height(), AlignVCenter, text ); QRect r2=fm.boundingRect( 10, 0, width(), height(), AlignVCenter, text2 ); if ( bat2 ) { return QSize( QMAX( QMIN( 200, qApp->desktop()->width() ), - r.width()+2*10 ), 2 * 10 + 80 + r.height() + r2.height() ); + r.width()+2*10 ), 2 * 10 + 100 + r.height() + r2.height() ); } return QSize( QMAX( QMIN( 200, qApp->desktop()->width() ), r.width()+2*10 ), 2 * 10 + 40 + r.height() ); } |