forked from enlightenment/enlightenment
'everything' module:
- added '..' and '/' handling to dirbrowse - added fullscreen/unfullscren action to border-actions SVN revision: 41294
This commit is contained in:
parent
2de3f811db
commit
c3576b941b
|
@ -856,8 +856,7 @@ _evry_plugin_action(int finished)
|
|||
}
|
||||
else if (s->cur_plugin && (s->sel_item || s->input))
|
||||
{
|
||||
/* XXX use flags for return values */
|
||||
int ret = 0;
|
||||
int ret = EVRY_ACTION_OTHER;
|
||||
|
||||
if (s->cur_plugin->action)
|
||||
{
|
||||
|
|
|
@ -50,6 +50,15 @@ evry_plug_border_act_shutdown(void)
|
|||
return 1;
|
||||
}
|
||||
|
||||
static void
|
||||
_act_cb_border_fullscreen(E_Border *bd)
|
||||
{
|
||||
if (!bd->fullscreen)
|
||||
e_border_fullscreen(bd, E_FULLSCREEN_RESIZE);
|
||||
else
|
||||
e_border_unfullscreen(bd);
|
||||
}
|
||||
|
||||
static void
|
||||
_act_cb_border_close(E_Border *bd)
|
||||
{
|
||||
|
@ -82,6 +91,13 @@ _fetch(Evry_Plugin *p, const char *input)
|
|||
_item_add(p, _("Iconify"), _act_cb_border_minimize,
|
||||
"e/widgets/border/default/minimize");
|
||||
|
||||
if (!inst->border->fullscreen)
|
||||
_item_add(p, _("Fullscreen"), _act_cb_border_fullscreen,
|
||||
"e/widgets/border/default/fullscreen");
|
||||
else
|
||||
_item_add(p, _("Unfullscreen"), _act_cb_border_fullscreen,
|
||||
"e/widgets/border/default/fullscreen");
|
||||
|
||||
_item_add(p, _("Close"), _act_cb_border_close,
|
||||
"e/widgets/border/default/close");
|
||||
return 1;
|
||||
|
|
|
@ -31,6 +31,7 @@ evry_plug_dir_browse_init(void)
|
|||
p->name = "Browse Files";
|
||||
p->type_in = "NONE|FILE";
|
||||
p->type_out = "FILE";
|
||||
/* p->trigger = "/"; */
|
||||
p->begin = &_begin;
|
||||
p->fetch = &_fetch;
|
||||
p->action = &_action;
|
||||
|
@ -93,7 +94,6 @@ _list_free(Evry_Plugin *p)
|
|||
if (it->label) eina_stringshare_del(it->label);
|
||||
if (it->uri) eina_stringshare_del(it->uri);
|
||||
if (it->mime) eina_stringshare_del(it->mime);
|
||||
|
||||
free(it);
|
||||
}
|
||||
}
|
||||
|
@ -128,6 +128,7 @@ _fetch(Evry_Plugin *p, const char *input)
|
|||
{
|
||||
Eina_List *files;
|
||||
char *file;
|
||||
const char *directory = NULL;
|
||||
Evry_Item *it;
|
||||
char match1[4096];
|
||||
char match2[4096];
|
||||
|
@ -135,7 +136,52 @@ _fetch(Evry_Plugin *p, const char *input)
|
|||
|
||||
_list_free(p);
|
||||
|
||||
files = ecore_file_ls(s->directory);
|
||||
/* input is command ? */
|
||||
if (input)
|
||||
{
|
||||
if (!strncmp(input, "/", 1))
|
||||
{
|
||||
directory = "/";
|
||||
input = input + 1;
|
||||
}
|
||||
else if (!strncmp(input, "..", 2))
|
||||
{
|
||||
char *end;
|
||||
char dir[4096];
|
||||
char *tmp;
|
||||
int prio = 0;
|
||||
|
||||
snprintf(dir, 4096, "%s", s->directory);
|
||||
end = strrchr(dir, '/');
|
||||
|
||||
while (end != dir)
|
||||
{
|
||||
tmp = strdup(dir);
|
||||
snprintf(dir, (end - dir) + 1, "%s", tmp);
|
||||
it = E_NEW(Evry_Item, 1);
|
||||
it->uri = eina_stringshare_add(dir);
|
||||
it->label = eina_stringshare_add(dir);
|
||||
it->priority = prio;
|
||||
p->items = eina_list_append(p->items, it);
|
||||
end = strrchr(dir, '/');
|
||||
free(tmp);
|
||||
prio--;
|
||||
}
|
||||
|
||||
it = E_NEW(Evry_Item, 1);
|
||||
it->uri = eina_stringshare_add("/");
|
||||
it->label = eina_stringshare_add("/");
|
||||
it->priority = prio;
|
||||
p->items = eina_list_append(p->items, it);
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (!directory)
|
||||
directory = s->directory;
|
||||
|
||||
files = ecore_file_ls(directory);
|
||||
|
||||
if (input)
|
||||
{
|
||||
|
@ -157,17 +203,18 @@ _fetch(Evry_Plugin *p, const char *input)
|
|||
{
|
||||
if (e_util_glob_case_match(file, match1))
|
||||
{
|
||||
it = _item_add(s->directory, file);
|
||||
it->priority += 1;
|
||||
it = _item_add(directory, file);
|
||||
it->priority = 1;
|
||||
}
|
||||
else if (e_util_glob_case_match(file, match2))
|
||||
{
|
||||
it = _item_add(s->directory, file);
|
||||
it = _item_add(directory, file);
|
||||
it->priority = 0;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
it = _item_add(s->directory, file);
|
||||
it = _item_add(directory, file);
|
||||
}
|
||||
|
||||
if (it)
|
||||
|
@ -176,6 +223,8 @@ _fetch(Evry_Plugin *p, const char *input)
|
|||
free(file);
|
||||
}
|
||||
|
||||
s->items = p->items;
|
||||
|
||||
if (p->items) return 1;
|
||||
|
||||
return 0;
|
||||
|
@ -205,12 +254,10 @@ _realize(Evry_Plugin *p, Evas *e)
|
|||
|
||||
EINA_LIST_FOREACH(p->items, l, it)
|
||||
_item_fill(it, e);
|
||||
|
||||
|
||||
if (eina_list_count(p->items) > 0)
|
||||
{
|
||||
p->items = eina_list_sort(p->items, eina_list_count(p->items),
|
||||
_cb_sort);
|
||||
p->items = eina_list_sort(p->items, eina_list_count(p->items), _cb_sort);
|
||||
s->items = p->items;
|
||||
}
|
||||
}
|
||||
|
@ -239,24 +286,21 @@ _item_fill(Evry_Item *it, Evas *e)
|
|||
if (mime)
|
||||
{
|
||||
it->mime = eina_stringshare_add(mime);
|
||||
it->priority = 0;
|
||||
}
|
||||
else if (ecore_file_is_dir(it->uri))
|
||||
{
|
||||
it->mime = eina_stringshare_add("Folder");
|
||||
it->priority = 1;
|
||||
it->priority += 1;
|
||||
it->o_icon = edje_object_add(e);
|
||||
e_theme_edje_object_set(it->o_icon, "base/theme/fileman", "e/icons/folder");
|
||||
}
|
||||
else if ((mime = efreet_mime_type_get(it->uri)))
|
||||
{
|
||||
it->mime = eina_stringshare_add(mime);
|
||||
it->priority = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
it->mime = eina_stringshare_add("None");
|
||||
it->priority = 0;
|
||||
}
|
||||
|
||||
if (strcmp(it->mime, "Folder"))
|
||||
|
|
Loading…
Reference in New Issue