typedef enum _E_Config_Dialog_CFData_Type
{
E_CONFIG_DIALOG_CFDATA_TYPE_BASIC,
- E_CONFIG_DIALOG_CFDATA_TYPE_ADVANCED
+ E_CONFIG_DIALOG_CFDATA_TYPE_ADVANCED,
+ E_CONFIG_DIALOG_CFDATA_TYPE_NORMAL_WINDOW
} E_Config_Dialog_CFData_Type;
typedef struct _E_Config_Dialog E_Config_Dialog;
e_configure_registry_item_add("extensions/modules", 10, _("Modules"), NULL, "enlightenment/modules", e_int_config_modules);
}
-EAPI void
-e_configure_registry_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func) (E_Container *con, const char *params))
+static void
+_e_configure_registry_item_full_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func) (E_Container *con, const char *params), void (*generic_func) (E_Container *con, const char *params))
{
Evas_List *l;
char *cat;
if (icon_file) eci->icon_file = evas_stringshare_add(icon_file);
if (icon) eci->icon = evas_stringshare_add(icon);
eci->func = func;
+ eci->generic_func = generic_func;
for (l = e_configure_registry; l; l = l->next)
{
}
EAPI void
+e_configure_registry_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func) (E_Container *con, const char *params))
+{
+ _e_configure_registry_item_full_add(path, pri, label, icon_file, icon, func, NULL);
+}
+
+EAPI void
+e_configure_registry_generic_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, void (*generic_func) (E_Container *con, const char *params))
+{
+ _e_configure_registry_item_full_add(path, pri, label, icon_file, icon, NULL, generic_func);
+}
+
+EAPI void
e_configure_registry_item_del(const char *path)
{
Evas_List *l;
if (!strcmp(item, eci->item))
{
if (eci->func) eci->func(con, params);
+ else if (eci->generic_func) eci->generic_func(con, params);
goto done;
}
}
const char *icon_file;
const char *icon;
E_Config_Dialog *(*func) (E_Container *con, const char *params);
+ void (*generic_func) (E_Container *con, const char *params);
};
EAPI void e_configure_registry_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, E_Config_Dialog *(*func) (E_Container *con, const char *params));
+EAPI void e_configure_registry_generic_item_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon, void (*generic_func) (E_Container *con, const char *params));
EAPI void e_configure_registry_item_del(const char *path);
EAPI void e_configure_registry_category_add(const char *path, int pri, const char *label, const char *icon_file, const char *icon);
EAPI void e_configure_registry_category_del(const char *path);