From 8addcb46e90f17a8d5017f3dd0b6e3ab8ba69b81 Mon Sep 17 00:00:00 2001 From: "Michael D. Lowis" Date: Wed, 16 Nov 2016 19:45:53 -0500 Subject: [PATCH] tweaked mouse selection so only one region's selection is extended --- inc/edit.h | 1 + libedit/view.c | 17 +++++++++-------- xedit | Bin 57612 -> 57612 bytes xedit.c | 3 +++ 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/inc/edit.h b/inc/edit.h index bd4b3da..0e15682 100644 --- a/inc/edit.h +++ b/inc/edit.h @@ -210,6 +210,7 @@ typedef struct { uint32_t time; uint8_t count; bool pressed; + int region; } ButtonState; typedef struct { diff --git a/libedit/view.c b/libedit/view.c index 29917aa..b22d809 100644 --- a/libedit/view.c +++ b/libedit/view.c @@ -126,7 +126,7 @@ static void sync_view(View* view, size_t csr) { static size_t getoffset(View* view, size_t row, size_t col) { Row* scrrow = view_getrow(view, row); - assert(scrrow); + if (!scrrow) return SIZE_MAX; size_t pos = scrrow->off; if (col > scrrow->len) { pos = (scrrow->off + scrrow->rlen - 1); @@ -217,16 +217,17 @@ void view_byline(View* view, int move) { void view_setcursor(View* view, size_t row, size_t col) { size_t off = getoffset(view, row, col); - if (!in_selection(view->selection, off)) { - view->selection.beg = view->selection.end = off; - view->selection.col = buf_getcol(&(view->buffer), view->selection.end); - sync_view(view, view->selection.end); - } + view->selection.beg = view->selection.end = off; + view->selection.col = buf_getcol(&(view->buffer), view->selection.end); + sync_view(view, view->selection.end); } void view_selext(View* view, size_t row, size_t col) { - view->selection.end = getoffset(view, row, col); - sync_view(view, view->selection.end); + size_t off = getoffset(view, row, col); + if (off != SIZE_MAX) { + view->selection.end = off; + sync_view(view, view->selection.end); + } } void view_insert(View* view, Rune rune) { diff --git a/xedit b/xedit index e298f02102728ffb2405147563b43142811c32fe..1fcba5c325e9816058def21d62ad6e791867e3a1 100755 GIT binary patch delta 11332 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 E0P6Y id) { } else { view_selext(getview(id), row, col); } @@ -155,6 +157,7 @@ static void mouse_handler(MouseAct act, MouseBtn btn, int x, int y) { uint32_t now = getmillis(); uint32_t elapsed = now - MouseBtns[btn].time; MouseBtns[btn].time = now; + MouseBtns[btn].region = id; if (elapsed <= 250) MouseBtns[btn].count++; else -- 2.54.0