forked from enlightenment/enlightenment
'everything' use an indicator to show when a trigger is active
SVN revision: 48240
This commit is contained in:
parent
aa65519498
commit
e739b9ecd9
|
@ -250,6 +250,7 @@ struct _Evry_State
|
||||||
Evry_View *view;
|
Evry_View *view;
|
||||||
|
|
||||||
Eina_Bool changed;
|
Eina_Bool changed;
|
||||||
|
Eina_Bool trigger_active;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Evry_View
|
struct _Evry_View
|
||||||
|
|
|
@ -1880,30 +1880,53 @@ _evry_matches_update(Evry_Selector *sel, int async)
|
||||||
Evry_Plugin *p;
|
Evry_Plugin *p;
|
||||||
Eina_List *l;
|
Eina_List *l;
|
||||||
const char *input;
|
const char *input;
|
||||||
s->changed = 1;
|
s->changed = 1;
|
||||||
|
|
||||||
EINA_LIST_FREE(s->cur_plugins, p);
|
|
||||||
|
|
||||||
if (s->inp[0])
|
if (s->inp[0])
|
||||||
input = s->inp;
|
input = s->inp;
|
||||||
else
|
else
|
||||||
input = NULL;
|
input = NULL;
|
||||||
|
|
||||||
if (input)
|
if (!input || !s->trigger_active)
|
||||||
|
{
|
||||||
|
EINA_LIST_FREE(s->cur_plugins, p);
|
||||||
|
s->trigger_active = EINA_FALSE;
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
|
EINA_LIST_FOREACH(s->cur_plugins, l, p)
|
||||||
|
p->fetch(p, s->input);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!s->cur_plugins && input)
|
||||||
|
{
|
||||||
|
int len_trigger = 0;
|
||||||
|
|
||||||
EINA_LIST_FOREACH(s->plugins, l, p)
|
EINA_LIST_FOREACH(s->plugins, l, p)
|
||||||
{
|
{
|
||||||
/* input matches plugin trigger? */
|
/* input matches plugin trigger? */
|
||||||
if (!p->trigger) continue;
|
if (!p->trigger) continue;
|
||||||
|
int len = strlen(p->trigger);
|
||||||
|
|
||||||
if ((strlen(s->inp) >= strlen(p->trigger)) &&
|
if (len_trigger && len != len_trigger)
|
||||||
(!strncmp(s->inp, p->trigger, strlen(p->trigger))))
|
continue;
|
||||||
|
|
||||||
|
if ((strlen(s->inp) >= len) &&
|
||||||
|
(!strncmp(s->inp, p->trigger, len)))
|
||||||
{
|
{
|
||||||
|
len_trigger = len;
|
||||||
s->cur_plugins = eina_list_append(s->cur_plugins, p);
|
s->cur_plugins = eina_list_append(s->cur_plugins, p);
|
||||||
s->input = s->inp + strlen(p->trigger);
|
p->fetch(p, s->input + len);
|
||||||
p->fetch(p, s->input);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (s->cur_plugins)
|
||||||
|
{
|
||||||
|
s->trigger_active = EINA_TRUE;
|
||||||
|
s->inp[0] = '>';
|
||||||
|
s->inp[1] = '\0';
|
||||||
|
s->input = s->inp + 1;
|
||||||
|
_evry_update_text_label(s);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!s->cur_plugins)
|
if (!s->cur_plugins)
|
||||||
|
|
Loading…
Reference in New Issue