Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_config.c e_intl.c e_ipc.c e_ipc.h e_remote_main.c 


Log Message:


you can change language on the fly by enlightenment_remote and it saves the
settings etc. lists available languages etc. etc. works nicely here...

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -3 -r1.34 -r1.35
--- e_config.c  2 May 2005 10:16:31 -0000       1.34
+++ e_config.c  3 May 2005 08:06:48 -0000       1.35
@@ -199,7 +199,10 @@
    /* apply config */
    
    if ((e_config->language) && (strlen(e_config->language) > 0))
-     e_intl_language_set(e_config->language);
+     {
+       printf("SET LANG %s\n", e_config->language);
+       e_intl_language_set(e_config->language);
+     }
    
      {
        Evas_List *l;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_intl.c,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -3 -r1.25 -r1.26
--- e_intl.c    2 May 2005 06:48:38 -0000       1.25
+++ e_intl.c    3 May 2005 08:06:50 -0000       1.26
@@ -38,21 +38,21 @@
     *       vs. traditional chinese) we may refer to them as separate languages
     *       entirely.
     */
-   ADD_LANG("C");
-   ADD_LANG("en");
-   ADD_LANG("ja");
-   ADD_LANG("fr");
-   ADD_LANG("es");
-   ADD_LANG("pt");
-   ADD_LANG("fi");
-   ADD_LANG("ru");
-   ADD_LANG("bg");
-   ADD_LANG("de");
-   ADD_LANG("pl");
-   ADD_LANG("zh_CN");
-   ADD_LANG("hu");
-   ADD_LANG("sl");
-   ADD_LANG("it");
+   ADD_LANG("");
+   ADD_LANG("en_US.UTF-8");
+   ADD_LANG("ja_JP.UTF-8");
+   ADD_LANG("fr_FR.UTF-8");
+   ADD_LANG("es_AR.UTF-8");
+   ADD_LANG("pt_BR.UTF-8");
+   ADD_LANG("fi_FI.UTF-8");
+   ADD_LANG("ru_RU.UTF-8");
+   ADD_LANG("bg_BG.UTF-8");
+   ADD_LANG("de_DE.UTF-8");
+   ADD_LANG("pl_PL.UTF-8");
+   ADD_LANG("zh_CN.UTF-8");
+   ADD_LANG("hu_HU.UTF-8");
+   ADD_LANG("sl_SI.UTF-8");
+   ADD_LANG("it_IT.UTF-8");
 
    /* FIXME: NULL == use LANG. make this read a config value if it exists */
    e_intl_language_set(getenv("LANG"));
@@ -82,7 +82,15 @@
      {
        _e_intl_language = NULL;
      }
-   setlocale(LC_ALL, "");
+   if (setlocale(LC_ALL, "") == NULL)
+     {
+       perror("setlocale() :");
+       if (_e_intl_language)
+         printf("An error occured when trying to use the locale: 
%s\nDetails:\n",
+                _e_intl_language);
+       else
+         printf("An error occured trying to use the default locale\n");
+     }
    bindtextdomain(PACKAGE, LOCALE_DIR);
    textdomain(PACKAGE);
 //   XSetLocaleModifiers("");
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- e_ipc.c     2 May 2005 10:16:31 -0000       1.16
+++ e_ipc.c     3 May 2005 08:06:50 -0000       1.17
@@ -15,7 +15,6 @@
 ECORE_IPC_ENC_EVAS_LIST_PROTO(_e_ipc_font_fallback_list_enc);
 ECORE_IPC_ENC_EVAS_LIST_PROTO(_e_ipc_font_default_list_enc);
 ECORE_IPC_ENC_STRUCT_PROTO(_e_ipc_font_default_enc);
-//ECORE_IPC_ENC_STRUCT_PROTO(_e_ipc_string_list_enc);
 
 /* local subsystem globals */
 static Ecore_Ipc_Server *_e_ipc_server  = NULL;
@@ -416,6 +415,7 @@
                                   data, bytes);
             free(data);
          }
+       break;
       case E_IPC_OP_LANG_SET:
          {
             char *lang;
@@ -426,6 +426,7 @@
             e_intl_language_set(e_config->language);
              e_config_save_queue();
          }
+       break;
       case E_IPC_OP_LANG_GET:
          {
             char *lang;
@@ -485,6 +486,10 @@
    return data;
 }
 
+/**
+ * Encode a list of strings into a flattened data block that looks like
+ * <str>0<str>0... (ie string chars - nul byte in between until the end)
+ */
 static char *
 _e_ipc_str_list_get(Evas_List *strs, int *bytes)
 {
@@ -620,16 +625,3 @@
    ECORE_IPC_PUT32(size);
    ECORE_IPC_ENC_STRUCT_FOOT();
 }
-
-/*
-ECORE_IPC_ENC_STRUCT_PROTO(_e_ipc_string_list_enc)
-{
-    ECORE_IPC_ENC_EVAS_LIST_HEAD_START(E_String);
-       ECORE_IPC_CNTS(str);
-    ECORE_IPC_ENC_EVAS_LIST_HEAD_FINISH();
-       int l1;
-       ECORE_IPC_SLEN(l1, str);
-       ECORE_IPC_PUTS(str, l1);
-    ECORE_IPC_ENC_EVAS_LIST_FOOT();
-}
-*/
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- e_ipc.h     2 May 2005 10:16:31 -0000       1.11
+++ e_ipc.h     3 May 2005 08:06:50 -0000       1.12
@@ -3,7 +3,8 @@
  */
 #ifdef E_TYPEDEFS
 
-typedef enum _E_Ipc_Domain {
+typedef enum _E_Ipc_Domain
+{
    E_IPC_DOMAIN_NONE,
    E_IPC_DOMAIN_SETUP,
    E_IPC_DOMAIN_REQUEST,
@@ -12,7 +13,8 @@
    E_IPC_DOMAIN_LAST
 } E_Ipc_Domain;
 
-typedef enum _E_Ipc_Op {
+typedef enum _E_Ipc_Op
+{
    E_IPC_OP_NONE,
    E_IPC_OP_MODULE_LOAD,
    E_IPC_OP_MODULE_UNLOAD,
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_remote_main.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- e_remote_main.c     2 May 2005 10:16:31 -0000       1.14
+++ e_remote_main.c     3 May 2005 08:06:50 -0000       1.15
@@ -27,6 +27,8 @@
 
 static void _e_help(void);
 
+static Evas_List *_e_ipc_str_list_dec(char *data, int bytes);
+    
 ECORE_IPC_DEC_EVAS_LIST_PROTO(_e_ipc_module_list_dec);
 ECORE_IPC_DEC_EVAS_LIST_PROTO(_e_ipc_font_available_list_dec);
 ECORE_IPC_DEC_EVAS_LIST_PROTO(_e_ipc_font_fallback_list_dec);
@@ -433,7 +435,7 @@
              E_Font_Default *efd;
             
              defaults = _e_ipc_font_default_list_dec(e->data, e->size);
-             while(defaults)
+             while (defaults)
                {
                  efd = defaults->data;
                  printf("REPLY: DEFAULT TEXT_CLASS=\"%s\" NAME=\"%s\" 
SIZE=%d\n",
@@ -448,10 +450,27 @@
       case E_IPC_OP_LANG_LIST_REPLY:
         if (e->data)
           {
+            Evas_List *langs;
+            
+            langs = _e_ipc_str_list_dec(e->data, e->size);
+            if (langs)
+              {
+                 Evas_List *l;
+                 
+                 for (l = langs; l; l = l->next)
+                   printf("REPLY: LANG=\"%s\"\n", l->data);
+                 evas_list_free(langs);
+              }
           }
         else
           printf("REPLY: AVAILABLE NONE\n"); 
         break;   
+      case E_IPC_OP_LANG_GET_REPLY:
+       if (e->data)
+         {
+            printf("REPLY: %s\n", e->data);
+         }
+       break;
       default:
        break;
      }
@@ -504,6 +523,23 @@
      }
 }
 
+/* generic encoding functions */
+static Evas_List *
+_e_ipc_str_list_dec(char *data, int bytes)
+{
+   Evas_List *strs = NULL;
+   char *p;
+   
+   /* malformed list? */
+   if (data[bytes - 1] != 0) return NULL;
+   p = data;
+   while (p < (data + bytes))
+     {
+       strs = evas_list_append(strs, p);
+       p += strlen(p) + 1;
+     }
+   return strs;
+}
 
 /* list/struct encoding functions */
 ECORE_IPC_DEC_EVAS_LIST_PROTO(_e_ipc_module_list_dec)




-------------------------------------------------------
This SF.Net email is sponsored by: NEC IT Guy Games.
Get your fingers limbered up and give it your best shot. 4 great events, 4
opportunities to win big! Highest score wins.NEC IT Guy Games. Play to
win an NEC 61 plasma display. Visit http://www.necitguy.com/?r=20
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to