forked from enlightenment/enlightenment
Add disable button for IMC (only in basic now)
SVN revision: 27804
This commit is contained in:
parent
9b9b321483
commit
7bfb73ca0f
|
@ -14,6 +14,8 @@ static Evas_Object *_advanced_create_widgets (E_Config_Dialog *cfd, Evas *evas,
|
||||||
|
|
||||||
/* Basic Callbacks */
|
/* Basic Callbacks */
|
||||||
static int _basic_list_sort_cb (void *d1, void *d2);
|
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 */
|
/* Advanced Callbacks */
|
||||||
static void _cb_dir (void *data, Evas_Object *obj);
|
static void _cb_dir (void *data, Evas_Object *obj);
|
||||||
|
@ -48,6 +50,7 @@ struct _E_Config_Dialog_Data
|
||||||
|
|
||||||
char *imc_current;
|
char *imc_current;
|
||||||
|
|
||||||
|
int imc_disable; /* 0=enable, 1=disable */
|
||||||
int fmdir; /* 0=Local, 1=System*/
|
int fmdir; /* 0=Local, 1=System*/
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
@ -67,6 +70,7 @@ struct _E_Config_Dialog_Data
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
Evas_Object *imc_basic_list;
|
Evas_Object *imc_basic_list;
|
||||||
|
Evas_Object *imc_basic_disable;
|
||||||
|
|
||||||
Evas_Object *e_im_name;
|
Evas_Object *e_im_name;
|
||||||
Evas_Object *e_im_exec;
|
Evas_Object *e_im_exec;
|
||||||
|
@ -117,6 +121,12 @@ _fill_data(E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
cfdata->fmdir = 1;
|
cfdata->fmdir = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cfdata->imc_disable = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
cfdata->imc_disable = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -172,9 +182,18 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
if (cfdata->imc_current)
|
if (cfdata->imc_current)
|
||||||
{
|
{
|
||||||
if (e_config->input_method) evas_stringshare_del(e_config->input_method);
|
if (e_config->input_method)
|
||||||
e_config->input_method = evas_stringshare_add(cfdata->imc_current);
|
{
|
||||||
e_intl_input_method_set(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();
|
e_config_save_queue();
|
||||||
|
@ -191,6 +210,24 @@ _basic_list_sort_cb(void *d1, void *d2)
|
||||||
return (strcmp((const char*)d1, (const char*)d2));
|
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 *
|
static Evas_Object *
|
||||||
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||||
{
|
{
|
||||||
|
@ -202,8 +239,18 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
|
|
||||||
of = e_widget_frametable_add(evas, _("Input Method Selector"), 1);
|
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 */
|
/* Input method List */
|
||||||
ob = e_widget_ilist_add(evas, 16, 16, &(cfdata->imc_current));
|
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);
|
e_widget_min_size_set(ob, 175, 175);
|
||||||
cfdata->gui.imc_basic_list = ob;
|
cfdata->gui.imc_basic_list = ob;
|
||||||
|
|
||||||
|
@ -249,8 +296,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
edje_thaw();
|
edje_thaw();
|
||||||
evas_event_thaw(evas_object_evas_get(ob));
|
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_frametable_object_append(of, ob, 0, 1, 2, 6, 1, 1, 1, 1);
|
||||||
e_widget_ilist_selected_set(ob, e_widget_ilist_selected_get(ob));
|
|
||||||
|
|
||||||
e_widget_framelist_content_align_set(of, 0.0, 0.0);
|
e_widget_framelist_content_align_set(of, 0.0, 0.0);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue