Enlightenment CVS committal

Author  : shorne
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_int_config_imc.c 


Log Message:
Add disable button for IMC (only in basic now)

===================================================================
RCS file: /cvs/e/e17/apps/e/src/bin/e_int_config_imc.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- e_int_config_imc.c  26 Dec 2006 12:47:41 -0000      1.5
+++ e_int_config_imc.c  5 Jan 2007 21:27:23 -0000       1.6
@@ -14,6 +14,8 @@
 
 /* Basic Callbacks */
 static int         _basic_list_sort_cb      (void *d1, void *d2);
+static void        _e_imc_disable_change_cb (void *data, Evas_Object *obj);
+static void        _e_imc_list_change_cb    (void *data, Evas_Object *obj);
 
 /* Advanced Callbacks */
 static void         _cb_dir                  (void *data, Evas_Object *obj);
@@ -47,7 +49,8 @@
    Evas_Object *o_frame; /* scrollpane for file manager*/
    
    char *imc_current;
-   
+  
+   int imc_disable; /* 0=enable, 1=disable */ 
    int fmdir; /* 0=Local, 1=System*/
    struct
      {
@@ -67,7 +70,8 @@
    struct
      {
        Evas_Object     *imc_basic_list;
-
+       Evas_Object     *imc_basic_disable;
+       
        Evas_Object *e_im_name;
        Evas_Object *e_im_exec;
        Evas_Object *gtk_im_module;
@@ -117,6 +121,12 @@
          {
             cfdata->fmdir = 1;
          }
+
+       cfdata->imc_disable = 0;
+     }
+   else
+     {
+       cfdata->imc_disable = 1;
      }
 }
 
@@ -172,9 +182,18 @@
 {      
    if (cfdata->imc_current)
      {
-       if (e_config->input_method) 
evas_stringshare_del(e_config->input_method);
-       e_config->input_method = evas_stringshare_add(cfdata->imc_current);
-       e_intl_input_method_set(e_config->input_method);
+       if (e_config->input_method) 
+         {
+            evas_stringshare_del(e_config->input_method);
+            e_config->input_method = NULL;
+         }
+       
+       
+       if (!cfdata->imc_disable)
+         {
+            e_config->input_method = evas_stringshare_add(cfdata->imc_current);
+            e_intl_input_method_set(e_config->input_method);
+         }
      }
    
    e_config_save_queue();
@@ -191,6 +210,24 @@
    return (strcmp((const char*)d1, (const char*)d2));
 }
 
+static void
+_e_imc_disable_change_cb(void *data, Evas_Object *obj) 
+{
+   E_Config_Dialog_Data *cfdata;
+   
+   cfdata = data;
+
+}
+
+static void
+_e_imc_list_change_cb(void *data, Evas_Object *obj) 
+{
+   E_Config_Dialog_Data *cfdata;
+   
+   cfdata = data;
+   e_widget_check_checked_set(cfdata->gui.imc_basic_disable, 0);
+}
+
 static Evas_Object *
 _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data 
*cfdata)
 {
@@ -199,11 +236,21 @@
    Evas_List *imc_basic_list;
    
    o = e_widget_list_add(evas, 0, 0);
-  
+     
    of = e_widget_frametable_add(evas, _("Input Method Selector"), 1);
-  
+ 
+   /* Disable everything checkbox */
+   ob = e_widget_check_add(evas, _("Use no Input Method"), 
&(cfdata->imc_disable));
+   e_widget_disabled_set(ob, 0);
+   e_widget_on_change_hook_set(ob, _e_imc_disable_change_cb, cfdata);
+   e_widget_check_checked_set(ob, cfdata->imc_disable);
+   e_widget_change(ob);
+   cfdata->gui.imc_basic_disable = ob;
+    e_widget_frametable_object_append(of, ob, 0, 0, 2, 1, 1, 1, 1, 1);
+   
    /* Input method List */ 
    ob = e_widget_ilist_add(evas, 16, 16, &(cfdata->imc_current));
+   e_widget_on_change_hook_set(ob, _e_imc_list_change_cb, cfdata);
    e_widget_min_size_set(ob, 175, 175);
    cfdata->gui.imc_basic_list = ob;
 
@@ -249,8 +296,7 @@
    edje_thaw();
    evas_event_thaw(evas_object_evas_get(ob));
 
-   e_widget_frametable_object_append(of, ob, 0, 0, 2, 6, 1, 1, 1, 1);
-   e_widget_ilist_selected_set(ob, e_widget_ilist_selected_get(ob));
+   e_widget_frametable_object_append(of, ob, 0, 1, 2, 6, 1, 1, 1, 1);
    
    e_widget_framelist_content_align_set(of, 0.0, 0.0);
    



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to