[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdenonbeta/kbatterymonitor/linux-acpi
From: Chris Howells <howells () kde ! org>
Date: 2004-11-01 1:42:19
Message-ID: 20041101014219.43A1A16B10 () office ! kde ! org
[Download RAW message or body]
CVS commit by howells:
fix charging detection
M +14 -14 linux_acpi.cpp 1.8
--- kdenonbeta/kbatterymonitor/linux-acpi/linux_acpi.cpp #1.7:1.8
@@ -66,10 +66,8 @@ bool LinuxACPI::init()
QString batteryBase = "/proc/acpi/battery/";
QStringList batteries = findItems(batteryBase);
- // FIXME support multiple batteries
mBatteryStateFile = batteryBase + batteries[0] + "/state";
mBatteryInfoFile = batteryBase + batteries[0] + "/info";
readStaticBatteryInformation(mBatteryInfoFile);
- readDynamicBatteryInformation(mBatteryStateFile);
return true;
@@ -89,5 +87,5 @@ void LinuxACPI::readDynamicBatteryInform
mRemainingCapacity = parseBatteryNumbers(batteryStatus, "remaining capacity");
mPresentRate = parseBatteryNumbers(batteryStatus, "present rate");
- mCharging = parseCharging(battery);
+ mCharging = parseCharging(batteryStatus);
}
@@ -107,4 +105,5 @@ batteryStatusStruct LinuxACPI::batterySt
}
+ kdDebug() << "READING THE INFO" << endl;
readDynamicBatteryInformation(mBatteryStateFile);
@@ -210,25 +209,26 @@ long LinuxACPI::parseBatteryNumbers(QStr
bool LinuxACPI::parseCharging(QStringList file)
{
- bool charging = false;
+ kdDebug() << "parse charging" << endl;
+ bool charging = true;
for (QStringList::Iterator it = file.begin(); it != file.end(); ++it)
{
- QRegExp exp(""); // FIX this shit
- if ((*it).contains("charging") > 0)
+ kdDebug() << "Looking at line " << *it << endl;
+ if ((*it).contains("discharging") > 0)
{
- charging = true;
+ kdDebug() << "found discharging" << endl;
+ charging = false;
}
}
kdDebug() << "Charging: " << (charging ? "true" : "false") << endl;
- return mCharging;
+ return charging;
}
int LinuxACPI::batteryTime()
{
- if (!mCharging && (mPresentRate > 0))
+ if (mPresentRate == 0) // we are on AC and fully charged
{
- kdDebug() << "USING THE NOT CHARGING EQUATION" << endl;
- return (double)mRemainingCapacity / mPresentRate * 60;
+ return -1;
}
- else if (mCharging && (mPresentRate > 0))
+ if (mCharging)
{
kdDebug() << "USING THE CHARGING EQUATION" << endl;
@@ -237,7 +237,7 @@ int LinuxACPI::batteryTime()
else
{
- return -1; // we are just on AC so nothing to estimate
+ kdDebug() << "USING THE NOT CHARGING EQUATION" << endl;
+ return (double)mRemainingCapacity / mPresentRate * 60;
}
-
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic