diff --git a/src/modules/everything-aspell/e_mod_main.c b/src/modules/everything-aspell/e_mod_main.c index 5ec4e6200..bd27b041a 100644 --- a/src/modules/everything-aspell/e_mod_main.c +++ b/src/modules/everything-aspell/e_mod_main.c @@ -2,8 +2,9 @@ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ -#include "Evry.h" +#include "e.h" #include "e_mod_main.h" +#include "evry_api.h" #include static const char TRIGGER[] = "s "; @@ -12,6 +13,9 @@ static const char LANG_MODIFIER[] = "lang="; typedef struct _Plugin Plugin; typedef struct _Module_Config Module_Config; +static const Evry_API *evry = NULL; +static Evry_Module *evry_module = NULL; +static Eina_Bool active = EINA_FALSE; static Module_Config *_conf; static char _config_path[] = "extensions/everthing-aspell"; static char _config_domain[] = "module.everyhing-aspell"; @@ -235,10 +239,10 @@ _cb_data(void *data, int type __UNUSED__, void *event) word = _space_skip(word_end + 1); } - if (EVRY_PLUGIN(p)->items) - { - evry_list_win_show(); - } + /* if (EVRY_PLUGIN(p)->items) + * { + * evry_list_win_show(); + * } */ if (p->base.items) EVRY_PLUGIN_UPDATE(p, EVRY_UPDATE_ADD); @@ -385,12 +389,17 @@ _cleanup(Evry_Plugin *plugin) } } -static Eina_Bool -_plugins_init(void) +static int +_plugins_init(const Evry_API *_api) { Evry_Plugin *p; - if (!evry_api_version_check(EVRY_API_VERSION)) + if (active) + return EINA_TRUE; + + evry = _api; + + if (!evry->api_version_check(EVRY_API_VERSION)) return EINA_FALSE; p = EVRY_PLUGIN_NEW(Plugin, N_("Spell Checker"), @@ -400,8 +409,8 @@ _plugins_init(void) p->config_path = _config_path; p->history = EINA_FALSE; p->async_fetch = EINA_TRUE; - - if (evry_plugin_register(p, EVRY_PLUGIN_SUBJECT, 100)) + + if (evry->plugin_register(p, EVRY_PLUGIN_SUBJECT, 100)) { Plugin_Config *pc = p->config; pc->view_mode = VIEW_MODE_LIST; @@ -411,16 +420,22 @@ _plugins_init(void) pc->trigger_only = EINA_TRUE; pc->min_query = 2; } - + _plug = (Plugin *) p; + active = EINA_TRUE; + return EINA_TRUE; } static void _plugins_shutdown(void) { + if (!active) return; + EVRY_PLUGIN_FREE(_plug); + + active = EINA_FALSE; } /***************************************************************************/ @@ -607,8 +622,9 @@ _conf_init(E_Module *m) _conf = e_config_domain_load(_config_domain, _conf_edd); - if (_conf && !evry_util_module_config_check(_("Everything Aspell"), _conf->version, - MOD_CONFIG_FILE_EPOCH, MOD_CONFIG_FILE_VERSION)) + if (_conf && !e_util_module_config_check + (_("Everything Aspell"), _conf->version, + MOD_CONFIG_FILE_EPOCH, MOD_CONFIG_FILE_VERSION)) _conf_free(); if (!_conf) _conf_new(); @@ -626,8 +642,6 @@ _conf_shutdown(void) /***************************************************************************/ -static Eina_Bool active = EINA_FALSE; - EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, @@ -637,11 +651,21 @@ EAPI E_Module_Api e_modapi = EAPI void * e_modapi_init(E_Module *m) { - if (e_datastore_get("everything_loaded")) - active = _plugins_init(); + Eina_List *l; _conf_init(m); + if ((evry = e_datastore_get("everything_loaded"))) + _plugins_init(evry); + + evry_module = E_NEW(Evry_Module, 1); + evry_module->init = &_plugins_init; + evry_module->shutdown = &_plugins_shutdown; + + l = e_datastore_get("everything_modules"); + l = eina_list_append(l, evry_module); + e_datastore_set("everything_modules", l); + e_module_delayed_set(m, 1); return m; @@ -650,11 +674,19 @@ e_modapi_init(E_Module *m) EAPI int e_modapi_shutdown(E_Module *m) { - if (active && e_datastore_get("everything_loaded")) - _plugins_shutdown(); + Eina_List *l; _conf_shutdown(); + if (e_datastore_get("everything_loaded")) + _plugins_shutdown(); + + l = e_datastore_get("everything_modules"); + l = eina_list_remove(l, evry_module); + e_datastore_set("everything_modules", l); + + E_FREE(evry_module); + return 1; } diff --git a/src/modules/everything-aspell/e_mod_main.h b/src/modules/everything-aspell/e_mod_main.h index 33ac9b219..f659683f5 100644 --- a/src/modules/everything-aspell/e_mod_main.h +++ b/src/modules/everything-aspell/e_mod_main.h @@ -4,7 +4,7 @@ #ifndef E_MOD_MAIN_H #define E_MOD_MAIN_H -#define MOD_CONFIG_FILE_EPOCH 0x0002 +#define MOD_CONFIG_FILE_EPOCH 0x0003 #define MOD_CONFIG_FILE_GENERATION 0x008d #define MOD_CONFIG_FILE_VERSION \ ((MOD_CONFIG_FILE_EPOCH << 16) | MOD_CONFIG_FILE_GENERATION) diff --git a/src/modules/everything-calc/e_mod_main.c b/src/modules/everything-calc/e_mod_main.c index 0a0e7485a..d95cce6b4 100644 --- a/src/modules/everything-calc/e_mod_main.c +++ b/src/modules/everything-calc/e_mod_main.c @@ -2,24 +2,27 @@ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ -#include "Evry.h" +#include "e.h" #include "e_mod_main.h" +#include "evry_api.h" // TODO - show error when input not parseable static int _cb_data(void *data, int type, void *event); static int _cb_error(void *data, int type, void *event); static int _cb_del(void *data, int type, void *event); +static const Evry_API *evry = NULL; +static Evry_Module *evry_module = NULL; +static Eina_Bool active = EINA_FALSE; static Evry_Plugin *p1; + static Ecore_Exe *exe = NULL; static Eina_List *history = NULL; static Eina_List *handlers = NULL; - static int error = 0; static char _module_icon[] = "accessories-calculator"; - static Evry_Plugin * _begin(Evry_Plugin *p, const Evry_Item *item __UNUSED__) { @@ -78,7 +81,7 @@ _cleanup(Evry_Plugin *p) if (p->items) { - evry_item_free(p->items->data); + evry->item_free(p->items->data); p->items = eina_list_remove_list(p->items, p->items); } @@ -87,7 +90,7 @@ _cleanup(Evry_Plugin *p) if (items-- > 0) history = eina_list_prepend(history, eina_stringshare_add(it->label)); - evry_item_free(it); + evry->item_free(it); } EINA_LIST_FREE(handlers, h) @@ -165,16 +168,6 @@ _fetch(Evry_Plugin *p, const char *input) return 1; } - -static void -_cb_free_item_changed(void *data, void *event) -{ - Evry_Event_Item_Changed *ev = event; - - evry_item_free(ev->item); - E_FREE(ev); -} - static int _cb_data(void *data, int type __UNUSED__, void *event) { @@ -190,13 +183,7 @@ _cb_data(void *data, int type __UNUSED__, void *event) eina_stringshare_del(it->label); it->label = eina_stringshare_add(ev->lines->line); - if (it) - { - Evry_Event_Item_Changed *ev = E_NEW(Evry_Event_Item_Changed, 1); - ev->item = it; - evry_item_ref(it); - ecore_event_add(EVRY_EVENT_ITEM_CHANGED, ev, _cb_free_item_changed, NULL); - } + if (it) evry->event_item_changed(it, 0, 0); } return 1; @@ -227,12 +214,19 @@ _cb_del(void *data __UNUSED__, int type __UNUSED__, void *event) return 1; } -static Eina_Bool -_plugins_init(void) -{ - if (!evry_api_version_check(EVRY_API_VERSION)) +static int +_plugins_init(const Evry_API *_api) +{ + if (active) + return EINA_TRUE; + + evry = _api; + + if (!evry->api_version_check(EVRY_API_VERSION)) return EINA_FALSE; + EVRY_TYPE_TEXT = evry->type_register("TEXT"); + p1 = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Calculator"), _module_icon, EVRY_TYPE_TEXT, @@ -241,7 +235,7 @@ _plugins_init(void) p1->history = EINA_FALSE; p1->async_fetch = EINA_TRUE; - if (evry_plugin_register(p1, EVRY_PLUGIN_SUBJECT, 0)) + if (evry->plugin_register(p1, EVRY_PLUGIN_SUBJECT, 0)) { Plugin_Config *pc = p1->config; pc->view_mode = VIEW_MODE_LIST; @@ -249,26 +243,23 @@ _plugins_init(void) pc->trigger = eina_stringshare_add("="); } + active = EINA_TRUE; + return EINA_TRUE; } static void _plugins_shutdown(void) { + if (!active) return; + EVRY_PLUGIN_FREE(p1); + + active = EINA_FALSE; } - /***************************************************************************/ -/**/ -/* actual module specifics */ -static E_Module *module = NULL; -static Eina_Bool active = EINA_FALSE; - -/***************************************************************************/ -/**/ -/* module setup */ EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, @@ -278,29 +269,38 @@ EAPI E_Module_Api e_modapi = EAPI void * e_modapi_init(E_Module *m) { - module = m; + Eina_List *l; - if (e_datastore_get("everything_loaded")) - active = _plugins_init(); + if ((evry = e_datastore_get("everything_loaded"))) + _plugins_init(evry); + + evry_module = E_NEW(Evry_Module, 1); + evry_module->init = &_plugins_init; + evry_module->shutdown = &_plugins_shutdown; + + l = e_datastore_get("everything_modules"); + l = eina_list_append(l, evry_module); + e_datastore_set("everything_modules", l); e_module_delayed_set(m, 1); - + return m; } EAPI int e_modapi_shutdown(E_Module *m) { - char *result; - - if (active && e_datastore_get("everything_loaded")) + Eina_List *l; + + if (e_datastore_get("everything_loaded")) _plugins_shutdown(); - EINA_LIST_FREE(history, result) - eina_stringshare_del(result); - - module = NULL; + l = e_datastore_get("everything_modules"); + l = eina_list_remove(l, evry_module); + e_datastore_set("everything_modules", l); + E_FREE(evry_module); + return 1; } @@ -310,5 +310,4 @@ e_modapi_save(E_Module *m) return 1; } -/**/ /***************************************************************************/ diff --git a/src/modules/everything-wallpaper/e_mod_main.c b/src/modules/everything-wallpaper/e_mod_main.c index b2ad5712b..129433a3c 100644 --- a/src/modules/everything-wallpaper/e_mod_main.c +++ b/src/modules/everything-wallpaper/e_mod_main.c @@ -2,8 +2,9 @@ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ -#include "Evry.h" +#include "e.h" #include "e_mod_main.h" +#include "evry_api.h" #define IMPORT_STRETCH 0 #define IMPORT_TILE 1 @@ -26,13 +27,15 @@ struct _Import char *fdest; }; - static void _import_edj_gen(Import *import); static int _import_cb_edje_cc_exit(void *data, int type, void *event); + +static const Evry_API *evry = NULL; +static Evry_Module *evry_module = NULL; +static Eina_Bool active = EINA_FALSE; + static Import *import = NULL; - static Evry_Action *_act; - static char _module_icon[] = "preferences-desktop-wallpaper"; static int @@ -43,7 +46,7 @@ _action(Evry_Action *act) GET_FILE(file, act->it1.item); - if (!(evry_file_path_get(file))) + if (!(evry->file_path_get(file))) return 0; if (import) @@ -99,11 +102,19 @@ _fetch(Evry_Action *act) return it->items; } -/* XXX free it->items list! */ -static Eina_Bool -_plugins_init(void) + + +static int +_plugins_init(const Evry_API *_api) { - if (!evry_api_version_check(EVRY_API_VERSION)) + Evry_Plugin *p; + + if (active) + return EINA_TRUE; + + evry = _api; + + if (!evry->api_version_check(EVRY_API_VERSION)) return EINA_FALSE; _act = EVRY_ACTION_NEW(_("Set as Wallpaper"), @@ -114,15 +125,21 @@ _plugins_init(void) _act->remember_context = EINA_TRUE; EVRY_ITEM(_act)->browseable = EINA_TRUE; - evry_action_register(_act, 2); + evry->action_register(_act, 2); + active = EINA_TRUE; + return EINA_TRUE; } static void _plugins_shutdown(void) { - evry_action_free(_act); + if (!active) return; + + evry->action_free(_act); + + active = EINA_FALSE; } /* taken from e_int_config_wallpaper_import.c */ @@ -347,9 +364,6 @@ _import_cb_edje_cc_exit(void *data, int type, void *event) /***************************************************************************/ -static E_Module *module = NULL; -static Eina_Bool active = EINA_FALSE; - EAPI E_Module_Api e_modapi = { E_MODULE_API_VERSION, @@ -359,10 +373,18 @@ EAPI E_Module_Api e_modapi = EAPI void * e_modapi_init(E_Module *m) { - module = m; + Eina_List *l; - if (e_datastore_get("everything_loaded")) - active = _plugins_init(); + if ((evry = e_datastore_get("everything_loaded"))) + _plugins_init(evry); + + evry_module = E_NEW(Evry_Module, 1); + evry_module->init = &_plugins_init; + evry_module->shutdown = &_plugins_shutdown; + + l = e_datastore_get("everything_modules"); + l = eina_list_append(l, evry_module); + e_datastore_set("everything_modules", l); e_module_delayed_set(m, 1); @@ -372,17 +394,16 @@ e_modapi_init(E_Module *m) EAPI int e_modapi_shutdown(E_Module *m) { - if (active && e_datastore_get("everything_loaded")) + Eina_List *l; + + if (e_datastore_get("everything_loaded")) _plugins_shutdown(); - if (import) - { - if (import->exe_handler) - ecore_event_handler_del(import->exe_handler); - E_FREE(import); - } + l = e_datastore_get("everything_modules"); + l = eina_list_remove(l, evry_module); + e_datastore_set("everything_modules", l); - module = NULL; + E_FREE(evry_module); return 1; } diff --git a/src/modules/everything-windows/e_mod_main.c b/src/modules/everything-windows/e_mod_main.c index e660fee31..0aa28c69d 100644 --- a/src/modules/everything-windows/e_mod_main.c +++ b/src/modules/everything-windows/e_mod_main.c @@ -2,8 +2,9 @@ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2 */ -#include "Evry.h" +#include "e.h" #include "e_mod_main.h" +#include "evry_api.h" #define BORDER_SHOW 1 #define BORDER_HIDE 2 @@ -11,6 +12,10 @@ #define BORDER_TODESK 4 #define BORDER_CLOSE 5 +static const Evry_API *evry = NULL; +static Evry_Module *evry_module = NULL; +static Eina_Bool active = EINA_FALSE; + static Evry_Plugin *p1; static Eina_List *handlers = NULL; static Eina_Hash *border_hash = NULL; @@ -40,7 +45,7 @@ _cb_border_remove(void *data, int type, void *event) static void _hash_free(void *data) { Evry_Item *it = data; - evry_item_free(it); + evry->item_free(it); } static Evry_Plugin * @@ -215,18 +220,18 @@ _fetch(Evry_Plugin *p, const char *input) _item_add(p, bd, 0, &prio); else { - m1 = evry_fuzzy_match(e_border_name_get(bd), input); + m1 = evry->fuzzy_match(e_border_name_get(bd), input); if (bd->client.icccm.name) { - m2 = evry_fuzzy_match(bd->client.icccm.name, input); + m2 = evry->fuzzy_match(bd->client.icccm.name, input); if (!m1 || (m2 && m2 < m1)) m1 = m2; } if (bd->desktop) { - m2 = evry_fuzzy_match(bd->desktop->name, input); + m2 = evry->fuzzy_match(bd->desktop->name, input); if (!m1 || (m2 && m2 < m1)) m1 = m2; } @@ -341,27 +346,32 @@ _act_border(Evry_Action *act) return 1; } - -static Eina_Bool -_plugins_init(void) +static int +_plugins_init(const Evry_API *_api) { + Evry_Plugin *p; Evry_Action *act; + + if (active) + return EINA_TRUE; - if (!evry_api_version_check(EVRY_API_VERSION)) + evry = _api; + + if (!evry->api_version_check(EVRY_API_VERSION)) return EINA_FALSE; p1 = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Windows"), NULL, EVRY_TYPE_BORDER, _begin, _cleanup, _fetch, NULL); p1->transient = EINA_TRUE; - evry_plugin_register(p1, EVRY_PLUGIN_SUBJECT, 2); + evry->plugin_register(p1, EVRY_PLUGIN_SUBJECT, 2); act = EVRY_ACTION_NEW(_("Switch to Window"), EVRY_TYPE_BORDER, 0, "go-next", _act_border, _check_border); EVRY_ITEM_DATA_INT_SET(act, BORDER_SHOW); - evry_action_register(act, 1); + evry->action_register(act, 1); _actions = eina_list_append(_actions, act); @@ -370,29 +380,31 @@ _plugins_init(void) _act_border, _check_border); EVRY_ITEM_DATA_INT_SET(act, BORDER_HIDE); _actions = eina_list_append(_actions, act); - evry_action_register(act, 2); + evry->action_register(act, 2); act = EVRY_ACTION_NEW(_("Toggle Fullscreen"), EVRY_TYPE_BORDER, 0, "view-fullscreen", _act_border, _check_border); EVRY_ITEM_DATA_INT_SET(act, BORDER_FULLSCREEN); _actions = eina_list_append(_actions, act); - evry_action_register(act, 4); + evry->action_register(act, 4); act = EVRY_ACTION_NEW(_("Close"), EVRY_TYPE_BORDER, 0, "view-fullscreen", _act_border, _check_border); EVRY_ITEM_DATA_INT_SET(act, BORDER_CLOSE); _actions = eina_list_append(_actions, act); - evry_action_register(act, 3); + evry->action_register(act, 3); act = EVRY_ACTION_NEW(_("Send to Desktop"), EVRY_TYPE_BORDER, 0, "go-previous", _act_border, _check_border); EVRY_ITEM_DATA_INT_SET(act, BORDER_TODESK); _actions = eina_list_append(_actions, act); - evry_action_register(act, 3); + evry->action_register(act, 3); + active = EINA_TRUE; + return EINA_TRUE; } @@ -401,16 +413,18 @@ _plugins_shutdown(void) { Evry_Action *act; + if (!active) return; + EVRY_PLUGIN_FREE(p1); EINA_LIST_FREE(_actions, act) - evry_action_free(act); + evry->action_free(act); + + active = EINA_FALSE; } /***************************************************************************/ -static E_Module *module = NULL; -static Eina_Bool active = EINA_FALSE; EAPI E_Module_Api e_modapi = { @@ -421,10 +435,18 @@ EAPI E_Module_Api e_modapi = EAPI void * e_modapi_init(E_Module *m) { - module = m; + Eina_List *l; - if (e_datastore_get("everything_loaded")) - active = _plugins_init(); + if ((evry = e_datastore_get("everything_loaded"))) + _plugins_init(evry); + + evry_module = E_NEW(Evry_Module, 1); + evry_module->init = &_plugins_init; + evry_module->shutdown = &_plugins_shutdown; + + l = e_datastore_get("everything_modules"); + l = eina_list_append(l, evry_module); + e_datastore_set("everything_modules", l); e_module_delayed_set(m, 1); @@ -434,10 +456,16 @@ e_modapi_init(E_Module *m) EAPI int e_modapi_shutdown(E_Module *m) { - if (active && e_datastore_get("everything_loaded")) + Eina_List *l; + + if (e_datastore_get("everything_loaded")) _plugins_shutdown(); - module = NULL; + l = e_datastore_get("everything_modules"); + l = eina_list_remove(l, evry_module); + e_datastore_set("everything_modules", l); + + E_FREE(evry_module); return 1; } diff --git a/src/modules/everything/Evry.h b/src/modules/everything/Evry.h index 5220c5b13..1b43d85ad 100644 --- a/src/modules/everything/Evry.h +++ b/src/modules/everything/Evry.h @@ -292,7 +292,7 @@ EAPI int evry_util_exec_app(const Evry_Item *it_app, const Evry_Item *it_file); EAPI char *evry_util_url_escape(const char *string, int inlength); EAPI char *evry_util_url_unescape(const char *string, int length); EAPI void evry_util_file_detail_set(Evry_Item_File *file); -EAPI Eina_Bool evry_util_module_config_check(const char *module_name, int conf, int epoch, int version); +EAPI int evry_util_module_config_check(const char *module_name, int conf, int epoch, int version); EAPI Evas_Object *evry_util_icon_get(Evry_Item *it, Evas *e); EAPI int evry_util_plugin_items_add(Evry_Plugin *p, Eina_List *items, const char *input, int match_detail, int set_usage); EAPI int evry_items_sort_func(const void *data1, const void *data2); diff --git a/src/modules/everything/e_mod_main.c b/src/modules/everything/e_mod_main.c index e2d64c611..2a308cf52 100644 --- a/src/modules/everything/e_mod_main.c +++ b/src/modules/everything/e_mod_main.c @@ -170,6 +170,7 @@ e_modapi_init(E_Module *m) e_module_priority_set(m, -1000); _api = E_NEW(Evry_API, 1); + _api->log_dom = _e_module_evry_log_dom; #define SET(func) (_api->func = &evry_##func); SET(api_version_check); SET(item_new); diff --git a/src/modules/everything/evry_api.h b/src/modules/everything/evry_api.h index 6323115d6..bcf40fda4 100644 --- a/src/modules/everything/evry_api.h +++ b/src/modules/everything/evry_api.h @@ -26,6 +26,16 @@ #define EVRY_PLUGIN_SUBJECT 0 #define EVRY_PLUGIN_ACTION 1 #define EVRY_PLUGIN_OBJECT 2 + +EAPI extern Evry_Type EVRY_TYPE_NONE; +EAPI extern Evry_Type EVRY_TYPE_FILE; +EAPI extern Evry_Type EVRY_TYPE_DIR; +EAPI extern Evry_Type EVRY_TYPE_APP; +EAPI extern Evry_Type EVRY_TYPE_ACTION; +EAPI extern Evry_Type EVRY_TYPE_PLUGIN; +EAPI extern Evry_Type EVRY_TYPE_BORDER; +EAPI extern Evry_Type EVRY_TYPE_TEXT; + #endif typedef struct _Evry_API Evry_API; @@ -106,6 +116,8 @@ struct _Evry_API const char *(*file_path_get)(Evry_Item_File *file); const char *(*file_url_get)(Evry_Item_File *file); + + int log_dom; }; #ifndef EVRY_H @@ -186,5 +198,26 @@ struct _Evry_API // should be renamed to ITEMS_FILTER #define EVRY_PLUGIN_ITEMS_ADD(_plugin, _items, _input, _match_detail, _set_usage) \ evry->util_plugin_items_add(EVRY_PLUGIN(_plugin), _items, _input, _match_detail, _set_usage) + +#define EVRY_PLUGIN_UPDATE(_p, _action) \ + if (_p) evry->plugin_update(EVRY_PLUGIN(_p), _action) + + + +#ifndef EINA_LOG_DEFAULT_COLOR +#define EINA_LOG_DEFAULT_COLOR EINA_COLOR_CYAN +#endif + +#undef DBG +#undef INF +#undef WRN +#undef ERR + +#define DBG(...) EINA_LOG_DOM_DBG(evry->log_dom , __VA_ARGS__) +#define INF(...) EINA_LOG_DOM_INFO(evry->log_dom , __VA_ARGS__) +#define WRN(...) EINA_LOG_DOM_WARN(evry->log_dom , __VA_ARGS__) +#define ERR(...) EINA_LOG_DOM_ERR(evry->log_dom , __VA_ARGS__) + #endif #endif + diff --git a/src/modules/everything/evry_util.c b/src/modules/everything/evry_util.c index f985e3f47..14a26f22a 100644 --- a/src/modules/everything/evry_util.c +++ b/src/modules/everything/evry_util.c @@ -617,61 +617,6 @@ evry_util_exec_app(const Evry_Item *it_app, const Evry_Item *it_file) return 1; } -static int -_conf_timer(void *data) -{ - /* e_util_dialog_internal(title, */ - e_util_dialog_internal(_("Configuration Updated"), data); - return 0; -} - -EAPI Eina_Bool -evry_util_module_config_check(const char *module_name, int conf, int epoch, int version) -{ - if ((conf >> 16) < epoch) - { - char *too_old = - _("%s Configuration data needed " - "upgrading. Your old configuration
has been" - " wiped and a new set of defaults initialized. " - "This
will happen regularly during " - "development, so don't report a
bug. " - "This simply means the module needs " - "new configuration
data by default for " - "usable functionality that your old
" - "configuration simply lacks. This new set of " - "defaults will fix
that by adding it in. " - "You can re-configure things now to your
" - "liking. Sorry for the inconvenience.
"); - - char buf[4096]; - snprintf(buf, sizeof(buf), too_old, module_name); - ecore_timer_add(1.0, _conf_timer, buf); - return EINA_FALSE; - } - else if (conf > version) - { - char *too_new = - _("Your %s Module configuration is NEWER " - "than the module version. This is " - "very
strange. This should not happen unless" - " you downgraded
the module or " - "copied the configuration from a place where" - "
a newer version of the module " - "was running. This is bad and
as a " - "precaution your configuration has been now " - "restored to
defaults. Sorry for the " - "inconvenience.
"); - - char buf[4096]; - snprintf(buf, sizeof(buf), too_new, module_name); - ecore_timer_add(1.0, _conf_timer, buf); - return EINA_FALSE; - } - - return EINA_TRUE; -} - /* taken from curl: * * Copyright (C) 1998 - 2010, Daniel Stenberg, , et