diff --git a/src/widgets/AButton.cpp b/src/widgets/AButton.cpp index 3afae75d6..d1ca98113 100644 --- a/src/widgets/AButton.cpp +++ b/src/widgets/AButton.cpp @@ -242,6 +242,15 @@ void AButton::UseDisabledAsDownHiliteImage(bool flag) mUseDisabledAsDownHiliteImage = flag; } +// This compensates for a but in wxWidgets 3.0.2 for mac: +// Couldn't set focus from keyboard when AcceptsFocus returns false; +// this bypasses that limitation +void AButton::SetFocusFromKbd() +{ + auto temp = AButton::TemporarilyAllowFocus(); + SetFocus(); +} + void AButton::SetAlternateImages(unsigned idx, wxImage up, wxImage over, diff --git a/src/widgets/AButton.h b/src/widgets/AButton.h index a57d5af54..af071e06c 100644 --- a/src/widgets/AButton.h +++ b/src/widgets/AButton.h @@ -59,6 +59,8 @@ class AButton final : public wxWindow { bool AcceptsFocus() const override { return s_AcceptsFocus; } bool AcceptsFocusFromKeyboard() const override { return true; } + void SetFocusFromKbd() override; + // Associate a set of four images (button up, highlight, button down, // disabled) with one nondefault state of the button void SetAlternateImages(unsigned idx,