From 03802df2a95fb2391c0508c5e47d3563ec4cb4f2 Mon Sep 17 00:00:00 2001 From: Boris Faure Date: Fri, 15 Nov 2013 22:21:11 +0100 Subject: [PATCH] simple click doesn't create one-char selection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (for real…) --- src/bin/termio.c | 33 ++++++++++----------------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/src/bin/termio.c b/src/bin/termio.c index 466c254e..3895d619 100644 --- a/src/bin/termio.c +++ b/src/bin/termio.c @@ -3083,7 +3083,6 @@ _smart_cb_mouse_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUS start_y = sd->pty->selection.start.y; end_x = sd->pty->selection.end.x; end_y = sd->pty->selection.end.y; - _sel_set(data, EINA_TRUE); sd->pty->selection.makesel = EINA_TRUE; if (sd->pty->selection.is_box) { @@ -3140,29 +3139,16 @@ _smart_cb_mouse_down(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUS else { sd->moved = EINA_FALSE; - _sel_set(data, EINA_TRUE); - if (evas_key_modifier_is_set(ev->modifiers, "Shift") || + sd->pty->selection.is_box = + (evas_key_modifier_is_set(ev->modifiers, "Shift") || evas_key_modifier_is_set(ev->modifiers, "Control") || - evas_key_modifier_is_set(ev->modifiers, "Alt")) - { - sd->pty->selection.start.x = cx; - sd->pty->selection.start.y = cy - sd->scroll; - sd->pty->selection.end.x = cx; - sd->pty->selection.end.y = cy - sd->scroll; - sd->pty->selection.makesel = EINA_TRUE; - sd->pty->selection.is_box = EINA_TRUE; - _selection_dbl_fix(data); - } - else - { - sd->pty->selection.makesel = EINA_TRUE; - sd->pty->selection.start.x = cx; - sd->pty->selection.start.y = cy - sd->scroll; - sd->pty->selection.end.x = cx; - sd->pty->selection.end.y = cy - sd->scroll; - sd->pty->selection.is_box = EINA_FALSE; - _selection_dbl_fix(data); - } + evas_key_modifier_is_set(ev->modifiers, "Alt")); + sd->pty->selection.start.x = cx; + sd->pty->selection.start.y = cy - sd->scroll; + sd->pty->selection.end.x = cx; + sd->pty->selection.end.y = cy - sd->scroll; + sd->pty->selection.makesel = EINA_TRUE; + _selection_dbl_fix(data); } } } @@ -3329,6 +3315,7 @@ _smart_cb_mouse_move(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUS if (sd->pty->selection.makesel) { int start_x, start_y, end_x, end_y; + _sel_set(data, EINA_TRUE); if (!sd->pty->selection.is_active) {