Author: matt
Date: 2008-02-25 05:09:30 -0800 (Mon, 25 Feb 2008)
New Revision: 6043
Log:
Fixed Tab key to wrap around menu bars (STR #1877)

Modified:
   branches/branch-1.1/CHANGES
   branches/branch-1.1/src/Fl_Menu.cxx

Modified: branches/branch-1.1/CHANGES
===================================================================
--- branches/branch-1.1/CHANGES 2008-02-25 13:00:53 UTC (rev 6042)
+++ branches/branch-1.1/CHANGES 2008-02-25 13:09:30 UTC (rev 6043)
@@ -6,6 +6,7 @@
          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)

Modified: branches/branch-1.1/src/Fl_Menu.cxx
===================================================================
--- branches/branch-1.1/src/Fl_Menu.cxx 2008-02-25 13:00:53 UTC (rev 6042)
+++ branches/branch-1.1/src/Fl_Menu.cxx 2008-02-25 13:09:30 UTC (rev 6043)
@@ -634,8 +634,14 @@
     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))

_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit

Reply via email to