forked from enlightenment/enlightenment
'everything' dwim cursor handling:
right: switch to next tab if item is not browseable left: switch to prev tab if item has no parent SVN revision: 48261
This commit is contained in:
parent
ae9acb0d54
commit
d628d8547a
|
@ -99,8 +99,8 @@ EAPI void evry_plug_actions_free(Evry_Plugin *plugin);
|
||||||
void evry_history_init(void);
|
void evry_history_init(void);
|
||||||
void evry_history_free(void);
|
void evry_history_free(void);
|
||||||
|
|
||||||
EAPI int evry_browse_item(Evry_Selector *sel);
|
EAPI int evry_browse_item(Evry_Selector *sel);
|
||||||
void 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;
|
extern const char *action_selector;
|
||||||
|
|
|
@ -50,7 +50,7 @@ static void _evry_state_pop(Evry_Selector *sel);
|
||||||
static Evry_Selector *_evry_selector_new(int type);
|
static Evry_Selector *_evry_selector_new(int type);
|
||||||
static void _evry_selector_free(Evry_Selector *sel);
|
static void _evry_selector_free(Evry_Selector *sel);
|
||||||
static void _evry_selector_activate(Evry_Selector *sel);
|
static void _evry_selector_activate(Evry_Selector *sel);
|
||||||
static void _evry_selectors_switch(void);
|
static void _evry_selectors_switch(int dir);
|
||||||
static void _evry_selector_update(Evry_Selector *sel);
|
static void _evry_selector_update(Evry_Selector *sel);
|
||||||
static void _evry_selector_icon_set(Evry_Selector *sel);
|
static void _evry_selector_icon_set(Evry_Selector *sel);
|
||||||
static int _evry_selector_subjects_get(const char *plugin_name);
|
static int _evry_selector_subjects_get(const char *plugin_name);
|
||||||
|
@ -1247,13 +1247,13 @@ evry_browse_item(Evry_Selector *sel)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
EAPI int
|
||||||
evry_browse_back(Evry_Selector *sel)
|
evry_browse_back(Evry_Selector *sel)
|
||||||
{
|
{
|
||||||
Evry_State *s = sel->state;
|
Evry_State *s = sel->state;
|
||||||
|
|
||||||
if (!s || !sel->states->next)
|
if (!s || !sel->states->next)
|
||||||
return;
|
return 0;
|
||||||
|
|
||||||
_evry_state_pop(sel);
|
_evry_state_pop(sel);
|
||||||
|
|
||||||
|
@ -1263,10 +1263,12 @@ evry_browse_back(Evry_Selector *sel)
|
||||||
_evry_update_text_label(s);
|
_evry_update_text_label(s);
|
||||||
_evry_view_show(s->view);
|
_evry_view_show(s->view);
|
||||||
s->view->update(s->view, 1);
|
s->view->update(s->view, 1);
|
||||||
|
|
||||||
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_evry_selectors_switch(void)
|
_evry_selectors_switch(int dir)
|
||||||
{
|
{
|
||||||
Evry_State *s = selector->state;
|
Evry_State *s = selector->state;
|
||||||
|
|
||||||
|
@ -1283,12 +1285,12 @@ _evry_selectors_switch(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (selector == selectors[0])
|
if (selector == selectors[0] && dir > 0)
|
||||||
{
|
{
|
||||||
if (s->cur_item)
|
if (s->cur_item)
|
||||||
_evry_selector_activate(selectors[1]);
|
_evry_selector_activate(selectors[1]);
|
||||||
}
|
}
|
||||||
else if (selector == selectors[1])
|
else if (selector == selectors[1] && dir > 0)
|
||||||
{
|
{
|
||||||
int next_selector = 0;
|
int next_selector = 0;
|
||||||
Evry_Action *act;
|
Evry_Action *act;
|
||||||
|
@ -1306,7 +1308,14 @@ _evry_selectors_switch(void)
|
||||||
}
|
}
|
||||||
_evry_selector_activate(selectors[next_selector]);
|
_evry_selector_activate(selectors[next_selector]);
|
||||||
}
|
}
|
||||||
else if (selector == selectors[2])
|
else if (selector == selectors[1] && dir < 0)
|
||||||
|
{
|
||||||
|
_evry_selector_activate(selectors[0]);
|
||||||
|
|
||||||
|
edje_object_signal_emit(win->o_main,
|
||||||
|
"e,state,object_selector_hide", "e");
|
||||||
|
}
|
||||||
|
else if (selector == selectors[2] && dir > 0)
|
||||||
{
|
{
|
||||||
while (selector->states)
|
while (selector->states)
|
||||||
_evry_state_pop(selector);
|
_evry_state_pop(selector);
|
||||||
|
@ -1316,6 +1325,10 @@ _evry_selectors_switch(void)
|
||||||
|
|
||||||
_evry_selector_activate(selectors[0]);
|
_evry_selector_activate(selectors[0]);
|
||||||
}
|
}
|
||||||
|
else if (selector == selectors[2] && dir < 0)
|
||||||
|
{
|
||||||
|
_evry_selector_activate(selectors[1]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -1507,9 +1520,16 @@ _evry_cb_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
|
||||||
else if (_evry_view_key_press(s, ev))
|
else if (_evry_view_key_press(s, ev))
|
||||||
goto end;
|
goto end;
|
||||||
else if (!strcmp(key, "Right"))
|
else if (!strcmp(key, "Right"))
|
||||||
evry_browse_item(selector);
|
{
|
||||||
|
if (!evry_browse_item(selector) &&
|
||||||
|
(selector != selectors[2]))
|
||||||
|
_evry_selectors_switch(1);
|
||||||
|
}
|
||||||
else if (!strcmp(key, "Left"))
|
else if (!strcmp(key, "Left"))
|
||||||
evry_browse_back(selector);
|
{
|
||||||
|
if (!evry_browse_back(selector))
|
||||||
|
_evry_selectors_switch(-1);
|
||||||
|
}
|
||||||
else if (!strcmp(key, "Return"))
|
else if (!strcmp(key, "Return"))
|
||||||
{
|
{
|
||||||
if (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT)
|
if (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT)
|
||||||
|
@ -1518,7 +1538,7 @@ _evry_cb_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
|
||||||
_evry_plugin_action(selector, 1);
|
_evry_plugin_action(selector, 1);
|
||||||
}
|
}
|
||||||
else if (!strcmp(key, "Tab"))
|
else if (!strcmp(key, "Tab"))
|
||||||
_evry_selectors_switch();
|
_evry_selectors_switch(1);
|
||||||
else if (!strcmp(key, "BackSpace"))
|
else if (!strcmp(key, "BackSpace"))
|
||||||
{
|
{
|
||||||
if (!_evry_backspace(selector))
|
if (!_evry_backspace(selector))
|
||||||
|
@ -1699,7 +1719,7 @@ _evry_plugin_action(Evry_Selector *sel, int finished)
|
||||||
if (act->type_in2 && !it_object)
|
if (act->type_in2 && !it_object)
|
||||||
{
|
{
|
||||||
if (selectors[1] == selector)
|
if (selectors[1] == selector)
|
||||||
_evry_selectors_switch();
|
_evry_selectors_switch(1);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue