summaryrefslogtreecommitdiff
authorskyhusker <skyhusker>2005-06-14 18:14:38 (UTC)
committer skyhusker <skyhusker>2005-06-14 18:14:38 (UTC)
commitcc964541dce909aa557b7f07d00b63c4578a00ee (patch) (side-by-side diff)
tree2f3497aaad3903111894d662a7395a278b5a8c35
parentce379c1225ee98d58b98a0b9f2c133ac690e75ff (diff)
downloadopie-cc964541dce909aa557b7f07d00b63c4578a00ee.zip
opie-cc964541dce909aa557b7f07d00b63c4578a00ee.tar.gz
opie-cc964541dce909aa557b7f07d00b63c4578a00ee.tar.bz2
Fix bugs #1384 and #1546
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/batteryapplet/battery.cpp2
-rw-r--r--core/applets/batteryapplet/batterystatus.cpp12
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() );
}