diff options
Diffstat (limited to 'vcl/source/window/window.cxx')
-rw-r--r-- | vcl/source/window/window.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx index 111194255057..0945f881e7e9 100644 --- a/vcl/source/window/window.cxx +++ b/vcl/source/window/window.cxx @@ -1851,6 +1851,11 @@ void Window::LoseFocus() CompatNotify( aNEvt ); } +void Window::SetHelpHdl(const Link<vcl::Window&, bool>& rLink) +{ + mpWindowImpl->maHelpRequestHdl = rLink; +} + void Window::RequestHelp( const HelpEvent& rHEvt ) { // if Balloon-Help is requested, show the balloon @@ -1889,7 +1894,7 @@ void Window::RequestHelp( const HelpEvent& rHEvt ) Help::ShowQuickHelp( this, aRect, rStr, aHelpText, QuickHelpFlags::CtrlText ); } } - else + else if (!mpWindowImpl->maHelpRequestHdl.IsSet() || mpWindowImpl->maHelpRequestHdl.Call(*this)) { OUString aStrHelpId( OStringToOUString( GetHelpId(), RTL_TEXTENCODING_UTF8 ) ); if ( aStrHelpId.isEmpty() && ImplGetParent() ) |