diff options
| -rw-r--r-- | CHANGES | 2 | ||||
| -rw-r--r-- | src/Fl_Browser_.cxx | 14 |
2 files changed, 14 insertions, 2 deletions
@@ -4,6 +4,8 @@ CHANGES IN FLTK 1.1.8 STR #1457, STR #1458, STR #1460, STR #1481, STR #1578, STR #1639, STR #1645, STR #1644, STR #1792, STR #1793, STR #1742, STR #1777, STR #1794) + - Fl_Browser_ and friends now support FL_WHEN_ENTER_KEY + for both Enter/Return and double-clicks (STR #1818) - Fl_Help_View did not release the images it used (STR #1817) - Shared libraries would not build on 64-bit Linux 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: |
