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

Reply via email to