forked from enlightenment/enlightenment
fix action deletion on exit. cleanups
SVN revision: 48388
This commit is contained in:
parent
aadcae0b20
commit
bc22c23029
|
@ -112,49 +112,43 @@ EAPI int
|
||||||
e_modapi_shutdown(E_Module *m __UNUSED__)
|
e_modapi_shutdown(E_Module *m __UNUSED__)
|
||||||
{
|
{
|
||||||
E_Config_Dialog *cfd;
|
E_Config_Dialog *cfd;
|
||||||
Evry_Action *a;
|
printf("________________________________________________\n");
|
||||||
|
|
||||||
evry_shutdown();
|
evry_shutdown();
|
||||||
|
|
||||||
/* remove module-supplied menu additions */
|
|
||||||
if (maug)
|
|
||||||
{
|
|
||||||
e_int_menus_menu_augmentation_del("main/1", maug);
|
|
||||||
maug = NULL;
|
|
||||||
}
|
|
||||||
/* remove module-supplied action */
|
|
||||||
if (act)
|
|
||||||
{
|
|
||||||
e_action_predef_name_del(_("Everything Launcher"), _("Show Everything Dialog"));
|
|
||||||
e_action_del("everything");
|
|
||||||
}
|
|
||||||
|
|
||||||
view_thumb_shutdown();
|
view_thumb_shutdown();
|
||||||
view_help_shutdown();
|
view_help_shutdown();
|
||||||
evry_plug_clipboard_shutdown();
|
evry_plug_clipboard_shutdown();
|
||||||
evry_plug_text_shutdown();
|
evry_plug_text_shutdown();
|
||||||
evry_plug_actions_shutdown();
|
evry_plug_actions_shutdown();
|
||||||
/* EINA_LIST_FREE(evry_conf->plugins, p)
|
|
||||||
* evry_plugin_free(p, 1); */
|
|
||||||
|
|
||||||
EINA_LIST_FREE(evry_conf->actions, a)
|
_config_free();
|
||||||
evry_action_free(a);
|
evry_history_free();
|
||||||
|
|
||||||
while ((cfd = e_config_dialog_get("E", "_config_everything_dialog")))
|
|
||||||
e_object_del(E_OBJECT(cfd));
|
|
||||||
|
|
||||||
e_configure_registry_item_del("extensions/run_everything");
|
e_configure_registry_item_del("extensions/run_everything");
|
||||||
e_configure_registry_category_del("extensions");
|
e_configure_registry_category_del("extensions");
|
||||||
|
|
||||||
_config_free();
|
while ((cfd = e_config_dialog_get("E", "_config_everything_dialog")))
|
||||||
evry_history_free();
|
e_object_del(E_OBJECT(cfd));
|
||||||
|
|
||||||
|
if (act)
|
||||||
|
{
|
||||||
|
e_action_predef_name_del(_("Everything Launcher"), _("Show Everything Dialog"));
|
||||||
|
e_action_del("everything");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (maug)
|
||||||
|
{
|
||||||
|
e_int_menus_menu_augmentation_del("main/1", maug);
|
||||||
|
maug = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* Clean EET */
|
/* Clean EET */
|
||||||
E_CONFIG_DD_FREE(conf_edd);
|
E_CONFIG_DD_FREE(conf_edd);
|
||||||
E_CONFIG_DD_FREE(plugin_conf_edd);
|
E_CONFIG_DD_FREE(plugin_conf_edd);
|
||||||
E_CONFIG_DD_FREE(plugin_setting_edd);
|
E_CONFIG_DD_FREE(plugin_setting_edd);
|
||||||
e_datastore_del("everything_loaded");
|
e_datastore_del("everything_loaded");
|
||||||
|
printf("________________________________________________\n");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -296,29 +290,34 @@ static void
|
||||||
_config_free(void)
|
_config_free(void)
|
||||||
{
|
{
|
||||||
Plugin_Config *pc;
|
Plugin_Config *pc;
|
||||||
int i;
|
|
||||||
Eina_List *conf[3];
|
|
||||||
|
|
||||||
conf[0] = evry_conf->conf_subjects;
|
EINA_LIST_FREE(evry_conf->conf_subjects, pc)
|
||||||
conf[1] = evry_conf->conf_actions;
|
|
||||||
conf[2] = evry_conf->conf_objects;
|
|
||||||
|
|
||||||
for (i = 0; i < 3; i++)
|
|
||||||
{
|
{
|
||||||
EINA_LIST_FREE(conf[i], pc)
|
if (pc->name) eina_stringshare_del(pc->name);
|
||||||
{
|
if (pc->trigger) eina_stringshare_del(pc->trigger);
|
||||||
if (pc->name) eina_stringshare_del(pc->name);
|
if (pc->plugin) evry_plugin_free(pc->plugin);
|
||||||
if (pc->trigger) eina_stringshare_del(pc->trigger);
|
E_FREE(pc);
|
||||||
if (pc->plugin) evry_plugin_free(pc->plugin);
|
}
|
||||||
E_FREE(pc);
|
EINA_LIST_FREE(evry_conf->conf_actions, pc)
|
||||||
}
|
{
|
||||||
|
if (pc->name) eina_stringshare_del(pc->name);
|
||||||
|
if (pc->trigger) eina_stringshare_del(pc->trigger);
|
||||||
|
if (pc->plugin) evry_plugin_free(pc->plugin);
|
||||||
|
E_FREE(pc);
|
||||||
|
}
|
||||||
|
EINA_LIST_FREE(evry_conf->conf_objects, pc)
|
||||||
|
{
|
||||||
|
if (pc->name) eina_stringshare_del(pc->name);
|
||||||
|
if (pc->trigger) eina_stringshare_del(pc->trigger);
|
||||||
|
if (pc->plugin) evry_plugin_free(pc->plugin);
|
||||||
|
E_FREE(pc);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (evry_conf->cmd_terminal)
|
if (evry_conf->cmd_terminal)
|
||||||
eina_stringshare_del(evry_conf->cmd_terminal);
|
eina_stringshare_del(evry_conf->cmd_terminal);
|
||||||
if (evry_conf->cmd_sudo)
|
if (evry_conf->cmd_sudo)
|
||||||
eina_stringshare_del(evry_conf->cmd_sudo);
|
eina_stringshare_del(evry_conf->cmd_sudo);
|
||||||
|
|
||||||
E_FREE(evry_conf);
|
E_FREE(evry_conf);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -464,8 +463,6 @@ evry_plugin_new(Evry_Plugin *base, const char *name, const char *label,
|
||||||
void
|
void
|
||||||
evry_plugin_free(Evry_Plugin *p)
|
evry_plugin_free(Evry_Plugin *p)
|
||||||
{
|
{
|
||||||
evry_plugin_unregister(p);
|
|
||||||
|
|
||||||
evry_item_free(EVRY_ITEM(p));
|
evry_item_free(EVRY_ITEM(p));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -530,13 +527,14 @@ void
|
||||||
evry_plugin_unregister(Evry_Plugin *p)
|
evry_plugin_unregister(Evry_Plugin *p)
|
||||||
{
|
{
|
||||||
DBG("%s", p->name);
|
DBG("%s", p->name);
|
||||||
|
Eina_List *l = evry_conf->conf_subjects;
|
||||||
|
|
||||||
if (eina_list_data_find_list(evry_conf->conf_subjects, p->config))
|
if (l && eina_list_data_find_list(l, p->config))
|
||||||
{
|
{
|
||||||
char buf[256];
|
/* char buf[256];
|
||||||
snprintf(buf, sizeof(buf), _("Show %s Plugin"), p->name);
|
* snprintf(buf, sizeof(buf), _("Show %s Plugin"), p->name);
|
||||||
|
*
|
||||||
e_action_predef_name_del(_("Everything"), buf);
|
* e_action_predef_name_del(_("Everything"), buf); */
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -103,6 +103,5 @@ EAPI int evry_browse_item(Evry_Selector *sel);
|
||||||
EAPI int evry_browse_back(Evry_Selector *sel);
|
EAPI int evry_browse_back(Evry_Selector *sel);
|
||||||
|
|
||||||
extern Evry_Selector **selectors;
|
extern Evry_Selector **selectors;
|
||||||
extern const char *action_selector;
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -91,13 +91,11 @@ static Evry_Selector *selector = NULL;
|
||||||
static const char *thumb_types = NULL;
|
static const char *thumb_types = NULL;
|
||||||
|
|
||||||
Evry_Selector **selectors = NULL;
|
Evry_Selector **selectors = NULL;
|
||||||
const char *action_selector;
|
|
||||||
|
|
||||||
/* externally accessible functions */
|
/* externally accessible functions */
|
||||||
int
|
int
|
||||||
evry_init(void)
|
evry_init(void)
|
||||||
{
|
{
|
||||||
action_selector = eina_stringshare_add(_("Select Action"));
|
|
||||||
thumb_types = eina_stringshare_add("FILE");
|
thumb_types = eina_stringshare_add("FILE");
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -108,7 +106,6 @@ evry_shutdown(void)
|
||||||
evry_hide();
|
evry_hide();
|
||||||
|
|
||||||
eina_stringshare_del(thumb_types);
|
eina_stringshare_del(thumb_types);
|
||||||
eina_stringshare_del(action_selector);
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -446,8 +443,8 @@ _evry_selector_update_actions(Evry_Selector *sel)
|
||||||
if (sel->update_timer)
|
if (sel->update_timer)
|
||||||
ecore_timer_del(sel->update_timer);
|
ecore_timer_del(sel->update_timer);
|
||||||
|
|
||||||
_evry_timer_cb_actions_get(it);
|
/* _evry_timer_cb_actions_get(it); */
|
||||||
/* sel->update_timer = ecore_timer_add(0.1, _evry_timer_cb_actions_get, it); */
|
sel->update_timer = ecore_timer_add(0.1, _evry_timer_cb_actions_get, it);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1142,8 +1139,6 @@ _evry_selector_objects_get(Evry_Action *act)
|
||||||
Evry_Plugin *p, *pp;
|
Evry_Plugin *p, *pp;
|
||||||
Evry_Selector *sel = selectors[2];
|
Evry_Selector *sel = selectors[2];
|
||||||
Evry_Item *it;
|
Evry_Item *it;
|
||||||
/* required type */
|
|
||||||
/* const char *type_in = act->type_in2; */
|
|
||||||
|
|
||||||
while (sel->state)
|
while (sel->state)
|
||||||
_evry_state_pop(sel);
|
_evry_state_pop(sel);
|
||||||
|
@ -1152,8 +1147,6 @@ _evry_selector_objects_get(Evry_Action *act)
|
||||||
|
|
||||||
EINA_LIST_FOREACH(sel->plugins, l, p)
|
EINA_LIST_FOREACH(sel->plugins, l, p)
|
||||||
{
|
{
|
||||||
printf("check %s %s\n", EVRY_ITEM(p)->subtype, act->type_in2);
|
|
||||||
|
|
||||||
if (!evry_item_type_check(EVRY_ITEM(p), NULL, act->type_in2))
|
if (!evry_item_type_check(EVRY_ITEM(p), NULL, act->type_in2))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,6 @@ struct _Plugin
|
||||||
Eina_List *actions;
|
Eina_List *actions;
|
||||||
Eina_Bool parent;
|
Eina_Bool parent;
|
||||||
Evry_Action *action;
|
Evry_Action *action;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static Evry_Plugin *_base_plug = NULL;
|
static Evry_Plugin *_base_plug = NULL;
|
||||||
|
@ -163,7 +162,12 @@ int evry_plug_actions_init()
|
||||||
|
|
||||||
void evry_plug_actions_shutdown()
|
void evry_plug_actions_shutdown()
|
||||||
{
|
{
|
||||||
|
Evry_Action *a;
|
||||||
|
|
||||||
evry_plugin_free(_base_plug);
|
evry_plugin_free(_base_plug);
|
||||||
|
|
||||||
|
EINA_LIST_FREE(evry_conf->actions, a)
|
||||||
|
evry_action_free(a);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -208,8 +212,6 @@ evry_action_new(const char *name, const char *label,
|
||||||
act->base.icon = icon;
|
act->base.icon = icon;
|
||||||
act->base.type = eina_stringshare_add("ACTION");
|
act->base.type = eina_stringshare_add("ACTION");
|
||||||
|
|
||||||
printf("icon %s\n", act->base.icon);
|
|
||||||
|
|
||||||
act->name = eina_stringshare_add(name);
|
act->name = eina_stringshare_add(name);
|
||||||
|
|
||||||
act->type_in1 = (type_in1 ? eina_stringshare_add(type_in1) : NULL);
|
act->type_in1 = (type_in1 ? eina_stringshare_add(type_in1) : NULL);
|
||||||
|
|
|
@ -10,11 +10,11 @@ struct _Plugin
|
||||||
Evry_Selector *selector;
|
Evry_Selector *selector;
|
||||||
};
|
};
|
||||||
|
|
||||||
inline static int
|
/* inline static int
|
||||||
_is_action(const Evry_Item *it)
|
* _is_action(const Evry_Item *it)
|
||||||
{
|
* {
|
||||||
return (it->plugin->name == action_selector);
|
* return (it->plugin->name == action_selector);
|
||||||
}
|
* } */
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_cb_sort_recent(const void *data1, const void *data2)
|
_cb_sort_recent(const void *data1, const void *data2)
|
||||||
|
@ -29,17 +29,17 @@ _cb_sort_recent(const void *data1, const void *data2)
|
||||||
if (it2->usage && !it1->usage)
|
if (it2->usage && !it1->usage)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
if (_is_action(it1) || _is_action(it2))
|
/* if (_is_action(it1) || _is_action(it2))
|
||||||
{
|
* {
|
||||||
if (_is_action(it1) && _is_action(it2))
|
* if (_is_action(it1) && _is_action(it2))
|
||||||
return (it1->priority - it2->priority);
|
* return (it1->priority - it2->priority);
|
||||||
else if (_is_action(it1))
|
* else if (_is_action(it1))
|
||||||
return ((it1->plugin->config->priority + it1->priority) -
|
* return ((it1->plugin->config->priority + it1->priority) -
|
||||||
(it2->plugin->config->priority));
|
* (it2->plugin->config->priority));
|
||||||
else
|
* else
|
||||||
return ((it1->plugin->config->priority) -
|
* return ((it1->plugin->config->priority) -
|
||||||
(it2->plugin->config->priority + it2->priority));
|
* (it2->plugin->config->priority + it2->priority));
|
||||||
}
|
* } */
|
||||||
|
|
||||||
if (it1->plugin == it2->plugin)
|
if (it1->plugin == it2->plugin)
|
||||||
return (it1->priority - it2->priority);
|
return (it1->priority - it2->priority);
|
||||||
|
@ -62,17 +62,17 @@ _cb_sort(const void *data1, const void *data2)
|
||||||
if (it2->usage && !it1->usage)
|
if (it2->usage && !it1->usage)
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
if (_is_action(it1) || _is_action(it2))
|
/* if (_is_action(it1) || _is_action(it2))
|
||||||
{
|
* {
|
||||||
if (_is_action(it1) && _is_action(it2))
|
* if (_is_action(it1) && _is_action(it2))
|
||||||
return (it1->priority - it2->priority);
|
* return (it1->priority - it2->priority);
|
||||||
else if (_is_action(it1))
|
* else if (_is_action(it1))
|
||||||
return ((it1->plugin->config->priority + it1->priority)
|
* return ((it1->plugin->config->priority + it1->priority)
|
||||||
- it2->plugin->config->priority);
|
* - it2->plugin->config->priority);
|
||||||
else
|
* else
|
||||||
return (it1->plugin->config->priority -
|
* return (it1->plugin->config->priority -
|
||||||
(it1->plugin->config->priority + it2->priority));
|
* (it1->plugin->config->priority + it2->priority));
|
||||||
}
|
* } */
|
||||||
|
|
||||||
if ((it1->plugin == it2->plugin) &&
|
if ((it1->plugin == it2->plugin) &&
|
||||||
(it1->priority - it2->priority))
|
(it1->priority - it2->priority))
|
||||||
|
|
|
@ -457,10 +457,10 @@ _e_smart_del(Evas_Object *obj)
|
||||||
evry_item_free(it->item);
|
evry_item_free(it->item);
|
||||||
free(it);
|
free(it);
|
||||||
}
|
}
|
||||||
|
evas_object_del(sd->selector);
|
||||||
|
|
||||||
free(sd);
|
free(sd);
|
||||||
evas_object_smart_data_set(obj, NULL);
|
evas_object_smart_data_set(obj, NULL);
|
||||||
|
|
||||||
evas_object_del(sd->selector);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue