diff --git a/modules/juce_gui_basics/components/juce_Component.cpp b/modules/juce_gui_basics/components/juce_Component.cpp index f59f32a554..785f39b64b 100644 --- a/modules/juce_gui_basics/components/juce_Component.cpp +++ b/modules/juce_gui_basics/components/juce_Component.cpp @@ -2820,6 +2820,12 @@ Component* JUCE_CALLTYPE Component::getCurrentlyFocusedComponent() noexcept return currentlyFocusedComponent; } +void JUCE_CALLTYPE Component::unfocusAllComponents() +{ + if (Component* c = getCurrentlyFocusedComponent()) + c->giveAwayFocus (true); +} + void Component::giveAwayFocus (const bool sendFocusLossEvent) { Component* const componentLosingFocus = currentlyFocusedComponent; diff --git a/modules/juce_gui_basics/components/juce_Component.h b/modules/juce_gui_basics/components/juce_Component.h index 7f81da3932..2e50c61057 100644 --- a/modules/juce_gui_basics/components/juce_Component.h +++ b/modules/juce_gui_basics/components/juce_Component.h @@ -1250,6 +1250,7 @@ public: */ static Component* JUCE_CALLTYPE getCurrentlyFocusedComponent() noexcept; + /** If any component has keyboard focus, this will defocus it. */ static void JUCE_CALLTYPE unfocusAllComponents(); //==============================================================================