[Libreoffice-commits] core.git: vcl/inc vcl/source
Julien Nabet (via logerrit)
logerrit at kemper.freedesktop.org
Mon Aug 16 11:21:19 UTC 2021
vcl/inc/svimpbox.hxx | 9 ---------
vcl/source/treelist/svimpbox.cxx | 1 +
vcl/source/treelist/treelistbox.cxx | 24 ++++++------------------
3 files changed, 7 insertions(+), 27 deletions(-)
New commits:
commit 183f66f79b40b6159a0edcf1b49c3aa612c90525
Author: Julien Nabet <serval2412 at yahoo.fr>
AuthorDate: Mon Aug 16 11:25:37 2021 +0200
Commit: Julien Nabet <serval2412 at yahoo.fr>
CommitDate: Mon Aug 16 13:20:21 2021 +0200
Revert "tdf#143114 Avoid StartDrag on TreeListBox when CaptureOnButton"
This reverts commit ca7dab5d96e73b7b4b045e2460e0b2ee150757db.
It created tdf#143749 + the dup tdf#143865
Change-Id: Ibd68c45213491b0df7dc36f0418de307412499c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120531
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412 at yahoo.fr>
diff --git a/vcl/inc/svimpbox.hxx b/vcl/inc/svimpbox.hxx
index c46003c35dd4..554c5a8070ae 100644
--- a/vcl/inc/svimpbox.hxx
+++ b/vcl/inc/svimpbox.hxx
@@ -310,17 +310,8 @@ public:
bool IsSelectable( const SvTreeListEntry* pEntry );
void SetForceMakeVisible(bool bEnable) { mbForceMakeVisible = bEnable; }
-
- // tdf#143114 allow to ask if CaptureOnButton is active
- // (MouseButtonDown hit on SvLBoxButton, CaptureMouse() active)
- bool IsCaptureOnButtonActive() const;
};
-inline bool SvImpLBox::IsCaptureOnButtonActive() const
-{
- return nullptr != m_pActiveButton && nullptr != m_pActiveEntry;
-}
-
inline Image& SvImpLBox::implGetImageLocation( const ImageType _eType )
{
return m_aNodeAndEntryImages[_eType];
diff --git a/vcl/source/treelist/svimpbox.cxx b/vcl/source/treelist/svimpbox.cxx
index 0b4f1e50d122..835ee2eac949 100644
--- a/vcl/source/treelist/svimpbox.cxx
+++ b/vcl/source/treelist/svimpbox.cxx
@@ -1794,6 +1794,7 @@ void SvImpLBox::EntryInserted( SvTreeListEntry* pEntry )
// ****** Control the control animation
+
bool SvImpLBox::ButtonDownCheckCtrl(const MouseEvent& rMEvt, SvTreeListEntry* pEntry)
{
SvLBoxItem* pItem = m_pView->GetItem(pEntry,rMEvt.GetPosPixel().X(),&m_pActiveTab);
diff --git a/vcl/source/treelist/treelistbox.cxx b/vcl/source/treelist/treelistbox.cxx
index ee4b01981007..660294dd36c4 100644
--- a/vcl/source/treelist/treelistbox.cxx
+++ b/vcl/source/treelist/treelistbox.cxx
@@ -1108,13 +1108,9 @@ void SvTreeListBox::SetupDragOrigin()
void SvTreeListBox::StartDrag( sal_Int8, const Point& rPosPixel )
{
- if(nullptr != pImpl)
- {
- // tdf#143114 do not start drag when a Button/Checkbox is in
- // drag-before-ButtonUp mode (CaptureMouse() active)
- if(pImpl->IsCaptureOnButtonActive())
- return;
- }
+ Point aEventPos( rPosPixel );
+ MouseEvent aMouseEvt( aEventPos, 1, MouseEventModifiers::SELECT, MOUSE_LEFT );
+ MouseButtonUp( aMouseEvt );
nOldDragMode = GetDragDropMode();
if ( nOldDragMode == DragDropMode::NONE )
@@ -2286,26 +2282,18 @@ void SvTreeListBox::Paint(vcl::RenderContext& rRenderContext, const tools::Recta
void SvTreeListBox::MouseButtonDown( const MouseEvent& rMEvt )
{
+ pImpl->m_pCursorOld = pImpl->m_pCursor;
pImpl->MouseButtonDown( rMEvt );
-
- // tdf#143114 remember the *correct* starting entry
- pImpl->m_pCursorOld = (rMEvt.IsLeft() && (nTreeFlags & SvTreeFlags::CHKBTN) && mnClicksToToggle > 0)
- ? GetEntry(rMEvt.GetPosPixel())
- : nullptr;
}
void SvTreeListBox::MouseButtonUp( const MouseEvent& rMEvt )
{
// tdf#116675 clicking on an entry should toggle its checkbox
- // tdf#143114 use the already created starting entry and if it exists
- if (nullptr != pImpl->m_pCursorOld)
+ if (rMEvt.IsLeft() && (nTreeFlags & SvTreeFlags::CHKBTN) && mnClicksToToggle > 0)
{
const Point aPnt = rMEvt.GetPosPixel();
SvTreeListEntry* pEntry = GetEntry(aPnt);
-
- // compare if MouseButtonUp *is* on the same entry, regardless of scrolling
- // or other things
- if (pEntry && pEntry->m_Items.size() > 0 && 1 == mnClicksToToggle && pEntry == pImpl->m_pCursorOld)
+ if (pEntry && pEntry->m_Items.size() > 0 && (mnClicksToToggle == 1 || pEntry == pImpl->m_pCursorOld))
{
SvLBoxItem* pItem = GetItem(pEntry, aPnt.X());
// if the checkbox button was clicked, that will be toggled later, do not toggle here
More information about the Libreoffice-commits
mailing list