forked from enlightenment/enlightenment
Fix bug where changing a config value then selecting a different page (Basic/Advanced) would reset the value to it's original state. Fix config dialogs to work correctly for this. Going for the modules config dialogs next.
SVN revision: 20435
This commit is contained in:
parent
388cbda6b1
commit
52a5ccaac5
|
@ -23,7 +23,6 @@ e_config_dialog_new(E_Container *con, char *title, char *icon, int icon_size, E_
|
|||
{
|
||||
E_Config_Dialog *cfd;
|
||||
|
||||
|
||||
cfd = E_OBJECT_ALLOC(E_Config_Dialog, E_CONFIG_DIALOG_TYPE, _e_config_dialog_free);
|
||||
cfd->view = view;
|
||||
cfd->con = con;
|
||||
|
@ -35,7 +34,8 @@ e_config_dialog_new(E_Container *con, char *title, char *icon, int icon_size, E_
|
|||
}
|
||||
cfd->data = data;
|
||||
cfd->hide_buttons = 1;
|
||||
|
||||
cfd->cfg_changed = 0;
|
||||
|
||||
if ((cfd->view->basic.apply_cfdata) || (cfd->view->advanced.apply_cfdata))
|
||||
cfd->hide_buttons = 0;
|
||||
|
||||
|
@ -76,7 +76,6 @@ _e_config_dialog_go(E_Config_Dialog *cfd, E_Config_Dialog_CFData_Type type)
|
|||
pdia = cfd->dia;
|
||||
cfd->dia = e_dialog_new(cfd->con);
|
||||
cfd->dia->data = cfd;
|
||||
cfd->view_dirty=0;
|
||||
e_object_del_attach_func_set(E_OBJECT(cfd->dia), _e_config_dialog_cb_dialog_del);
|
||||
e_dialog_title_set(cfd->dia, cfd->title);
|
||||
if (cfd->icon) e_dialog_icon_set(cfd->dia, cfd->icon, cfd->icon_size);
|
||||
|
@ -122,8 +121,11 @@ _e_config_dialog_go(E_Config_Dialog *cfd, E_Config_Dialog_CFData_Type type)
|
|||
{
|
||||
e_dialog_button_add(cfd->dia, _("OK"), NULL, _e_config_dialog_cb_ok, cfd);
|
||||
e_dialog_button_add(cfd->dia, _("Apply"), NULL, _e_config_dialog_cb_apply, cfd);
|
||||
e_dialog_button_disable_num_set(cfd->dia, 0, 1);
|
||||
e_dialog_button_disable_num_set(cfd->dia, 1, 1);
|
||||
if (!cfd->cfg_changed)
|
||||
{
|
||||
e_dialog_button_disable_num_set(cfd->dia, 0, 1);
|
||||
e_dialog_button_disable_num_set(cfd->dia, 1, 1);
|
||||
}
|
||||
}
|
||||
/* FIXME: This wont catch the window border close button, but that is probably not cancelable. */
|
||||
e_dialog_button_add(cfd->dia, _("Close"), NULL, _e_config_dialog_cb_close, cfd);
|
||||
|
@ -208,6 +210,7 @@ _e_config_dialog_cb_apply(void *data, E_Dialog *dia)
|
|||
}
|
||||
if ((ok) && (!cfd->hide_buttons))
|
||||
{
|
||||
cfd->cfg_changed = 0;
|
||||
e_dialog_button_disable_num_set(cfd->dia, 0, 1);
|
||||
e_dialog_button_disable_num_set(cfd->dia, 1, 1);
|
||||
}
|
||||
|
@ -239,6 +242,7 @@ _e_config_dialog_cb_changed(void *data, Evas_Object *obj)
|
|||
cfd = data;
|
||||
if (!cfd->hide_buttons)
|
||||
{
|
||||
cfd->cfg_changed = 1;
|
||||
e_dialog_button_disable_num_set(cfd->dia, 0, 0);
|
||||
e_dialog_button_disable_num_set(cfd->dia, 1, 0);
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@ struct _E_Config_Dialog
|
|||
int icon_size;
|
||||
E_Dialog *dia;
|
||||
void *data;
|
||||
int view_dirty;
|
||||
int cfg_changed;
|
||||
int hide_buttons;
|
||||
};
|
||||
|
||||
|
|
|
@ -148,9 +148,7 @@ _basic_create_widgets(E_Config_Dialog *cdd, Evas *evas, E_Config_Dialog_Data *cf
|
|||
{
|
||||
/* generate the core widget layout for a basic dialog */
|
||||
Evas_Object *o, *ob, *of, *ot;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("Number of Desktops"), 0);
|
||||
|
@ -177,8 +175,6 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
|||
/* generate the core widget layout for an advanced dialog */
|
||||
Evas_Object *o, *ob, *of, *ot;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("Number of Desktops"), 0);
|
||||
|
|
|
@ -149,9 +149,7 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
|||
/* generate the core widget layout for a basic dialog */
|
||||
Evas_Object *o, *ob;
|
||||
E_Radio_Group *rg;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
rg = e_widget_radio_group_new(&(cfdata->mode));
|
||||
ob = e_widget_radio_add(evas, _("Click Window to Focus"), E_FOCUS_CLICK, rg);
|
||||
|
@ -169,9 +167,7 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
|||
/* generate the core widget layout for an advanced dialog */
|
||||
Evas_Object *o, *ob, *of;
|
||||
E_Radio_Group *rg;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("Focus"), 0);
|
||||
|
|
|
@ -85,9 +85,7 @@ static Evas_Object *
|
|||
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
Evas_Object *o, *of, *ob;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
of = e_widget_framelist_add(evas, _("Menu Settings"), 0);
|
||||
ob = e_widget_check_add(evas, _("Show Name In Menu"), &(cfdata->menu_eap_name_show));
|
||||
|
@ -109,22 +107,14 @@ _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
|||
e_config->menu_eap_comment_show = cfdata->menu_eap_comment_show;
|
||||
|
||||
if (cfdata->menus_scroll_speed == 0)
|
||||
{
|
||||
e_config->menus_scroll_speed = 1.0;
|
||||
}
|
||||
e_config->menus_scroll_speed = 1.0;
|
||||
else
|
||||
{
|
||||
e_config->menus_scroll_speed = cfdata->menus_scroll_speed;
|
||||
}
|
||||
e_config->menus_scroll_speed = cfdata->menus_scroll_speed;
|
||||
|
||||
if (cfdata->menus_fast_mouse_move_threshhold == 0)
|
||||
{
|
||||
e_config->menus_fast_mouse_move_threshhold = 1.0;
|
||||
}
|
||||
else
|
||||
{
|
||||
e_config->menus_fast_mouse_move_threshhold = cfdata->menus_fast_mouse_move_threshhold;
|
||||
}
|
||||
e_config->menus_fast_mouse_move_threshhold = 1.0;
|
||||
else
|
||||
e_config->menus_fast_mouse_move_threshhold = cfdata->menus_fast_mouse_move_threshhold;
|
||||
|
||||
e_config->menus_click_drag_timeout = cfdata->menus_click_drag_timeout;
|
||||
e_config->menu_autoscroll_margin = cfdata->menu_autoscroll_margin;
|
||||
|
@ -139,8 +129,6 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
|||
{
|
||||
Evas_Object *o, *of, *ob;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
of = e_widget_framelist_add(evas, _("Menu Settings"), 0);
|
||||
ob = e_widget_check_add(evas, _("Show Name In Menu"), &(cfdata->menu_eap_name_show));
|
||||
|
|
|
@ -55,6 +55,7 @@ _create_data(E_Config_Dialog *cfd)
|
|||
E_Config_Dialog_Data *cfdata;
|
||||
|
||||
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
||||
_fill_data(cfdata);
|
||||
return cfdata;
|
||||
}
|
||||
|
||||
|
@ -79,8 +80,6 @@ static Evas_Object *
|
|||
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
Evas_Object *o, *of, *ob;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
|
@ -115,8 +114,6 @@ static Evas_Object *
|
|||
_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
Evas_Object *o, *ob, *of;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
|
|
|
@ -39,6 +39,7 @@ _create_data(E_Config_Dialog *cfd)
|
|||
E_Config_Dialog_Data *cfdata;
|
||||
|
||||
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
||||
_fill_data(cfdata);
|
||||
return cfdata;
|
||||
}
|
||||
|
||||
|
@ -63,8 +64,6 @@ static Evas_Object *
|
|||
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
Evas_Object *o, *of, *ob;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
|
|
|
@ -137,8 +137,6 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
|||
Evas_Object *o, *of, *ob;
|
||||
E_Radio_Group *rg;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("Display"), 0);
|
||||
|
@ -170,8 +168,6 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
|||
Evas_Object *o, *ob, *of;
|
||||
E_Radio_Group *rg;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("Window Move Geometry"), 0);
|
||||
|
|
|
@ -126,8 +126,6 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
|||
Evas_Object *o, *of, *ob;
|
||||
E_Radio_Group *rg;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("Miscellaneous Options"), 0);
|
||||
|
@ -159,8 +157,6 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
|||
Evas_Object *o, *ob, *of;
|
||||
E_Radio_Group *rg;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
of = e_widget_framelist_add(evas, _("Autoraise"), 0);
|
||||
|
|
|
@ -83,6 +83,7 @@ _create_data(E_Config_Dialog *cfd)
|
|||
E_Config_Dialog_Data *cfdata;
|
||||
|
||||
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
||||
_fill_data(cfdata);
|
||||
return cfdata;
|
||||
}
|
||||
|
||||
|
@ -116,8 +117,6 @@ static Evas_Object *
|
|||
_basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
Evas_Object *o, *of, *ob;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
|
||||
|
@ -188,8 +187,6 @@ static Evas_Object *
|
|||
_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata)
|
||||
{
|
||||
Evas_Object *o, *of, *ob, *ot;
|
||||
|
||||
_fill_data(cfdata);
|
||||
|
||||
o = e_widget_list_add(evas, 0, 0);
|
||||
ot = e_widget_table_add(evas, 0);
|
||||
|
|
Loading…
Reference in New Issue