Enlightenment CVS committal
Author : raster
Project : e17
Module : apps/e
Dir : e17/apps/e/src/modules/battery
Modified Files:
e_mod_main.c
Log Message:
detect charging state better
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/modules/battery/e_mod_main.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_mod_main.c 27 Dec 2004 10:49:46 -0000 1.2
+++ e_mod_main.c 27 Dec 2004 13:17:10 -0000 1.3
@@ -230,7 +230,7 @@
ef->battery_prev_drain = 1;
ef->battery_prev_ac = -1;
ef->battery_prev_battery = -1;
- ef->battery_check_timer = ecore_timer_add(5.0, _battery_cb_check, ef);
+ ef->battery_check_timer = ecore_timer_add(1.0, _battery_cb_check, ef);
_battery_cb_check(ef);
@@ -424,10 +424,9 @@
int level_unknown = 0;
int hours, minutes;
-
+
/* Read some information on first run. */
bats = e_file_ls("/proc/acpi/battery");
- if (!bats) return 0;
while (bats)
{
FILE *f;
@@ -494,6 +493,7 @@
bats = evas_list_remove_list(bats, bats);
free(name);
}
+
if (ef->battery_prev_drain < 1) ef->battery_prev_drain = 1;
if (bat_drain < 1) bat_drain = ef->battery_prev_drain;
ef->battery_prev_drain = bat_drain;
@@ -512,15 +512,18 @@
hours = minutes / 60;
minutes -= (hours * 60);
+ if (hours < 0) hours = 0;
+ if (minutes < 0) minutes = 0;
+
if ((charging) || (discharging))
{
ef->battery_prev_battery = 1;
- if ((charging ) && (ef->battery_prev_ac == 0))
+ if ((charging ) && (ef->battery_prev_ac != 1))
{
edje_object_signal_emit(ef->bat_object, "charge", "");
ef->battery_prev_ac = 1;
}
- else if ((discharging) && (ef->battery_prev_ac == 1))
+ else if ((discharging) && (ef->battery_prev_ac != 0))
{
edje_object_signal_emit(ef->bat_object, "discharge", "");
ef->battery_prev_ac = 0;
@@ -565,6 +568,11 @@
edje_object_signal_emit(ef->bat_object, "charge", "");
ef->battery_prev_battery = 1;
}
+ if (ef->battery_prev_ac != 1)
+ {
+ edje_object_signal_emit(ef->bat_object, "charge", "");
+ ef->battery_prev_ac = 1;
+ }
edje_object_part_text_set(ef->bat_object, "reading", "FULL");
edje_object_part_text_set(ef->bat_object, "time", "--:--");
_battery_level_set(ef, 1.0);
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs