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;
|
E_Config_Dialog *cfd;
|
||||||
|
|
||||||
|
|
||||||
cfd = E_OBJECT_ALLOC(E_Config_Dialog, E_CONFIG_DIALOG_TYPE, _e_config_dialog_free);
|
cfd = E_OBJECT_ALLOC(E_Config_Dialog, E_CONFIG_DIALOG_TYPE, _e_config_dialog_free);
|
||||||
cfd->view = view;
|
cfd->view = view;
|
||||||
cfd->con = con;
|
cfd->con = con;
|
||||||
|
@ -35,6 +34,7 @@ e_config_dialog_new(E_Container *con, char *title, char *icon, int icon_size, E_
|
||||||
}
|
}
|
||||||
cfd->data = data;
|
cfd->data = data;
|
||||||
cfd->hide_buttons = 1;
|
cfd->hide_buttons = 1;
|
||||||
|
cfd->cfg_changed = 0;
|
||||||
|
|
||||||
if ((cfd->view->basic.apply_cfdata) || (cfd->view->advanced.apply_cfdata))
|
if ((cfd->view->basic.apply_cfdata) || (cfd->view->advanced.apply_cfdata))
|
||||||
cfd->hide_buttons = 0;
|
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;
|
pdia = cfd->dia;
|
||||||
cfd->dia = e_dialog_new(cfd->con);
|
cfd->dia = e_dialog_new(cfd->con);
|
||||||
cfd->dia->data = cfd;
|
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_object_del_attach_func_set(E_OBJECT(cfd->dia), _e_config_dialog_cb_dialog_del);
|
||||||
e_dialog_title_set(cfd->dia, cfd->title);
|
e_dialog_title_set(cfd->dia, cfd->title);
|
||||||
if (cfd->icon) e_dialog_icon_set(cfd->dia, cfd->icon, cfd->icon_size);
|
if (cfd->icon) e_dialog_icon_set(cfd->dia, cfd->icon, cfd->icon_size);
|
||||||
|
@ -122,9 +121,12 @@ _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, _("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_add(cfd->dia, _("Apply"), NULL, _e_config_dialog_cb_apply, cfd);
|
||||||
|
if (!cfd->cfg_changed)
|
||||||
|
{
|
||||||
e_dialog_button_disable_num_set(cfd->dia, 0, 1);
|
e_dialog_button_disable_num_set(cfd->dia, 0, 1);
|
||||||
e_dialog_button_disable_num_set(cfd->dia, 1, 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. */
|
/* 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);
|
e_dialog_button_add(cfd->dia, _("Close"), NULL, _e_config_dialog_cb_close, cfd);
|
||||||
if (!pdia)
|
if (!pdia)
|
||||||
|
@ -208,6 +210,7 @@ _e_config_dialog_cb_apply(void *data, E_Dialog *dia)
|
||||||
}
|
}
|
||||||
if ((ok) && (!cfd->hide_buttons))
|
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, 0, 1);
|
||||||
e_dialog_button_disable_num_set(cfd->dia, 1, 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;
|
cfd = data;
|
||||||
if (!cfd->hide_buttons)
|
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, 0, 0);
|
||||||
e_dialog_button_disable_num_set(cfd->dia, 1, 0);
|
e_dialog_button_disable_num_set(cfd->dia, 1, 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,7 @@ struct _E_Config_Dialog
|
||||||
int icon_size;
|
int icon_size;
|
||||||
E_Dialog *dia;
|
E_Dialog *dia;
|
||||||
void *data;
|
void *data;
|
||||||
int view_dirty;
|
int cfg_changed;
|
||||||
int hide_buttons;
|
int hide_buttons;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -149,8 +149,6 @@ _basic_create_widgets(E_Config_Dialog *cdd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
/* generate the core widget layout for a basic dialog */
|
/* generate the core widget layout for a basic dialog */
|
||||||
Evas_Object *o, *ob, *of, *ot;
|
Evas_Object *o, *ob, *of, *ot;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Number of Desktops"), 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 */
|
/* generate the core widget layout for an advanced dialog */
|
||||||
Evas_Object *o, *ob, *of, *ot;
|
Evas_Object *o, *ob, *of, *ot;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Number of Desktops"), 0);
|
of = e_widget_framelist_add(evas, _("Number of Desktops"), 0);
|
||||||
|
|
|
@ -150,8 +150,6 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
Evas_Object *o, *ob;
|
Evas_Object *o, *ob;
|
||||||
E_Radio_Group *rg;
|
E_Radio_Group *rg;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
rg = e_widget_radio_group_new(&(cfdata->mode));
|
rg = e_widget_radio_group_new(&(cfdata->mode));
|
||||||
ob = e_widget_radio_add(evas, _("Click Window to Focus"), E_FOCUS_CLICK, rg);
|
ob = e_widget_radio_add(evas, _("Click Window to Focus"), E_FOCUS_CLICK, rg);
|
||||||
|
@ -170,8 +168,6 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
||||||
Evas_Object *o, *ob, *of;
|
Evas_Object *o, *ob, *of;
|
||||||
E_Radio_Group *rg;
|
E_Radio_Group *rg;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Focus"), 0);
|
of = e_widget_framelist_add(evas, _("Focus"), 0);
|
||||||
|
|
|
@ -86,8 +86,6 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
{
|
{
|
||||||
Evas_Object *o, *of, *ob;
|
Evas_Object *o, *of, *ob;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
of = e_widget_framelist_add(evas, _("Menu Settings"), 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));
|
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;
|
e_config->menu_eap_comment_show = cfdata->menu_eap_comment_show;
|
||||||
|
|
||||||
if (cfdata->menus_scroll_speed == 0)
|
if (cfdata->menus_scroll_speed == 0)
|
||||||
{
|
|
||||||
e_config->menus_scroll_speed = 1.0;
|
e_config->menus_scroll_speed = 1.0;
|
||||||
}
|
|
||||||
else
|
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)
|
if (cfdata->menus_fast_mouse_move_threshhold == 0)
|
||||||
{
|
|
||||||
e_config->menus_fast_mouse_move_threshhold = 1.0;
|
e_config->menus_fast_mouse_move_threshhold = 1.0;
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
|
||||||
e_config->menus_fast_mouse_move_threshhold = cfdata->menus_fast_mouse_move_threshhold;
|
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->menus_click_drag_timeout = cfdata->menus_click_drag_timeout;
|
||||||
e_config->menu_autoscroll_margin = cfdata->menu_autoscroll_margin;
|
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;
|
Evas_Object *o, *of, *ob;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
of = e_widget_framelist_add(evas, _("Menu Settings"), 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));
|
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;
|
E_Config_Dialog_Data *cfdata;
|
||||||
|
|
||||||
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
||||||
|
_fill_data(cfdata);
|
||||||
return cfdata;
|
return cfdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -80,8 +81,6 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
{
|
{
|
||||||
Evas_Object *o, *of, *ob;
|
Evas_Object *o, *of, *ob;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("General Settings"), 0);
|
of = e_widget_framelist_add(evas, _("General Settings"), 0);
|
||||||
|
@ -116,8 +115,6 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
||||||
{
|
{
|
||||||
Evas_Object *o, *ob, *of;
|
Evas_Object *o, *ob, *of;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("General Settings"), 0);
|
of = e_widget_framelist_add(evas, _("General Settings"), 0);
|
||||||
|
|
|
@ -39,6 +39,7 @@ _create_data(E_Config_Dialog *cfd)
|
||||||
E_Config_Dialog_Data *cfdata;
|
E_Config_Dialog_Data *cfdata;
|
||||||
|
|
||||||
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
||||||
|
_fill_data(cfdata);
|
||||||
return cfdata;
|
return cfdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,8 +65,6 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
{
|
{
|
||||||
Evas_Object *o, *of, *ob;
|
Evas_Object *o, *of, *ob;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Startup Settings"), 0);
|
of = e_widget_framelist_add(evas, _("Startup Settings"), 0);
|
||||||
|
|
|
@ -137,8 +137,6 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
Evas_Object *o, *of, *ob;
|
Evas_Object *o, *of, *ob;
|
||||||
E_Radio_Group *rg;
|
E_Radio_Group *rg;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Display"), 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;
|
Evas_Object *o, *ob, *of;
|
||||||
E_Radio_Group *rg;
|
E_Radio_Group *rg;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Window Move Geometry"), 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;
|
Evas_Object *o, *of, *ob;
|
||||||
E_Radio_Group *rg;
|
E_Radio_Group *rg;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Miscellaneous Options"), 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;
|
Evas_Object *o, *ob, *of;
|
||||||
E_Radio_Group *rg;
|
E_Radio_Group *rg;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Autoraise"), 0);
|
of = e_widget_framelist_add(evas, _("Autoraise"), 0);
|
||||||
|
|
|
@ -83,6 +83,7 @@ _create_data(E_Config_Dialog *cfd)
|
||||||
E_Config_Dialog_Data *cfdata;
|
E_Config_Dialog_Data *cfdata;
|
||||||
|
|
||||||
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
cfdata = E_NEW(E_Config_Dialog_Data, 1);
|
||||||
|
_fill_data(cfdata);
|
||||||
return cfdata;
|
return cfdata;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -117,8 +118,6 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
{
|
{
|
||||||
Evas_Object *o, *of, *ob;
|
Evas_Object *o, *of, *ob;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("General Settings"), 0);
|
of = e_widget_framelist_add(evas, _("General Settings"), 0);
|
||||||
|
@ -189,8 +188,6 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
||||||
{
|
{
|
||||||
Evas_Object *o, *of, *ob, *ot;
|
Evas_Object *o, *of, *ob, *ot;
|
||||||
|
|
||||||
_fill_data(cfdata);
|
|
||||||
|
|
||||||
o = e_widget_list_add(evas, 0, 0);
|
o = e_widget_list_add(evas, 0, 0);
|
||||||
ot = e_widget_table_add(evas, 0);
|
ot = e_widget_table_add(evas, 0);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue