diff options
| author | Michael R Sweet <michael.r.sweet@gmail.com> | 2007-12-15 16:20:16 +0000 |
|---|---|---|
| committer | Michael R Sweet <michael.r.sweet@gmail.com> | 2007-12-15 16:20:16 +0000 |
| commit | fe1e8a37eeca9a9c6816fe7c71a782bfe9137ff1 (patch) | |
| tree | a73e487ded36fa6d72f6fcf882f5ca59819f56a1 /src | |
| parent | a9ee420fbf2f550a07cbd2caf07fc93b8cfabc94 (diff) | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/Fl_Browser_.cxx | 14 |
1 files changed, 12 insertions, 2 deletions
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: |
