vcl/source/treelist/svimpbox.cxx | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
New commits: commit 7dadf3db348ea1e38be7f58697852f6d775bc710 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Thu Jun 11 20:03:36 2020 +0100 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Fri Jun 12 20:02:57 2020 +0200 allow hover-select to unselect when mouse outside treeview Change-Id: Id991d4c3cdbb6a97c0024430bbff9ccbb29a2d52 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96165 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/vcl/source/treelist/svimpbox.cxx b/vcl/source/treelist/svimpbox.cxx index dbccbf3a17ca..bf54f1dcc7ae 100644 --- a/vcl/source/treelist/svimpbox.cxx +++ b/vcl/source/treelist/svimpbox.cxx @@ -2059,12 +2059,18 @@ void SvImpLBox::MouseButtonUp( const MouseEvent& rMEvt) void SvImpLBox::MouseMove( const MouseEvent& rMEvt) { - SvTreeListEntry* pEntry = GetClickedEntry( rMEvt.GetPosPixel() ); + Point aPos = rMEvt.GetPosPixel(); + SvTreeListEntry* pEntry = GetClickedEntry(aPos); if ( !MouseMoveCheckCtrl( rMEvt, pEntry ) && ( m_aSelEng.GetSelectionMode() != SelectionMode::NONE ) ) { m_aSelEng.SelMouseMove(rMEvt); - if (m_pView->mbHoverSelection && !m_pView->IsSelected(pEntry) && IsSelectable(pEntry)) - m_pView->Select(pEntry); + if (m_pView->mbHoverSelection) + { + if (aPos.X() < 0 || aPos.Y() < 0 || aPos.X() > m_aOutputSize.Width() || aPos.Y() > m_aOutputSize.Height()) + m_pView->SelectAll(false); + else if (!m_pView->IsSelected(pEntry) && IsSelectable(pEntry)) + m_pView->Select(pEntry); + } } } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits