summaryrefslogtreecommitdiff
path: root/src/Fl_Browser_.cxx
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2007-12-15 16:20:16 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2007-12-15 16:20:16 +0000
commitfe1e8a37eeca9a9c6816fe7c71a782bfe9137ff1 (patch)
treea73e487ded36fa6d72f6fcf882f5ca59819f56a1 /src/Fl_Browser_.cxx
parenta9ee420fbf2f550a07cbd2caf07fc93b8cfabc94 (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/Fl_Browser_.cxx')
-rw-r--r--src/Fl_Browser_.cxx14
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: