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

Bug 1469 - Shift key does not modify Play/Record buttons when Karaoke view has focus

This commit is contained in:
James Crook 2017-05-14 22:14:13 +01:00
parent 4be26f5bae
commit a0ea5d64db
2 changed files with 7 additions and 1 deletions

View File

@ -461,6 +461,7 @@ void Lyrics::OnKeyEvent(wxKeyEvent & event)
{ {
AudacityProject *project = GetActiveProject(); AudacityProject *project = GetActiveProject();
project->GetCommandManager()->FilterKeyEvent(project, event, true); project->GetCommandManager()->FilterKeyEvent(project, event, true);
event.Skip();
} }
void Lyrics::OnPaint(wxPaintEvent & WXUNUSED(event)) void Lyrics::OnPaint(wxPaintEvent & WXUNUSED(event))

View File

@ -1204,12 +1204,17 @@ bool CommandManager::FilterKeyEvent(AudacityProject *project, const wxKeyEvent &
{ {
wxWindow * pWnd = wxWindow::FindFocus(); wxWindow * pWnd = wxWindow::FindFocus();
wxWindow * pTrackPanel = (wxWindow*)GetActiveProject()->GetTrackPanel(); wxWindow * pTrackPanel = (wxWindow*)GetActiveProject()->GetTrackPanel();
bool bIntercept = pWnd != pTrackPanel;
// Intercept keys from windows that are NOT panels
if( bIntercept ){
bIntercept = pWnd && ( dynamic_cast<wxPanel*>(pWnd) == NULL );
}
//wxLogDebug("Focus: %p TrackPanel: %p", pWnd, pTrackPanel ); //wxLogDebug("Focus: %p TrackPanel: %p", pWnd, pTrackPanel );
// We allow the keystrokes below to be handled by wxWidgets controls IF we are // We allow the keystrokes below to be handled by wxWidgets controls IF we are
// in some sub window rather than in the TrackPanel itself. // in some sub window rather than in the TrackPanel itself.
// Otherwise they will go to our command handler and if it handles them // Otherwise they will go to our command handler and if it handles them
// they will NOT be available to wxWidgets. // they will NOT be available to wxWidgets.
if( pWnd != pTrackPanel ){ if( bIntercept ){
switch( evt.GetKeyCode() ){ switch( evt.GetKeyCode() ){
case WXK_LEFT: case WXK_LEFT:
case WXK_RIGHT: case WXK_RIGHT: