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