terminology: Cleanup _smart_cb_key_down()
SVN revision: 75610
This commit is contained in:
parent
6e04128e7d
commit
a258b46431
156
src/bin/termio.c
156
src/bin/termio.c
|
@ -843,6 +843,72 @@ _compose_seq_reset(Termio *sd)
|
||||||
sd->composing = EINA_FALSE;
|
sd->composing = EINA_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static Eina_Bool
|
||||||
|
_handle_alt_ctrl(const char *keyname, Evas_Object *term)
|
||||||
|
{
|
||||||
|
if (!strcmp(keyname, "equal"))
|
||||||
|
termcmd_do(term, NULL, NULL, "f+");
|
||||||
|
else if (!strcmp(keyname, "minus"))
|
||||||
|
termcmd_do(term, NULL, NULL, "f-");
|
||||||
|
else if (!strcmp(keyname, "0"))
|
||||||
|
termcmd_do(term, NULL, NULL, "f");
|
||||||
|
else if (!strcmp(keyname, "9"))
|
||||||
|
termcmd_do(term, NULL, NULL, "fb");
|
||||||
|
else
|
||||||
|
return EINA_FALSE;
|
||||||
|
|
||||||
|
return EINA_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Eina_Bool
|
||||||
|
_handle_shift(Evas_Event_Key_Down *ev, int by, Evas_Object *term, Termio *sd)
|
||||||
|
{
|
||||||
|
if (!strcmp(ev->keyname, "Prior"))
|
||||||
|
{
|
||||||
|
sd->scroll += by;
|
||||||
|
if (sd->scroll > sd->pty->backscroll_num)
|
||||||
|
sd->scroll = sd->pty->backscroll_num;
|
||||||
|
_smart_update_queue(term, sd);
|
||||||
|
}
|
||||||
|
else if (!strcmp(ev->keyname, "Next"))
|
||||||
|
{
|
||||||
|
sd->scroll -= by;
|
||||||
|
if (sd->scroll < 0) sd->scroll = 0;
|
||||||
|
_smart_update_queue(term, sd);
|
||||||
|
}
|
||||||
|
else if (!strcmp(ev->keyname, "Insert"))
|
||||||
|
{
|
||||||
|
if (evas_key_modifier_is_set(ev->modifiers, "Control"))
|
||||||
|
_paste_selection(term, ELM_SEL_TYPE_PRIMARY);
|
||||||
|
else
|
||||||
|
_paste_selection(term, ELM_SEL_TYPE_CLIPBOARD);
|
||||||
|
}
|
||||||
|
else if (!strcmp(ev->keyname, "KP_Add"))
|
||||||
|
{
|
||||||
|
Config *config = termio_config_get(term);
|
||||||
|
|
||||||
|
if (config) _font_size_set(term, config->font.size + 1);
|
||||||
|
}
|
||||||
|
else if (!strcmp(ev->keyname, "KP_Subtract"))
|
||||||
|
{
|
||||||
|
Config *config = termio_config_get(term);
|
||||||
|
|
||||||
|
if (config) _font_size_set(term, config->font.size - 1);
|
||||||
|
}
|
||||||
|
else if (!strcmp(ev->keyname, "KP_Multiply"))
|
||||||
|
{
|
||||||
|
Config *config = termio_config_get(term);
|
||||||
|
|
||||||
|
if (config) _font_size_set(term, 10);
|
||||||
|
}
|
||||||
|
else if (!strcmp(ev->keyname, "KP_Divide"))
|
||||||
|
_take_selection(term, ELM_SEL_TYPE_CLIPBOARD);
|
||||||
|
else
|
||||||
|
return EINA_FALSE;
|
||||||
|
|
||||||
|
return EINA_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
_smart_cb_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event)
|
_smart_cb_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event)
|
||||||
{
|
{
|
||||||
|
@ -884,91 +950,23 @@ _smart_cb_key_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__,
|
||||||
(evas_key_modifier_is_set(ev->modifiers, "Control")) &&
|
(evas_key_modifier_is_set(ev->modifiers, "Control")) &&
|
||||||
(!evas_key_modifier_is_set(ev->modifiers, "Shift")))
|
(!evas_key_modifier_is_set(ev->modifiers, "Shift")))
|
||||||
{
|
{
|
||||||
_compose_seq_reset(sd);
|
if (_handle_alt_ctrl(ev->keyname, data))
|
||||||
if (!strcmp(ev->keyname, "equal"))
|
|
||||||
{
|
{
|
||||||
termcmd_do(data, NULL, NULL, "f+");
|
_compose_seq_reset(sd);
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
else if (!strcmp(ev->keyname, "minus"))
|
|
||||||
{
|
|
||||||
termcmd_do(data, NULL, NULL, "f-");
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
else if (!strcmp(ev->keyname, "0"))
|
|
||||||
{
|
|
||||||
termcmd_do(data, NULL, NULL, "f");
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
else if (!strcmp(ev->keyname, "9"))
|
|
||||||
{
|
|
||||||
termcmd_do(data, NULL, NULL, "fb");
|
|
||||||
goto end;
|
goto end;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (evas_key_modifier_is_set(ev->modifiers, "Shift"))
|
if ((evas_key_modifier_is_set(ev->modifiers, "Shift")) &&
|
||||||
|
(ev->keyname))
|
||||||
{
|
{
|
||||||
if (ev->keyname)
|
int by = sd->grid.h - 2;
|
||||||
{
|
|
||||||
int by = sd->grid.h - 2;
|
|
||||||
|
|
||||||
if (by < 1) by = 1;
|
if (by < 1) by = 1;
|
||||||
if (!strcmp(ev->keyname, "Prior"))
|
|
||||||
{
|
if (_handle_shift(ev, by, data, sd))
|
||||||
_compose_seq_reset(sd);
|
{
|
||||||
sd->scroll += by;
|
_compose_seq_reset(sd);
|
||||||
if (sd->scroll > sd->pty->backscroll_num)
|
goto end;
|
||||||
sd->scroll = sd->pty->backscroll_num;
|
|
||||||
_smart_update_queue(data, sd);
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
else if (!strcmp(ev->keyname, "Next"))
|
|
||||||
{
|
|
||||||
_compose_seq_reset(sd);
|
|
||||||
sd->scroll -= by;
|
|
||||||
if (sd->scroll < 0) sd->scroll = 0;
|
|
||||||
_smart_update_queue(data, sd);
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
else if (!strcmp(ev->keyname, "Insert"))
|
|
||||||
{
|
|
||||||
_compose_seq_reset(sd);
|
|
||||||
if (evas_key_modifier_is_set(ev->modifiers, "Control"))
|
|
||||||
_paste_selection(data, ELM_SEL_TYPE_PRIMARY);
|
|
||||||
else
|
|
||||||
_paste_selection(data, ELM_SEL_TYPE_CLIPBOARD);
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
else if (!strcmp(ev->keyname, "KP_Add"))
|
|
||||||
{
|
|
||||||
Config *config = termio_config_get(data);
|
|
||||||
|
|
||||||
_compose_seq_reset(sd);
|
|
||||||
if (config) _font_size_set(data, config->font.size + 1);
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
else if (!strcmp(ev->keyname, "KP_Subtract"))
|
|
||||||
{
|
|
||||||
Config *config = termio_config_get(data);
|
|
||||||
|
|
||||||
_compose_seq_reset(sd);
|
|
||||||
if (config) _font_size_set(data, config->font.size - 1);
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
else if (!strcmp(ev->keyname, "KP_Multiply"))
|
|
||||||
{
|
|
||||||
Config *config = termio_config_get(data);
|
|
||||||
|
|
||||||
_compose_seq_reset(sd);
|
|
||||||
if (config) _font_size_set(data, 10);
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
else if (!strcmp(ev->keyname, "KP_Divide"))
|
|
||||||
{
|
|
||||||
_compose_seq_reset(sd);
|
|
||||||
_take_selection(data, ELM_SEL_TYPE_CLIPBOARD);
|
|
||||||
goto end;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (sd->jump_on_keypress)
|
if (sd->jump_on_keypress)
|
||||||
|
|
Loading…
Reference in New Issue