Enlightenment CVS committal

Author  : sebastid
Project : e17
Module  : apps/e_modules

Dir     : e17/apps/e_modules/src/modules/weather


Modified Files:
        e_mod_main.c e_mod_main.h 


Log Message:
Use unicode in printf if supported.
Show the same display type, wether error or not.

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_modules/src/modules/weather/e_mod_main.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- e_mod_main.c        14 Aug 2005 21:37:17 -0000      1.12
+++ e_mod_main.c        14 Aug 2005 21:53:57 -0000      1.13
@@ -40,7 +40,7 @@
 
 static int  _weather_parse(Weather_Face *face);
 static void _weather_convert_degrees(Weather_Face *face, int degrees);
-static void _weather_display_set(Weather_Face *face, int display);
+static void _weather_display_set(Weather_Face *face, int display, int ok);
 
 static void _weather_menu_add_face(void *data, E_Menu *m, E_Menu_Item *mi);
 static void _weather_menu_remove_face(void *data, E_Menu *m, E_Menu_Item *mi);
@@ -801,6 +801,7 @@
    Weather_Face *face;
    Ecore_Con_Event_Server_Del *e;
    Evas_List *l;
+   int ok;
 
    weather = data;
    e = event;
@@ -816,15 +817,9 @@
    ecore_con_server_del(face->server);
    face->server = NULL;
 
-   if (_weather_parse(face))
-     {
-       _weather_convert_degrees(face, weather->conf->degrees);
-       _weather_display_set(face, weather->conf->display);
-     }
-   else
-     {
-       _weather_display_set(face, ERROR_DISPLAY);
-     }
+   ok = _weather_parse(face);
+   _weather_convert_degrees(face, weather->conf->degrees);
+   _weather_display_set(face, weather->conf->display, ok);
 
    face->bufsize = 0;
    face->cursize = 0;
@@ -893,15 +888,17 @@
 }
 
 static void
-_weather_display_set(Weather_Face *face, int display)
+_weather_display_set(Weather_Face *face, int display, int ok)
 {
    char buf[PATH_MAX];
+#ifndef __STDC_ISO_10646__
    char *utf8;
+#endif
 
    if (!face) return;
 
    /* If _get_weather fails, blank out text and set icon to unknown */
-   if (display == ERROR_DISPLAY)
+   if (!ok)
      {
        e_icon_file_set(face->icon_object, 
PACKAGE_LIB_DIR"/e_modules/weather/images/na.png");
        edje_object_part_swallow(face->weather_object, "icon", 
face->icon_object);
@@ -909,7 +906,10 @@
        edje_object_part_text_set(face->weather_object, "location", 
face->conf->location);
        edje_object_part_text_set(face->weather_object, "temp", "");
        edje_object_part_text_set(face->weather_object, "conditions", "");
-       edje_object_signal_emit(face->weather_object, "set_style", "simple");
+       if (display == DETAILED_DISPLAY)
+         edje_object_signal_emit(face->weather_object, "set_style", 
"detailed");
+       else
+         edje_object_signal_emit(face->weather_object, "set_style", "simple");
      }
    else if (display == DETAILED_DISPLAY)
      {
@@ -920,10 +920,15 @@
        edje_object_part_swallow(face->weather_object, "icon", 
face->icon_object);
 
        edje_object_part_text_set(face->weather_object, "location", 
face->conf->location);
+#ifdef __STDC_ISO_10646__
+       snprintf(buf, sizeof(buf), "%d\u00b0%c", face->temp, face->degrees);
+       edje_object_part_text_set(face->weather_object, "temp", buf);
+#else
        snprintf(buf, sizeof(buf), "%d°%c", face->temp, face->degrees);
        utf8 = ecore_txt_convert("iso-8859-1", "utf-8", buf);
        edje_object_part_text_set(face->weather_object, "temp", utf8);
        free(utf8);
+#endif
        edje_object_part_text_set(face->weather_object, "conditions", 
face->conditions);
      }
    else
@@ -935,10 +940,15 @@
        edje_object_part_swallow(face->weather_object, "icon", 
face->icon_object);
 
        edje_object_part_text_set(face->weather_object, "location", 
face->conf->location);
+#ifdef __STDC_ISO_10646__
+       snprintf(buf, sizeof(buf), "%d\u00b0%c", face->temp, face->degrees);
+       edje_object_part_text_set(face->weather_object, "temp", buf);
+#else
        snprintf(buf, sizeof(buf), "%d°%c", face->temp, face->degrees);
        utf8 = ecore_txt_convert("iso-8859-1", "utf-8", buf);
        edje_object_part_text_set(face->weather_object, "temp", utf8);
        free(utf8);
+#endif
        edje_object_part_text_set(face->weather_object, "conditions", 
face->conditions);
      }
 }
@@ -1077,7 +1087,7 @@
 
        face = l->data;
        _weather_convert_degrees(face, weather->conf->degrees);
-       _weather_display_set(face, weather->conf->display);
+       _weather_display_set(face, weather->conf->display, 1);
      }
    e_config_save_queue();
 }
@@ -1096,7 +1106,7 @@
 
        face = l->data;
        _weather_convert_degrees(face, weather->conf->degrees);
-       _weather_display_set(face, weather->conf->display);
+       _weather_display_set(face, weather->conf->display, 1);
      }
    e_config_save_queue();
 }
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/apps/e_modules/src/modules/weather/e_mod_main.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- e_mod_main.h        14 Aug 2005 21:26:55 -0000      1.4
+++ e_mod_main.h        14 Aug 2005 21:53:57 -0000      1.5
@@ -6,7 +6,6 @@
 
 #define SIMPLE_DISPLAY   0
 #define DETAILED_DISPLAY 1
-#define ERROR_DISPLAY    2
 
 #define DEGREES_F 0
 #define DEGREES_C 1




-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to