Use radios instead of a checkbox.

- Allows displaying both states of the cursor

Grandma said this was less confusing :)


SVN revision: 20989
This commit is contained in:
Christopher Michael 2006-03-04 04:46:08 +00:00
parent d7dcca1b80
commit f63dc1fe5c
1 changed files with 11 additions and 36 deletions

View File

@ -6,7 +6,6 @@ static int _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data
static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); static Evas_Object *_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static int _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata);
static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata);
static void _cursor_check_toggle(void *data, Evas_Object *obj, const char *emission, const char *source);
struct _E_Config_Dialog_Data struct _E_Config_Dialog_Data
{ {
@ -16,13 +15,6 @@ struct _E_Config_Dialog_Data
int cursor_size; int cursor_size;
}; };
typedef struct _E_Widget_Check_Data E_Widget_Check_Data;
struct _E_Widget_Check_Data
{
Evas_Object *o_check;
int *valptr;
};
EAPI E_Config_Dialog * EAPI E_Config_Dialog *
e_int_config_cursor(E_Container *con) e_int_config_cursor(E_Container *con)
{ {
@ -96,17 +88,17 @@ 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)
{ {
Evas_Object *o, *of, *ob; Evas_Object *o, *of, *ob;
E_Widget_Check_Data *wd; E_Radio_Group *rg;
o = e_widget_list_add(evas, 0, 0); o = e_widget_list_add(evas, 0, 0);
of = e_widget_framelist_add(evas, _("Cursor Settings"), 0); of = e_widget_framelist_add(evas, _("Cursor Settings"), 0);
ob = e_widget_check_add(evas, _("Use Enlightenment Cursor"), &(cfdata->use_e_cursor)); rg = e_widget_radio_group_new(&cfdata->use_e_cursor);
wd = e_widget_data_get(ob); ob = e_widget_radio_add(evas, _("Use Enlightenment Cursor"), 1, rg);
edje_object_signal_callback_add(wd->o_check, "toggle_on", "", _cursor_check_toggle, ob);
edje_object_signal_callback_add(wd->o_check, "toggle_off", "", _cursor_check_toggle, ob);
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
ob = e_widget_radio_add(evas, _("Use X Cursor"), 0, rg);
e_widget_framelist_object_append(of, ob);
e_widget_list_object_append(o, of, 1, 1, 0.5); e_widget_list_object_append(o, of, 1, 1, 0.5);
return o; return o;
@ -147,15 +139,15 @@ static Evas_Object *
_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata) _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
{ {
Evas_Object *o, *ob, *of; Evas_Object *o, *ob, *of;
E_Widget_Check_Data *wd; E_Radio_Group *rg;
o = e_widget_list_add(evas, 0, 0); o = e_widget_list_add(evas, 0, 0);
of = e_widget_framelist_add(evas, _("Cursor Settings"), 0); of = e_widget_framelist_add(evas, _("Cursor Settings"), 0);
ob = e_widget_check_add(evas, _("Use Enlightenment Cursor"), &(cfdata->use_e_cursor)); rg = e_widget_radio_group_new(&cfdata->use_e_cursor);
wd = e_widget_data_get(ob); ob = e_widget_radio_add(evas, _("Use Enlightenment Cursor"), 1, rg);
edje_object_signal_callback_add(wd->o_check, "toggle_on", "", _cursor_check_toggle, ob); e_widget_framelist_object_append(of, ob);
edje_object_signal_callback_add(wd->o_check, "toggle_off", "", _cursor_check_toggle, ob); ob = e_widget_radio_add(evas, _("Use X Cursor"), 0, rg);
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
ob = e_widget_label_add(evas, _("Cursor Size")); ob = e_widget_label_add(evas, _("Cursor Size"));
e_widget_framelist_object_append(of, ob); e_widget_framelist_object_append(of, ob);
@ -164,20 +156,3 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
e_widget_list_object_append(o, of, 1, 1, 0.5); e_widget_list_object_append(o, of, 1, 1, 0.5);
return o; return o;
} }
static void
_cursor_check_toggle(void *data, Evas_Object *obj, const char *emission, const char *source)
{
E_Widget_Check_Data *wd;
Evas_Object *o;
if (!(o = data)) return;
wd = e_widget_data_get(o);
if (!wd->valptr)
return;
if (*(wd->valptr) == 0)
edje_object_part_text_set(wd->o_check, "label", _("Use X Cursor"));
else
edje_object_part_text_set(wd->o_check, "label", _("Use Enlightenment Cursor"));
}