1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-22 23:30:07 +02:00

Bug868: Mac: Fix (Shift+)Alt+f6 navigation cycle through top windows

This commit is contained in:
Paul Licameli 2016-06-21 11:15:09 -04:00
parent d708989711
commit a00f866b54

View File

@ -2856,6 +2856,16 @@ void AudacityProject::NextWindow()
// And make sure it's on top (only for floating windows...project window will not raise) // And make sure it's on top (only for floating windows...project window will not raise)
// (Really only works on Windows) // (Really only works on Windows)
w->Raise(); w->Raise();
#ifdef __WXMAC__
// bug 868
// Simulate a TAB key press before continuing, else the cycle of
// navigation among top level windows stops because the keystrokes don't
// go to the CommandManager.
if (dynamic_cast<wxDialog*>(w)) {
w->NavigateIn();
}
#endif
} }
void AudacityProject::PrevWindow() void AudacityProject::PrevWindow()
@ -2881,7 +2891,7 @@ void AudacityProject::PrevWindow()
{ {
// If it's a toplevel and is visible (we have come hidden windows), then we're done // If it's a toplevel and is visible (we have come hidden windows), then we're done
w = iter->GetData(); w = iter->GetData();
if (w->IsTopLevel() && w->IsShown()) if (w->IsTopLevel() && w->IsShown() && IsEnabled())
{ {
break; break;
} }
@ -2905,6 +2915,16 @@ void AudacityProject::PrevWindow()
// And make sure it's on top (only for floating windows...project window will not raise) // And make sure it's on top (only for floating windows...project window will not raise)
// (Really only works on Windows) // (Really only works on Windows)
w->Raise(); w->Raise();
#ifdef __WXMAC__
// bug 868
// Simulate a TAB key press before continuing, else the cycle of
// navigation among top level windows stops because the keystrokes don't
// go to the CommandManager.
if (dynamic_cast<wxDialog*>(w)) {
w->NavigateIn();
}
#endif
} }
//The following methods operate controls on specified tracks, //The following methods operate controls on specified tracks,