explicitly check that not ctrl or shift modifiers are active for normal tab bevahior.

cleanup


SVN revision: 48909
This commit is contained in:
Hannes Janetzek 2010-05-16 04:06:15 +00:00
parent 0f508a61ce
commit c011256d5c
1 changed files with 33 additions and 45 deletions

View File

@ -1522,7 +1522,7 @@ _evry_cb_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
Ecore_Event_Key *ev = event;
Evry_State *s;
Evry_Selector *sel;
const char *key = NULL, *old;
const char *old;
if (ev->event_window != input_window)
return 1;
@ -1574,62 +1574,51 @@ _evry_cb_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
if (!strcmp(ev->key, "KP_Enter"))
{
key = eina_stringshare_add("Return");
ev->key = "Return";
}
else if (((evry_conf->quick_nav == 1) && (ev->modifiers & ECORE_EVENT_MODIFIER_ALT)) ||
((evry_conf->quick_nav == 2) && (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL)))
{
if (!strcmp(ev->key, "k") || (!strcmp(ev->key, "K")))
key = eina_stringshare_add("Up");
ev->key = "Up";
else if (!strcmp(ev->key, "j") || (!strcmp(ev->key, "J")))
key = eina_stringshare_add("Down");
ev->key = "Down";
else if (!strcmp(ev->key, "n") || (!strcmp(ev->key, "N")))
key = eina_stringshare_add("Next");
ev->key = "Next";
else if (!strcmp(ev->key, "p") || (!strcmp(ev->key, "P")))
key = eina_stringshare_add("Prior");
ev->key = "Prior";
else if (!strcmp(ev->key, "l") || (!strcmp(ev->key, "L")))
key = eina_stringshare_add("Right");
ev->key = "Right";
else if (!strcmp(ev->key, "h") || (!strcmp(ev->key, "H")))
key = eina_stringshare_add("Left");
ev->key = "Left";
else if (!strcmp(ev->key, "i") || (!strcmp(ev->key, "I")))
key = eina_stringshare_add("Tab");
ev->key = "Tab";
else if (!strcmp(ev->key, "m") || (!strcmp(ev->key, "M")))
key = eina_stringshare_add("Return");
else
key = eina_stringshare_add(ev->key);
ev->key = key;
ev->key = "Return";
}
else if (((evry_conf->quick_nav == 3) && (ev->modifiers & ECORE_EVENT_MODIFIER_ALT)) ||
((evry_conf->quick_nav == 4) && (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL)))
{
if (!strcmp(ev->key, "p") || (!strcmp(ev->key, "P")))
key = eina_stringshare_add("Up");
ev->key = "Up";
else if (!strcmp(ev->key, "n") || (!strcmp(ev->key, "N")))
key = eina_stringshare_add("Down");
ev->key = "Down";
else if (!strcmp(ev->key, "f") || (!strcmp(ev->key, "F")))
key = eina_stringshare_add("Right");
ev->key = "Right";
else if (!strcmp(ev->key, "b") || (!strcmp(ev->key, "B")))
key = eina_stringshare_add("Left");
ev->key = "Left";
else if (!strcmp(ev->key, "i") || (!strcmp(ev->key, "I")))
key = eina_stringshare_add("Tab");
ev->key = "Tab";
else if (!strcmp(ev->key, "m") || (!strcmp(ev->key, "M")))
key = eina_stringshare_add("Return");
else
key = eina_stringshare_add(ev->key);
ev->key = key;
}
else
{
key = eina_stringshare_add(ev->key);
ev->key = key;
ev->key = "Return";
}
if (!win || !(sel = win->selector))
goto end;
if (!ev->modifiers && !strcmp(key, "Tab"))
if (!strcmp(ev->key, "Tab") &&
!((ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) ||
(ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT)))
{
_evry_selectors_switch(1);
goto end;
@ -1638,42 +1627,42 @@ _evry_cb_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
if (!(s = sel->state))
goto end;
if (!win->visible && (!strcmp(key, "Down")))
if (!win->visible && (!strcmp(ev->key, "Down")))
{
_evry_list_win_show();
}
else if ((!strcmp(key, "ISO_Left_Tab") ||
else if ((!strcmp(ev->key, "ISO_Left_Tab") ||
(((ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) ||
(ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT)) &&
(!strcmp(key, "Tab")))))
(!strcmp(ev->key, "Tab")))))
{
_evry_input_complete(s);
}
else if ((ev->modifiers & ECORE_EVENT_MODIFIER_CTRL) &&
(!strcmp(key, "Delete") || !strcmp(key, "Insert")))
(!strcmp(ev->key, "Delete") || !strcmp(ev->key, "Insert")))
{
if (!s->cur_item)
goto end;
int delete = (!strcmp(key, "Delete") && (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT));
int promote = (!strcmp(key, "Insert"));
int delete = (!strcmp(ev->key, "Delete") && (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT));
int promote = (!strcmp(ev->key, "Insert"));
_evry_cheat_history(s, promote, delete);
}
else if (ev->modifiers & ECORE_EVENT_MODIFIER_CTRL)
{
if (!strcmp(key, "u"))
if (!strcmp(ev->key, "u"))
{
if (!_evry_clear(sel))
evry_browse_back(sel);
goto end;
}
else if (!strcmp(key, "1"))
else if (!strcmp(ev->key, "1"))
_evry_view_toggle(s, NULL);
else if (!strcmp(key, "Return"))
else if (!strcmp(ev->key, "Return"))
_evry_plugin_action(sel, 0);
else if (!strcmp(key, "v"))
else if (!strcmp(ev->key, "v"))
{
win->request_selection = EINA_TRUE;
ecore_x_selection_primary_request
@ -1692,25 +1681,25 @@ _evry_cb_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
/* let view intercept keypress */
else if (_evry_view_key_press(s, ev))
goto end;
else if (!strcmp(key, "Right"))
else if (!strcmp(ev->key, "Right"))
{
if (!evry_browse_item(sel) &&
(sel != win->selectors[2]))
_evry_selectors_switch(1);
}
else if (!strcmp(key, "Left"))
else if (!strcmp(ev->key, "Left"))
{
if (!evry_browse_back(sel))
_evry_selectors_switch(-1);
}
else if (!strcmp(key, "Return"))
else if (!strcmp(ev->key, "Return"))
{
if (ev->modifiers & ECORE_EVENT_MODIFIER_SHIFT)
_evry_plugin_action(sel, 0);
else /*if (!_evry_browse_item(sel))*/
_evry_plugin_action(sel, 1);
}
else if (!strcmp(key, "BackSpace"))
else if (!strcmp(ev->key, "BackSpace"))
{
if (!_evry_backspace(sel))
evry_browse_back(sel);
@ -1733,7 +1722,6 @@ _evry_cb_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
}
end:
eina_stringshare_del(ev->key);
ev->key = old;
return 1;
}