r4348 - trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src
erin_yueh at sita.openmoko.org
erin_yueh at sita.openmoko.org
Fri Apr 11 19:16:20 CEST 2008
Author: erin_yueh
Date: 2008-04-11 19:16:15 +0200 (Fri, 11 Apr 2008)
New Revision: 4348
Modified:
trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c
Log:
openmoko-panel-battery: update battery icon (Erin Yueh)
Modified: trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c
===================================================================
--- trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c 2008-04-11 14:55:21 UTC (rev 4347)
+++ trunk/src/target/OM-2007.2/panel-plugins/openmoko-panel-battery/src/openmoko-panel-battery.c 2008-04-11 17:16:15 UTC (rev 4348)
@@ -33,6 +33,7 @@
typedef struct {
MokoPanelApplet* mokoapplet;
+ const char *last_icon;
guint timeout_id;
} BatteryApplet;
@@ -110,23 +111,14 @@
{
g_debug( "battery_applet: timeout" );
char* icon;
- static int last_status = -123; /* the status last time we checked */
apm_info info;
// How about g_new0 here?
memset (&info, 0, sizeof (apm_info));
apm_read (&info);
- /* don't do any update if status is the same as the last time */
- if (last_status == info.battery_status)
- {
- return TRUE;
- }
-
//FIXME Can we actually find out, when the battery is full?
- last_status = info.battery_status;
-
if ( info.battery_status == BATTERY_STATUS_ABSENT ||
info.battery_status == BATTERY_STATUS_CHARGING )
{
@@ -148,6 +140,11 @@
icon = PKGDATADIR "/Battery_05.png";
}
+ if (icon == applet->last_icon)
+ return TRUE;
+
+ applet->last_icon = icon;
+
moko_panel_applet_set_icon( applet->mokoapplet, icon );
return TRUE;
@@ -163,6 +160,8 @@
t = time( NULL );
local_time = localtime(&t);
+ applet->last_icon = NULL;
+
timeout( applet );
battery_applet_init_dbus( applet );
applet->timeout_id = g_timeout_add_seconds( 60, (GSourceFunc) timeout, applet);
More information about the commitlog
mailing list