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;
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;
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
/* 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);
}
end:
- eina_stringshare_del(ev->key);
ev->key = old;
return 1;
}