diff --git a/src/effects/AutoDuck.h b/src/effects/AutoDuck.h index ede5f31bc..720fd39a1 100644 --- a/src/effects/AutoDuck.h +++ b/src/effects/AutoDuck.h @@ -108,6 +108,9 @@ private: }; virtual bool AcceptsFocus() const {return false;} + // So that wxPanel is not included in Tab traversal - see wxWidgets bug 15581 + virtual bool AcceptsFocusFromKeyboard() const {return false;} + void OnPaint(wxPaintEvent & evt); void OnMouseCaptureChanged(wxMouseCaptureChangedEvent & evt); diff --git a/src/effects/Effect.cpp b/src/effects/Effect.cpp index 578284497..744ce1777 100644 --- a/src/effects/Effect.cpp +++ b/src/effects/Effect.cpp @@ -2742,6 +2742,12 @@ public: return mAcceptsFocus; } + // So that wxPanel is not included in Tab traversal, when required - see wxWidgets bug 15581 + virtual bool AcceptsFocusFromKeyboard() const + { + return mAcceptsFocus; + } + // ============================================================================ // EffectPanel implementation // ============================================================================ diff --git a/src/effects/Equalization.h b/src/effects/Equalization.h index 9414b6744..52829e257 100644 --- a/src/effects/Equalization.h +++ b/src/effects/Equalization.h @@ -277,6 +277,8 @@ public: // We don't need or want to accept focus. bool AcceptsFocus() const { return false; } + // So that wxPanel is not included in Tab traversal - see wxWidgets bug 15581 + bool AcceptsFocusFromKeyboard() const { return false; } void ForceRecalc(); diff --git a/src/effects/ScienFilter.cpp b/src/effects/ScienFilter.cpp index cf76b3d1d..5569f995c 100644 --- a/src/effects/ScienFilter.cpp +++ b/src/effects/ScienFilter.cpp @@ -1055,6 +1055,11 @@ bool EffectScienFilterPanel::AcceptsFocus() const return false; } +bool EffectScienFilterPanel::AcceptsFocusFromKeyboard() const +{ + return false; +} + void EffectScienFilterPanel::OnSize(wxSizeEvent & WXUNUSED(evt)) { Refresh(false); diff --git a/src/effects/ScienFilter.h b/src/effects/ScienFilter.h index a276b2e3b..4d80e7512 100644 --- a/src/effects/ScienFilter.h +++ b/src/effects/ScienFilter.h @@ -143,6 +143,8 @@ public: // We don't need or want to accept focus. bool AcceptsFocus() const; + // So that wxPanel is not included in Tab traversal - see wxWidgets bug 15581 + bool AcceptsFocusFromKeyboard() const; void SetFreqRange(double lo, double hi); void SetDbRange(double min, double max); diff --git a/src/widgets/Ruler.h b/src/widgets/Ruler.h index a0bf1dbbc..fddd7e47f 100644 --- a/src/widgets/Ruler.h +++ b/src/widgets/Ruler.h @@ -257,6 +257,8 @@ class AUDACITY_DLL_API RulerPanel : public wxPanel { // We don't need or want to accept focus. bool AcceptsFocus() const { return false; } + // So that wxPanel is not included in Tab traversal - see wxWidgets bug 15581 + bool AcceptsFocusFromKeyboard() const { return false; } public: