From fe1e8a37eeca9a9c6816fe7c71a782bfe9137ff1 Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Sat, 15 Dec 2007 16:20:16 +0000 Subject: Fl_Browser_ and friends now support FL_WHEN_ENTER_KEY for both Enter/Return and double-clicks (STR #1818) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5992 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/Fl_Browser_.cxx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/Fl_Browser_.cxx b/src/Fl_Browser_.cxx index 183ccaf62..64beaa74a 100644 --- a/src/Fl_Browser_.cxx +++ b/src/Fl_Browser_.cxx @@ -590,11 +590,15 @@ int Fl_Browser_::handle(int event) { switch (Fl::event_key()) { case FL_Enter: case FL_KP_Enter: - select_only(l, when()); + select_only(l, when() & ~FL_WHEN_ENTER_KEY); + if (when() & FL_WHEN_ENTER_KEY) { + set_changed(); + do_callback(); + } return 1; case ' ': selection_ = l; - select(l, !item_selected(l), when()); + select(l, !item_selected(l), when() & ~FL_WHEN_ENTER_KEY); return 1; case FL_Down: while ((l = item_next(l))) { @@ -762,6 +766,12 @@ J1: } else { if (when() & FL_WHEN_NOT_CHANGED) do_callback(); } + + // double click calls the callback: (like Enter Key) + if (Fl::event_clicks() && (when() & FL_WHEN_ENTER_KEY)) { + set_changed(); + do_callback(); + } return 1; case FL_FOCUS: case FL_UNFOCUS: -- cgit v1.2.3