fix last commit.

started to make item type checking better


SVN revision: 48391
This commit is contained in:
Hannes Janetzek 2010-04-28 13:54:35 +00:00
parent 7016b51af8
commit b76df169ab
13 changed files with 107 additions and 95 deletions

View File

@ -75,7 +75,7 @@ _begin_open_with(Evry_Plugin *plugin, const Evry_Item *item)
const char *mime; const char *mime;
if (!evry_item_type_check(item, "FILE", NULL)) if (!evry_item_type_check(item, EVRY_TYPE_FILE, NULL))
return 0; return 0;
GET_FILE(file, item); GET_FILE(file, item);
@ -341,7 +341,7 @@ _item_add(Plugin *p, Efreet_Desktop *desktop, const char *file, int match)
EVRY_ACTN(app)->action = &_exec_open_file_action; EVRY_ACTN(app)->action = &_exec_open_file_action;
EVRY_ITEM(app)->id = eina_stringshare_add(desktop->exec); EVRY_ITEM(app)->id = eina_stringshare_add(desktop->exec);
EVRY_ITEM(app)->subtype = eina_stringshare_add("ACTION"); EVRY_ITEM(app)->subtype = EVRY_TYPE_ACTION;
if (desktop->comment) if (desktop->comment)
EVRY_ITEM(app)->detail = eina_stringshare_add(desktop->comment); EVRY_ITEM(app)->detail = eina_stringshare_add(desktop->comment);
@ -353,7 +353,7 @@ _item_add(Plugin *p, Efreet_Desktop *desktop, const char *file, int match)
app = EVRY_ITEM_NEW(Evry_Item_App, p, file, _icon_get, _item_free); app = EVRY_ITEM_NEW(Evry_Item_App, p, file, _icon_get, _item_free);
EVRY_ITEM(app)->id = eina_stringshare_add(file); EVRY_ITEM(app)->id = eina_stringshare_add(file);
EVRY_ACTN(app)->action = &_exec_open_file_action; EVRY_ACTN(app)->action = &_exec_open_file_action;
EVRY_ITEM(app)->subtype = eina_stringshare_add("ACTION"); EVRY_ITEM(app)->subtype = EVRY_TYPE_ACTION;
} }
app->desktop = desktop; app->desktop = desktop;
@ -746,7 +746,7 @@ _complete(Evry_Plugin *plugin, const Evry_Item *it, char **input)
static int static int
_exec_app_check_item(Evry_Action *act, const Evry_Item *it) _exec_app_check_item(Evry_Action *act, const Evry_Item *it)
{ {
/* if (!evry_item_type_check(it, "APPLICATION", NULL)) return 0; */ /* if (!evry_item_type_check(it, EVRY_TYPE_APP, NULL)) return 0; */
/* ITEM_APP(app, it); */ /* ITEM_APP(app, it); */
@ -792,8 +792,6 @@ _exec_term_action(Evry_Action *act)
static int static int
_exec_term_check_item(Evry_Action *act __UNUSED__, const Evry_Item *it) _exec_term_check_item(Evry_Action *act __UNUSED__, const Evry_Item *it)
{ {
/* if (!evry_item_type_check(it, NULL, "APPLICATION")) return 0; */
GET_APP(app, it); GET_APP(app, it);
if (app->file) if (app->file)
@ -826,8 +824,6 @@ _exec_sudo_action(Evry_Action *act)
static int static int
_edit_app_check_item(Evry_Action *act __UNUSED__, const Evry_Item *it) _edit_app_check_item(Evry_Action *act __UNUSED__, const Evry_Item *it)
{ {
/* if (!evry_item_type_check(it, NULL, "APPLICATION")) return 0; */
GET_APP(app, it); GET_APP(app, it);
if (app->desktop) if (app->desktop)
@ -862,8 +858,6 @@ _edit_app_action(Evry_Action *act)
static int static int
_new_app_check_item(Evry_Action *act __UNUSED__, const Evry_Item *it) _new_app_check_item(Evry_Action *act __UNUSED__, const Evry_Item *it)
{ {
/* if (!evry_item_type_check(it, NULL, "APPLICATION")) return 0; */
GET_APP(app, it); GET_APP(app, it);
if (app->desktop) if (app->desktop)
@ -949,43 +943,59 @@ _plugins_init(void)
if (!evry_api_version_check(EVRY_API_VERSION)) if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE; return EINA_FALSE;
p = EVRY_PLUGIN_NEW(Plugin, N_("Applications"), NULL, "APPLICATION", p = EVRY_PLUGIN_NEW(Plugin, N_("Applications"), NULL, EVRY_TYPE_APP,
_begin, _finish, _fetch, NULL); _begin, _finish, _fetch, NULL);
p->complete = &_complete; p->complete = &_complete;
p->config_path = "extensions/everything-apps"; p->config_path = "extensions/everything-apps";
evry_plugin_register(p, EVRY_PLUGIN_SUBJECT, 1); evry_plugin_register(p, EVRY_PLUGIN_SUBJECT, 1);
plug_apps = p; plug_apps = p;
p = EVRY_PLUGIN_NEW(Plugin, N_("Open With..."), NULL, "APPLICATION", p = EVRY_PLUGIN_NEW(Plugin, N_("Open With..."), NULL, EVRY_TYPE_APP,
_begin_open_with, _finish, _fetch, NULL); _begin_open_with, _finish, _fetch, NULL);
/* p->action = &_open_with_action; */
p->config_path = "extensions/everything-apps"; p->config_path = "extensions/everything-apps";
evry_plugin_register(p, EVRY_PLUGIN_ACTION, 1); evry_plugin_register(p, EVRY_PLUGIN_ACTION, 1);
plug_action = p; plug_action = p;
act = EVRY_ACTION_NEW(N_("Launch"), "APPLICATION", NULL, act = EVRY_ACTION_NEW(N_("Launch"),
"everything-launch", _exec_app_action, _exec_app_check_item); EVRY_TYPE_APP, NULL,
"everything-launch",
_exec_app_action,
_exec_app_check_item);
_actions = eina_list_append(_actions, act); _actions = eina_list_append(_actions, act);
act = EVRY_ACTION_NEW(N_("Open File..."), "APPLICATION", "FILE", "document-open", act = EVRY_ACTION_NEW(N_("Open File..."),
_exec_app_action, _exec_app_check_item); EVRY_TYPE_APP, EVRY_TYPE_FILE,
"document-open",
_exec_app_action,
_exec_app_check_item);
_actions = eina_list_append(_actions, act); _actions = eina_list_append(_actions, act);
act = EVRY_ACTION_NEW(N_("Run in Terminal"), "APPLICATION", NULL, "system-run", act = EVRY_ACTION_NEW(N_("Run in Terminal"),
_exec_term_action, _exec_term_check_item); EVRY_TYPE_APP, NULL,
"system-run",
_exec_term_action,
_exec_term_check_item);
_actions = eina_list_append(_actions, act); _actions = eina_list_append(_actions, act);
act = EVRY_ACTION_NEW(N_("Edit Application Entry"), "APPLICATION", NULL, "everything-launch", act = EVRY_ACTION_NEW(N_("Edit Application Entry"),
_edit_app_action, _edit_app_check_item); EVRY_TYPE_APP, NULL,
"everything-launch",
_edit_app_action,
_edit_app_check_item);
_actions = eina_list_append(_actions, act); _actions = eina_list_append(_actions, act);
act = EVRY_ACTION_NEW(N_("New Application Entry"), "APPLICATION", NULL, "everything-launch", act = EVRY_ACTION_NEW(N_("New Application Entry"),
_new_app_action, _new_app_check_item); EVRY_TYPE_APP, NULL,
"everything-launch",
_new_app_action,
_new_app_check_item);
_actions = eina_list_append(_actions, act); _actions = eina_list_append(_actions, act);
act = EVRY_ACTION_NEW(N_("Run with Sudo"), "APPLICATION", NULL, "system-run", act = EVRY_ACTION_NEW(N_("Run with Sudo"),
_exec_sudo_action, NULL); EVRY_TYPE_APP, NULL,
"system-run",
_exec_sudo_action, NULL);
_actions = eina_list_append(_actions, act); _actions = eina_list_append(_actions, act);
EINA_LIST_FOREACH(_actions, l, act) EINA_LIST_FOREACH(_actions, l, act)

View File

@ -329,8 +329,8 @@ _plugins_init(void)
if (!evry_api_version_check(EVRY_API_VERSION)) if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE; return EINA_FALSE;
p = EVRY_PLUGIN_NEW(Plugin, N_("Spell Checker"), "accessories-dictionary", "TEXT", p = EVRY_PLUGIN_NEW(Plugin, N_("Spell Checker"),"accessories-dictionary",
NULL, _cleanup, _fetch, NULL); EVRY_TYPE_TEXT, NULL, _cleanup, _fetch, NULL);
p->aggregate = EINA_FALSE; p->aggregate = EINA_FALSE;
p->history = EINA_FALSE; p->history = EINA_FALSE;

View File

@ -232,7 +232,7 @@ _plugins_init(void)
if (!evry_api_version_check(EVRY_API_VERSION)) if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE; return EINA_FALSE;
p1 = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Calculator"), "accessories-calculator", "TEXT", p1 = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Calculator"), "accessories-calculator", EVRY_TYPE_TEXT,
_begin, _cleanup, _fetch, NULL); _begin, _cleanup, _fetch, NULL);
p1->view_mode = VIEW_MODE_LIST; p1->view_mode = VIEW_MODE_LIST;

View File

@ -75,8 +75,6 @@ static Eina_List *_actions = NULL;
static void _cleanup(Evry_Plugin *plugin); static void _cleanup(Evry_Plugin *plugin);
static const char *_mime_dir; static const char *_mime_dir;
static const char *_type_file;
static void static void
_item_fill(Evry_Item_File *file) _item_fill(Evry_Item_File *file)
@ -441,7 +439,7 @@ _begin(Evry_Plugin *plugin, const Evry_Item *it)
Plugin *p = NULL; Plugin *p = NULL;
/* is FILE ? */ /* is FILE ? */
if (it && evry_item_type_check(it, "FILE", NULL)) if (it && evry_item_type_check(it, EVRY_TYPE_FILE, NULL))
{ {
GET_FILE(file, it); GET_FILE(file, it);
@ -488,7 +486,7 @@ _hist_add(Evry_Plugin *plugin, Evry_Item_File *file)
EINA_LIST_FOREACH(he->items, l, hi) EINA_LIST_FOREACH(he->items, l, hi)
{ {
if (hi->type != _type_file) if (hi->type != EVRY_TYPE_FILE)
continue; continue;
if (hi->data) if (hi->data)
@ -622,7 +620,7 @@ _hist_items_add_cb(const Eina_Hash *hash, const void *key, void *data, void *fda
EINA_LIST_FOREACH(he->items, l, hi) EINA_LIST_FOREACH(he->items, l, hi)
{ {
if (hi->type != _type_file) if (hi->type != EVRY_TYPE_FILE)
continue; continue;
/* filter out files that we already have from history */ /* filter out files that we already have from history */
@ -991,45 +989,45 @@ _plugins_init(void)
if (!evry_api_version_check(EVRY_API_VERSION)) if (!evry_api_version_check(EVRY_API_VERSION))
return EINA_FALSE; return EINA_FALSE;
p1 = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Files"), NULL, "FILE", _begin, _cleanup, _fetch, NULL); p1 = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Files"), NULL, EVRY_TYPE_FILE, _begin, _cleanup, _fetch, NULL);
p1->config_path = "extensions/everything-files"; p1->config_path = "extensions/everything-files";
evry_plugin_register(p1, EVRY_PLUGIN_SUBJECT, 3); evry_plugin_register(p1, EVRY_PLUGIN_SUBJECT, 3);
/* p1->complete = &_complete; */ /* p1->complete = &_complete; */
p2 = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Files"), NULL, "FILE", _begin, _cleanup, _fetch, NULL); p2 = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Files"), NULL, EVRY_TYPE_FILE, _begin, _cleanup, _fetch, NULL);
p2->config_path = "extensions/everything-files"; p2->config_path = "extensions/everything-files";
evry_plugin_register(p2, EVRY_PLUGIN_OBJECT, 1); evry_plugin_register(p2, EVRY_PLUGIN_OBJECT, 1);
act = EVRY_ACTION_NEW(N_("Open Folder (EFM)"), "FILE", NULL, "folder-open", act = EVRY_ACTION_NEW(N_("Open Folder (EFM)"), EVRY_TYPE_FILE, NULL, "folder-open",
_open_folder_action, _open_folder_check); _open_folder_action, _open_folder_check);
evry_action_register(act, 0); evry_action_register(act, 0);
_actions = eina_list_append(_actions, act); _actions = eina_list_append(_actions, act);
act = EVRY_ACTION_NEW(N_("Open Terminal here"), "FILE", NULL, "system-run", act = EVRY_ACTION_NEW(N_("Open Terminal here"), EVRY_TYPE_FILE, NULL, "system-run",
_open_term_action, NULL); _open_term_action, NULL);
evry_action_register(act, 2); evry_action_register(act, 2);
_actions = eina_list_append(_actions, act); _actions = eina_list_append(_actions, act);
act = EVRY_ACTION_NEW(N_("Move to Trash"), "FILE", NULL, "edit-delete", act = EVRY_ACTION_NEW(N_("Move to Trash"), EVRY_TYPE_FILE, NULL, "edit-delete",
_file_trash_action, NULL); _file_trash_action, NULL);
EVRY_ITEM_DATA_INT_SET(act, ACT_TRASH); EVRY_ITEM_DATA_INT_SET(act, ACT_TRASH);
evry_action_register(act, 2); evry_action_register(act, 2);
_actions = eina_list_append(_actions, act); _actions = eina_list_append(_actions, act);
act = EVRY_ACTION_NEW(N_("Delete"), "FILE", NULL, "list-remove", act = EVRY_ACTION_NEW(N_("Delete"), EVRY_TYPE_FILE, NULL, "list-remove",
_file_trash_action, NULL); _file_trash_action, NULL);
EVRY_ITEM_DATA_INT_SET(act, ACT_DELETE); EVRY_ITEM_DATA_INT_SET(act, ACT_DELETE);
evry_action_register(act, 2); evry_action_register(act, 2);
_actions = eina_list_append(_actions, act); _actions = eina_list_append(_actions, act);
act = EVRY_ACTION_NEW(N_("Copy To ..."), "FILE", "FILE", "go-next", act = EVRY_ACTION_NEW(N_("Copy To ..."), EVRY_TYPE_FILE, EVRY_TYPE_FILE, "go-next",
_file_copy_action, NULL); _file_copy_action, NULL);
EVRY_ITEM_DATA_INT_SET(act, ACT_COPY); EVRY_ITEM_DATA_INT_SET(act, ACT_COPY);
evry_action_register(act, 2); evry_action_register(act, 2);
_actions = eina_list_append(_actions, act); _actions = eina_list_append(_actions, act);
act = EVRY_ACTION_NEW(N_("Move To ..."), "FILE", "FILE", "go-next", act = EVRY_ACTION_NEW(N_("Move To ..."), EVRY_TYPE_FILE, EVRY_TYPE_FILE, "go-next",
_file_copy_action, NULL); _file_copy_action, NULL);
EVRY_ITEM_DATA_INT_SET(act, ACT_MOVE); EVRY_ITEM_DATA_INT_SET(act, ACT_MOVE);
evry_action_register(act, 2); evry_action_register(act, 2);
@ -1253,7 +1251,6 @@ e_modapi_init(E_Module *m)
_conf_init(m); _conf_init(m);
_mime_dir = eina_stringshare_add("inode/directory"); _mime_dir = eina_stringshare_add("inode/directory");
_type_file = eina_stringshare_add("FILE");
e_module_delayed_set(m, 1); e_module_delayed_set(m, 1);
@ -1267,7 +1264,6 @@ e_modapi_shutdown(E_Module *m)
_plugins_shutdown(); _plugins_shutdown();
eina_stringshare_del(_mime_dir); eina_stringshare_del(_mime_dir);
eina_stringshare_del(_type_file);
_conf_shutdown(); _conf_shutdown();

View File

@ -36,7 +36,7 @@ static Evry_Action *_act;
static int static int
_action(Evry_Action *act) _action(Evry_Action *act)
{ {
if (!evry_item_type_check(act->it1.item, "FILE", NULL)) if (!evry_item_type_check(act->it1.item, EVRY_TYPE_FILE, NULL))
return 0; return 0;
GET_FILE(file, act->it1.item); GET_FILE(file, act->it1.item);
@ -73,7 +73,7 @@ static void
_item_add(Evry_Item *it, const char *name, int method, const char *icon) _item_add(Evry_Item *it, const char *name, int method, const char *icon)
{ {
Evry_Action *act; Evry_Action *act;
act = EVRY_ACTION_NEW(name, "FILE", NULL, icon, _action, NULL); act = EVRY_ACTION_NEW(name, EVRY_TYPE_FILE, NULL, icon, _action, NULL);
EVRY_ITEM_DATA_INT_SET(act, method); EVRY_ITEM_DATA_INT_SET(act, method);
EVRY_ITEM(act)->subtype = eina_stringshare_add("WALLPAPER"); EVRY_ITEM(act)->subtype = eina_stringshare_add("WALLPAPER");
@ -104,7 +104,7 @@ _plugins_init(void)
return EINA_FALSE; return EINA_FALSE;
_act = EVRY_ACTION_NEW(_("Set as Wallpaper"), _act = EVRY_ACTION_NEW(_("Set as Wallpaper"),
"FILE", NULL, EVRY_TYPE_FILE, NULL,
"preferences-desktop-wallpaper", "preferences-desktop-wallpaper",
NULL, _check); NULL, _check);
_act->fetch = _fetch; _act->fetch = _fetch;

View File

@ -3,7 +3,7 @@
#include "e.h" #include "e.h"
#define EVRY_API_VERSION 7 #define EVRY_API_VERSION 8
#define EVRY_ACTION_OTHER 0 #define EVRY_ACTION_OTHER 0
#define EVRY_ACTION_FINISHED 1 #define EVRY_ACTION_FINISHED 1
@ -57,7 +57,6 @@ typedef struct _Config Evry_Config;
typedef struct _Plugin_Config Plugin_Config; typedef struct _Plugin_Config Plugin_Config;
typedef struct _Plugin_Setting Plugin_Setting; typedef struct _Plugin_Setting Plugin_Setting;
#define EVRY_ITEM(_item) ((Evry_Item *)_item) #define EVRY_ITEM(_item) ((Evry_Item *)_item)
#define EVRY_ACTN(_item) ((Evry_Action *) _item) #define EVRY_ACTN(_item) ((Evry_Action *) _item)
#define EVRY_PLUGIN(_plugin) ((Evry_Plugin *) _plugin) #define EVRY_PLUGIN(_plugin) ((Evry_Plugin *) _plugin)
@ -466,9 +465,17 @@ struct _Evry_Event_Item_Changed
Evry_Item *item; Evry_Item *item;
}; };
extern EAPI int EVRY_EVENT_ITEM_SELECT; EAPI extern int EVRY_EVENT_ITEM_SELECT;
extern EAPI int EVRY_EVENT_ITEM_CHANGED; EAPI extern int EVRY_EVENT_ITEM_CHANGED;
extern EAPI int EVRY_EVENT_ITEMS_UPDATE; EAPI extern int EVRY_EVENT_ITEMS_UPDATE;
EAPI extern const char *EVRY_TYPE_FILE;
EAPI extern const char *EVRY_TYPE_APP;
EAPI extern const char *EVRY_TYPE_ACTION;
EAPI extern const char *EVRY_TYPE_PLUGIN;
EAPI extern const char *EVRY_TYPE_NONE;
EAPI extern const char *EVRY_TYPE_BORDER;
EAPI extern const char *EVRY_TYPE_TEXT;
EAPI extern Evry_History *evry_hist; EAPI extern Evry_History *evry_hist;
EAPI extern Evry_Config *evry_conf; EAPI extern Evry_Config *evry_conf;

View File

@ -39,6 +39,14 @@ EAPI int EVRY_EVENT_ITEM_SELECT;
EAPI int EVRY_EVENT_ITEM_CHANGED; EAPI int EVRY_EVENT_ITEM_CHANGED;
EAPI int EVRY_EVENT_ITEMS_UPDATE; EAPI int EVRY_EVENT_ITEMS_UPDATE;
EAPI const char *EVRY_TYPE_FILE;
EAPI const char *EVRY_TYPE_APP;
EAPI const char *EVRY_TYPE_ACTION;
EAPI const char *EVRY_TYPE_PLUGIN;
EAPI const char *EVRY_TYPE_NONE;
EAPI const char *EVRY_TYPE_BORDER;
EAPI const char *EVRY_TYPE_TEXT;
/* module setup */ /* module setup */
EAPI E_Module_Api e_modapi = EAPI E_Module_Api e_modapi =
{ {
@ -98,6 +106,14 @@ e_modapi_init(E_Module *m)
if (!EVRY_EVENT_ITEM_CHANGED) if (!EVRY_EVENT_ITEM_CHANGED)
EVRY_EVENT_ITEM_CHANGED = ecore_event_type_new(); EVRY_EVENT_ITEM_CHANGED = ecore_event_type_new();
EVRY_TYPE_FILE = eina_stringshare_add("EVRY_FILE");
EVRY_TYPE_APP = eina_stringshare_add("EVRY_APP");
EVRY_TYPE_ACTION = eina_stringshare_add("EVRY_ACTN");
EVRY_TYPE_PLUGIN = eina_stringshare_add("EVRY_PLUG");
EVRY_TYPE_NONE = eina_stringshare_add("EVRY_NONE");
EVRY_TYPE_BORDER = eina_stringshare_add("EVRY_BORDER");
EVRY_TYPE_TEXT = eina_stringshare_add("EVRY_TEXT");
e_module_delayed_set(m, 0); e_module_delayed_set(m, 0);
/* make sure module is loaded before others */ /* make sure module is loaded before others */
@ -123,6 +139,14 @@ e_modapi_shutdown(E_Module *m __UNUSED__)
_config_free(); _config_free();
evry_history_free(); evry_history_free();
eina_stringshare_del(EVRY_TYPE_FILE);
eina_stringshare_del(EVRY_TYPE_APP);
eina_stringshare_del(EVRY_TYPE_ACTION);
eina_stringshare_del(EVRY_TYPE_PLUGIN);
eina_stringshare_del(EVRY_TYPE_NONE);
eina_stringshare_del(EVRY_TYPE_BORDER);
eina_stringshare_del(EVRY_TYPE_TEXT);
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");
@ -437,7 +461,7 @@ evry_plugin_new(Evry_Plugin *base, const char *name, const char *label,
evry_item_new(EVRY_ITEM(p), NULL, label, NULL, _evry_plugin_free); evry_item_new(EVRY_ITEM(p), NULL, label, NULL, _evry_plugin_free);
p->base.icon = icon; p->base.icon = icon;
p->base.type = eina_stringshare_add("PLUGIN"); p->base.type = eina_stringshare_ref(EVRY_TYPE_PLUGIN);
if (item_type) if (item_type)
p->base.subtype = eina_stringshare_add(item_type); p->base.subtype = eina_stringshare_add(item_type);

View File

@ -88,7 +88,6 @@ static Ecore_X_Window input_window = 0;
static Eina_List *handlers = NULL; static Eina_List *handlers = NULL;
static Evry_Selector *selector = NULL; static Evry_Selector *selector = NULL;
static const char *thumb_types = NULL;
Evry_Selector **selectors = NULL; Evry_Selector **selectors = NULL;
@ -96,7 +95,6 @@ Evry_Selector **selectors = NULL;
int int
evry_init(void) evry_init(void)
{ {
thumb_types = eina_stringshare_add("FILE");
return 1; return 1;
} }
@ -105,7 +103,6 @@ evry_shutdown(void)
{ {
evry_hide(); evry_hide();
eina_stringshare_del(thumb_types);
return 1; return 1;
} }
@ -925,7 +922,7 @@ _evry_selector_thumb(Evry_Selector *sel, const Evry_Item *it)
evas_object_del(sel->o_thumb); evas_object_del(sel->o_thumb);
sel->o_thumb = NULL; sel->o_thumb = NULL;
if (it->type != thumb_types) return 0; if (it->type != EVRY_TYPE_FILE) return 0;
GET_FILE(file, it); GET_FILE(file, it);
@ -1147,7 +1144,7 @@ _evry_selector_objects_get(Evry_Action *act)
EINA_LIST_FOREACH(sel->plugins, l, p) EINA_LIST_FOREACH(sel->plugins, l, p)
{ {
if (!evry_item_type_check(EVRY_ITEM(p), NULL, act->type_in2)) if (!evry_item_type_check(EVRY_ITEM(p), NULL, act->it2.type))
continue; continue;
if (p->begin) if (p->begin)
@ -1335,7 +1332,7 @@ _evry_selectors_switch(int dir)
(it->plugin == selector->actions)) (it->plugin == selector->actions))
{ {
GET_ACTION(act,it); GET_ACTION(act,it);
if (act->type_in2) if (act->it2.type)
{ {
_evry_selector_objects_get(act); _evry_selector_objects_get(act);
_evry_selector_update(selectors[2]); _evry_selector_update(selectors[2]);
@ -1737,8 +1734,8 @@ _evry_plugin_action(Evry_Selector *sel, int finished)
if (!(it_act = s_act->cur_item)) if (!(it_act = s_act->cur_item))
return; return;
if (evry_item_type_check(it_act, "ACTION", NULL) || if (evry_item_type_check(it_act, EVRY_TYPE_ACTION, NULL) ||
evry_item_type_check(it_act, NULL, "ACTION")) evry_item_type_check(it_act, NULL, EVRY_TYPE_ACTION))
{ {
GET_ACTION(act, it_act); GET_ACTION(act, it_act);
@ -1746,7 +1743,7 @@ _evry_plugin_action(Evry_Selector *sel, int finished)
return; return;
/* get object item for action, when required */ /* get object item for action, when required */
if (act->type_in2) if (act->it2.type)
{ {
/* check if object is provided */ /* check if object is provided */
if (selectors[2]->state) if (selectors[2]->state)
@ -1762,16 +1759,16 @@ _evry_plugin_action(Evry_Selector *sel, int finished)
return; return;
} }
act->item2 = it_obj; act->it2.item = it_obj;
} }
if (s_subj->sel_items) if (s_subj->sel_items)
{ {
EINA_LIST_REVERSE_FOREACH(s_subj->sel_items, l, it) EINA_LIST_REVERSE_FOREACH(s_subj->sel_items, l, it)
{ {
if (it->type != act->type_in1) if (it->type != act->it1.type)
continue; continue;
act->item1 = it; act->it1.item = it;
act->action(act); act->action(act);
} }
} }
@ -1779,36 +1776,19 @@ _evry_plugin_action(Evry_Selector *sel, int finished)
{ {
EINA_LIST_FOREACH(s_obj->sel_items, l, it) EINA_LIST_FOREACH(s_obj->sel_items, l, it)
{ {
if (it->type != act->type_in2) if (it->type != act->it2.type)
continue; continue;
act->item2 = it; act->it2.item = it;
act->action(act); act->action(act);
} }
} }
else else
{ {
act->item1 = it_subj; act->it1.item = it_subj;
if (!act->action(act)) if (!act->action(act))
return; return;
} }
} }
/* else if (s_act->plugin->action)
* {
* if (s_subj->sel_items)
* {
* EINA_LIST_REVERSE_FOREACH(s_subj->sel_items, l, it)
* {
* if (it->plugin->type_out != it_act->plugin->type_in)
* continue;
* s_act->plugin->action(s_act->plugin, it_act, it);
* }
* }
* else
* {
* if (!s_act->plugin->action(s_act->plugin, it_act, it_subj))
* return;
* }
* } */
else return; else return;
if (s_subj && it_subj) if (s_subj && it_subj)

View File

@ -210,7 +210,7 @@ evry_action_new(const char *name, const char *label,
evry_item_new(EVRY_ITEM(act), _base_plug, label, NULL, _action_free_cb); evry_item_new(EVRY_ITEM(act), _base_plug, label, NULL, _action_free_cb);
act->base.icon = icon; act->base.icon = icon;
act->base.type = eina_stringshare_add("ACTION"); act->base.type = eina_stringshare_ref(EVRY_TYPE_ACTION);
act->name = eina_stringshare_add(name); act->name = eina_stringshare_add(name);

View File

@ -31,7 +31,7 @@ evry_plug_clipboard_init(void)
if (!win) return EINA_FALSE; if (!win) return EINA_FALSE;
//FIXME: Icon name doesnt follow FDO Spec //FIXME: Icon name doesnt follow FDO Spec
act = EVRY_ACTION_NEW(N_("Copy to Clipboard"), "TEXT", NULL, "everything-clipboard", act = EVRY_ACTION_NEW(N_("Copy to Clipboard"), EVRY_TYPE_TEXT, NULL, "everything-clipboard",
_action, _check_item); _action, _check_item);
evry_action_register(act, 10); evry_action_register(act, 10);

View File

@ -33,11 +33,11 @@ Eina_Bool
evry_plug_text_init(void) evry_plug_text_init(void)
{ {
p1 = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Text"), p1 = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Text"),
"accessories-text-editor", "TEXT", "accessories-text-editor", EVRY_TYPE_TEXT,
NULL, _cleanup, _fetch, NULL); NULL, _cleanup, _fetch, NULL);
p2 = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Text"), p2 = EVRY_PLUGIN_NEW(Evry_Plugin, N_("Text"),
"accessories-text-editor", "TEXT", "accessories-text-editor", EVRY_TYPE_TEXT,
NULL, _cleanup, _fetch, NULL); NULL, _cleanup, _fetch, NULL);
p1->trigger = " "; p1->trigger = " ";
p2->trigger = " "; p2->trigger = " ";

View File

@ -76,8 +76,6 @@ struct _Item
}; };
static View *view = NULL; static View *view = NULL;
static const char *view_types = NULL;
static void _view_clear(Evry_View *view, int slide); static void _view_clear(Evry_View *view, int slide);
@ -105,7 +103,7 @@ _thumb_gen(void *data, Evas_Object *obj, void *event_info)
static int static int
_check_item(const Evry_Item *it) _check_item(const Evry_Item *it)
{ {
if (it->type != view_types) return 0; if (it->type != EVRY_TYPE_FILE) return 0;
GET_FILE(file, it); GET_FILE(file, it);
@ -1489,15 +1487,12 @@ view_thumb_init(void)
view = v; view = v;
view_types = eina_stringshare_add("FILE");
return EINA_TRUE; return EINA_TRUE;
} }
void void
view_thumb_shutdown(void) view_thumb_shutdown(void)
{ {
eina_stringshare_del(view_types);
evry_view_unregister(EVRY_VIEW(view)); evry_view_unregister(EVRY_VIEW(view));
E_FREE(view); E_FREE(view);
} }

View File

@ -382,7 +382,7 @@ evry_util_icon_get(Evry_Item *it, Evas *e)
if (!o && it->icon) if (!o && it->icon)
o = evry_icon_theme_get(it->icon, e); o = evry_icon_theme_get(it->icon, e);
if (evry_item_type_check(it, "FILE", NULL)) if (evry_item_type_check(it, EVRY_TYPE_FILE, NULL))
o = _file_icon_get(it, e); o = _file_icon_get(it, e);
/* TODO default type: files, apps */ /* TODO default type: files, apps */