summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2008-02-25 13:09:30 +0000
committerMatthias Melcher <fltk@matthiasm.com>2008-02-25 13:09:30 +0000
commitac55d8490cb5d0f2b4bbbd30e2d75089b4fcd01e (patch)
tree5389a5fea93cbacbb84c23a27b9739b3f0da7e3e
parentfc60a90a6716994362b2e5548bb9be393feec2a1 (diff)
Fixed Tab key to wrap around menu bars (STR #1877)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@6043 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--CHANGES1
-rw-r--r--src/Fl_Menu.cxx10
2 files changed, 9 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index e849998fc..e1069c240 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,7 @@ CHANGES IN FLTK 1.1.8
STR #1742, STR #1777, STR #1794, STR #1827, STR #1843,
STR #1796, STR #1815, STR #1726, STR #1753, STR #1855,
STR #1862, STR #1867, STR #1874)
+ - Fixed Tab key to wrap around menu bars (STR #1877)
- Fixed possible timer leak in Scrollbar (STR #1880)
- Added documentation about the potential limitations
of Fl::grab on newer operating systems (STR #1747)
diff --git a/src/Fl_Menu.cxx b/src/Fl_Menu.cxx
index 703f2ec39..18a847e12 100644
--- a/src/Fl_Menu.cxx
+++ b/src/Fl_Menu.cxx
@@ -634,8 +634,14 @@ int menuwindow::early_hide_handle(int e) {
case FL_Tab:
if (Fl::event_shift()) goto BACKTAB;
case FL_Down:
- if (pp.menu_number || !pp.menubar) forward(pp.menu_number);
- else if (pp.menu_number < pp.nummenus-1) forward(pp.menu_number+1);
+ if (pp.menu_number || !pp.menubar) {
+ if (!forward(pp.menu_number) && Fl::event_key()==FL_Tab) {
+ pp.item_number = -1;
+ forward(pp.menu_number);
+ }
+ } else if (pp.menu_number < pp.nummenus-1) {
+ forward(pp.menu_number+1);
+ }
return 1;
case FL_Right:
if (pp.menubar && (pp.menu_number<=0 || pp.menu_number==1 && pp.nummenus==2))