diff options
author | Caolán McNamara <caolanm@redhat.com> | 2019-12-09 11:56:01 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2019-12-09 15:25:38 +0100 |
commit | c29fa13bd050134e751b01d0c4178538c4c20f69 (patch) | |
tree | 5c34ac9d6447792b22a4e05bc1d5b5bd6b4c8142 /vcl/source | |
parent | 43c77cb8f6e4c13b457e76f3d27b41dfd06aa8a5 (diff) |
Related tdf#108458 if no TooltipHdl set use usual tooltip
also if the Tooltip was blank continue to use usual tooltip
Change-Id: I7dd02ffcbb558684ff41e50586284607a1ea4881
Reviewed-on: https://gerrit.libreoffice.org/84741
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'vcl/source')
-rw-r--r-- | vcl/source/app/salvtables.cxx | 11 | ||||
-rw-r--r-- | vcl/source/treelist/treelistbox.cxx | 12 |
2 files changed, 12 insertions, 11 deletions
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index e26a6a3713fe..c37cab6261e8 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -3469,7 +3469,7 @@ private: DECL_LINK(VisibleRangeChangedHdl, SvTreeListBox*, void); DECL_LINK(CompareHdl, const SvSortData&, sal_Int32); DECL_LINK(PopupMenuHdl, const CommandEvent&, bool); - DECL_LINK(TooltipHdl, const HelpEvent&, void); + DECL_LINK(TooltipHdl, const HelpEvent&, bool); bool IsDummyEntry(SvTreeListEntry* pEntry) const { @@ -4627,24 +4627,27 @@ public: m_xTreeView->SetSelectHdl(Link<SvTreeListBox*, void>()); m_xTreeView->SetDeselectHdl(Link<SvTreeListBox*, void>()); m_xTreeView->SetScrolledHdl(Link<SvTreeListBox*, void>()); - m_xTreeView->SetTooltipHdl(Link<const HelpEvent&, void>()); + m_xTreeView->SetTooltipHdl(Link<const HelpEvent&, bool>()); } }; -IMPL_LINK(SalInstanceTreeView, TooltipHdl, const HelpEvent&, rHEvt, void) +IMPL_LINK(SalInstanceTreeView, TooltipHdl, const HelpEvent&, rHEvt, bool) { if (notify_events_disabled()) - return; + return false; Point aPos(m_xTreeView->ScreenToOutputPixel(rHEvt.GetMousePosPixel())); SvTreeListEntry* pEntry = m_xTreeView->GetEntry(aPos); if (pEntry) { SalInstanceTreeIter aIter(pEntry); OUString aTooltip = signal_query_tooltip(aIter); + if (aTooltip.isEmpty()) + return false; Size aSize(m_xTreeView->GetOutputSizePixel().Width(), m_xTreeView->GetEntryHeight()); tools::Rectangle aScreenRect(m_xTreeView->OutputToScreenPixel(m_xTreeView->GetEntryPosition(pEntry)), aSize); Help::ShowQuickHelp(m_xTreeView, aScreenRect, aTooltip); } + return true; } IMPL_LINK(SalInstanceTreeView, CompareHdl, const SvSortData&, rSortData, sal_Int32) diff --git a/vcl/source/treelist/treelistbox.cxx b/vcl/source/treelist/treelistbox.cxx index a192fa7ddb03..5e9629d266b4 100644 --- a/vcl/source/treelist/treelistbox.cxx +++ b/vcl/source/treelist/treelistbox.cxx @@ -3322,13 +3322,11 @@ void SvTreeListBox::GetLastTab( SvLBoxTabFlags nFlagMask, sal_uInt16& rTabPos ) void SvTreeListBox::RequestHelp( const HelpEvent& rHEvt ) { - if (aTooltipHdl.IsSet()) - aTooltipHdl.Call(rHEvt); - else - { - if( !pImpl->RequestHelp( rHEvt ) ) - Control::RequestHelp( rHEvt ); - } + if (aTooltipHdl.IsSet() && aTooltipHdl.Call(rHEvt)) + return; + + if( !pImpl->RequestHelp( rHEvt ) ) + Control::RequestHelp( rHEvt ); } sal_Int32 SvTreeListBox::DefaultCompare(const SvLBoxString* pLeftText, const SvLBoxString* pRightText) |