allwo dialog icon to be set too in conf dialogs

SVN revision: 17555
This commit is contained in:
Carsten Haitzler 2005-10-15 03:09:46 +00:00
parent 3f50b7b58e
commit 560179af61
3 changed files with 13 additions and 4 deletions

View File

@ -17,7 +17,7 @@ static void _e_config_dialog_cb_basic(void *data, void *data2);
/* externally accessible functions */ /* externally accessible functions */
E_Config_Dialog * E_Config_Dialog *
e_config_dialog_new(E_Container *con, char *title, E_Config_Dialog_View *view, void *data) e_config_dialog_new(E_Container *con, char *title, char *icon, int icon_size, E_Config_Dialog_View *view, void *data)
{ {
E_Config_Dialog *cfd; E_Config_Dialog *cfd;
@ -25,6 +25,11 @@ e_config_dialog_new(E_Container *con, char *title, E_Config_Dialog_View *view, v
cfd->view = *view; cfd->view = *view;
cfd->con = con; cfd->con = con;
cfd->title = strdup(title); cfd->title = strdup(title);
if (icon)
{
cfd->icon = strdup(icon);
cfd->icon_size = icon_size;
}
cfd->data = data; cfd->data = data;
_e_config_dialog_go(cfd, E_CONFIG_DIALOG_CFDATA_TYPE_BASIC); _e_config_dialog_go(cfd, E_CONFIG_DIALOG_CFDATA_TYPE_BASIC);
@ -38,6 +43,7 @@ static void
_e_config_dialog_free(E_Config_Dialog *cfd) _e_config_dialog_free(E_Config_Dialog *cfd)
{ {
E_FREE(cfd->title); E_FREE(cfd->title);
E_FREE(cfd->icon);
if (cfd->cfdata) if (cfd->cfdata)
{ {
cfd->view.free_cfdata(cfd, cfd->cfdata); cfd->view.free_cfdata(cfd, cfd->cfdata);
@ -64,7 +70,8 @@ _e_config_dialog_go(E_Config_Dialog *cfd, E_Config_Dialog_CFData_Type type)
cfd->dia->data = cfd; cfd->dia->data = cfd;
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->cfdata) cfd->cfdata = cfd->view.create_cfdata(cfd); if (!cfd->cfdata) cfd->cfdata = cfd->view.create_cfdata(cfd);
if (type == E_CONFIG_DIALOG_CFDATA_TYPE_BASIC) if (type == E_CONFIG_DIALOG_CFDATA_TYPE_BASIC)

View File

@ -37,11 +37,13 @@ struct _E_Config_Dialog
void *cfdata; void *cfdata;
E_Container *con; E_Container *con;
char *title; char *title;
char *icon;
int icon_size;
E_Dialog *dia; E_Dialog *dia;
void *data; void *data;
}; };
EAPI E_Config_Dialog *e_config_dialog_new(E_Container *con, char *title, E_Config_Dialog_View *view, void *data); EAPI E_Config_Dialog *e_config_dialog_new(E_Container *con, char *title, char *icon, int icon_size, E_Config_Dialog_View *view, void *data);
#endif #endif
#endif #endif

View File

@ -41,7 +41,7 @@ e_int_config_focus(E_Container *con)
v.advanced.apply_cfdata = _advanced_apply_data; v.advanced.apply_cfdata = _advanced_apply_data;
v.advanced.create_widgets = _advanced_create_widgets; v.advanced.create_widgets = _advanced_create_widgets;
/* create config diaolg for NULL object/data */ /* create config diaolg for NULL object/data */
cfd = e_config_dialog_new(con, _("Focus Settings"), &v, NULL); cfd = e_config_dialog_new(con, _("Focus Settings"), NULL, 0, &v, NULL);
} }
/**--CREATE--**/ /**--CREATE--**/