diff --git a/src/modules/fileman/e_mod_config.c b/src/modules/fileman/e_mod_config.c index 9c64c935b..8d18ad54e 100644 --- a/src/modules/fileman/e_mod_config.c +++ b/src/modules/fileman/e_mod_config.c @@ -68,13 +68,13 @@ static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static int _basic_apply(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata); static Evas_Object *_basic_create(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cfdata); -void -_config_fileman_module(E_Container *con) +EAPI E_Config_Dialog * +e_int_config_fileman(E_Container *con, const char *params __UNUSED__) { E_Config_Dialog *cfd; E_Config_Dialog_View *v; - if (e_config_dialog_find("E", "_config_fileman_dialog")) return; + if (e_config_dialog_find("E", "_config_fileman_dialog")) return NULL; v = E_NEW(E_Config_Dialog_View, 1); v->create_cfdata = _create_data; v->free_cfdata = _free_data; @@ -83,6 +83,7 @@ _config_fileman_module(E_Container *con) cfd = e_config_dialog_new(con, _("Fileman Settings"), "E", "_config_fileman_dialog", "enlightenment/fileman", 0, v, NULL); + return cfd; } static void * @@ -91,6 +92,8 @@ _create_data(E_Config_Dialog *cfd) E_Config_Dialog_Data *cfdata; cfdata = E_NEW(E_Config_Dialog_Data, 1); + cfd->cfdata = cfdata; + cfdata->cfd = cfd; _fill_data(cfdata); return cfdata; } @@ -112,6 +115,7 @@ _fill_data(E_Config_Dialog_Data *cfdata) static void _free_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) { + E_FREE(cfd->data); E_FREE(cfdata); } diff --git a/src/modules/fileman/e_mod_config.h b/src/modules/fileman/e_mod_config.h index 6845993fa..8d2991ad4 100644 --- a/src/modules/fileman/e_mod_config.h +++ b/src/modules/fileman/e_mod_config.h @@ -4,7 +4,7 @@ #ifndef E_MOD_CONFIG_H #define E_MOD_CONFIG_H -void _config_fileman_module(E_Container *con); +EAPI E_Config_Dialog *e_int_config_fileman(E_Container *con, const char *params __UNUSED__); #endif #endif diff --git a/src/modules/fileman/e_mod_main.c b/src/modules/fileman/e_mod_main.c index 111bd03a7..cfa4368b5 100644 --- a/src/modules/fileman/e_mod_main.c +++ b/src/modules/fileman/e_mod_main.c @@ -3,6 +3,7 @@ */ #include "e.h" #include "e_mod_main.h" +#include "e_mod_config.h" /* actual module specifics */ static void _e_mod_action_fileman_cb(E_Object *obj, const char *params); @@ -34,6 +35,13 @@ e_modapi_init(E_Module *m) conf_module = m; + /* Setup Entry in Config Panel */ + e_configure_registry_category_add("fileman", 100, _("File Manager"), + NULL, "enlightenment/fileman"); + e_configure_registry_item_add("fileman/fileman", 10, _("File Manager"), + NULL, "enlightenment/fileman", + e_int_config_fileman); + /* Setup Config edd */ _e_mod_fileman_config_load(); @@ -118,6 +126,9 @@ e_modapi_shutdown(E_Module *m) e_action_del("fileman"); act = NULL; } + /* remove fileman category from config panel */ + e_configure_registry_item_del("fileman/fileman"); + e_configure_registry_category_del("fileman"); E_FREE(fileman_config); E_CONFIG_DD_FREE(conf_edd); @@ -147,7 +158,7 @@ e_modapi_config(E_Module *m) E_Container *con; con = e_container_current_get(e_manager_current_get()); - _config_fileman_module(con); + e_int_config_fileman(con, NULL); return 1; }