-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 @@ -127,16 +127,18 @@ 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; } QPainter p(this); QColor color; 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 @@ -43,16 +43,18 @@ bool BatteryStatus::getProcApmStatusIpaq() { if (procApmIpaq.open(IO_ReadOnly) ) { 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); } else { perc1 = (*line).mid(((*line).find('('))+1,(*line).find(')')-(*line).find('(')-2); @@ -82,17 +84,17 @@ bool BatteryStatus::getProcApmStatusIpaq() { } else { QMessageBox::warning(this, tr("Failure"),tr("could not open file")); } 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()) { sec2 = tr("no data"); } else { @@ -185,29 +187,30 @@ QString BatteryStatus::statusText() const { .arg( ps->batteryTimeRemaining() % 60, 2 ) ); /* text += "\n" + QString().sprintf( tr("Remaining Time") + ": %im %02is", 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 ) { c = blue.light(120); darkc = c.dark(280); @@ -238,17 +241,18 @@ void BatteryStatus::paintEvent( QPaintEvent * ev ) { if ( ODevice::inst ( )-> series ( ) == Model_iPAQ && bat2 ) { 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"); } int jackPerc = ( jackPercent * ( width() - 47 ) ) / 100; @@ -267,13 +271,13 @@ QSize BatteryStatus::sizeHint() const { QString text = statusText(); QString text2 = statusTextIpaq(); 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() ); } |