Resolves: tdf#154912 make double-click to expand rows the same as arrow expand
the arrow case does the necessary removal of the "dummy" entry which is
necessary to get the treeview to indicate it has children, while the
double click case skipped that step, so rearrange so both behave the
same.
Change-Id: I6161d786cd58b0eea53152074dff2b035c621e7f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150622
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
(cherry picked from commit 310a23fd4dde657038efb1e3fbb9db9e0cdbca3b)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150630
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
(cherry picked from commit 4d544878164e888e62a931b3d841d7cf561c7ce1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150714
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx
index d5605bf..99fee1c0 100644
--- a/vcl/inc/salvtables.hxx
+++ b/vcl/inc/salvtables.hxx
@@ -1396,6 +1396,8 @@ protected:
DECL_LINK(CustomRenderHdl, svtree_render_args, void);
DECL_LINK(CustomMeasureHdl, svtree_measure_args, Size);
bool ExpandRow(const SalInstanceTreeIter& rIter);
// Each row has a cell for the expander image, (and an optional cell for a
// checkbutton if enable_toggle_buttons has been called) which precede
// index 0
diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx
index 2d3b654..343f377 100644
--- a/vcl/source/app/salvtables.cxx
+++ b/vcl/source/app/salvtables.cxx
@@ -4750,7 +4750,7 @@ void SalInstanceTreeView::expand_row(const weld::TreeIter& rIter)
{
assert(m_xTreeView->IsUpdateMode() && "don't expand when frozen");
const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter);
if (!m_xTreeView->IsExpanded(rVclIter.iter) && signal_expanding(rIter))
if (!m_xTreeView->IsExpanded(rVclIter.iter) && ExpandRow(rVclIter))
m_xTreeView->Expand(rVclIter.iter);
}
@@ -5278,7 +5278,12 @@ IMPL_LINK_NOARG(SalInstanceTreeView, ExpandingHdl, SvTreeListBox*, bool)
}
// expanding
return ExpandRow(aIter);
}
bool SalInstanceTreeView::ExpandRow(const SalInstanceTreeIter& rIter)
{
SvTreeListEntry* pEntry = rIter.iter;
// if there's a preexisting placeholder child, required to make this
// potentially expandable in the first place, now we remove it
SvTreeListEntry* pPlaceHolder = GetPlaceHolderChild(pEntry);
@@ -5288,7 +5293,7 @@ IMPL_LINK_NOARG(SalInstanceTreeView, ExpandingHdl, SvTreeListBox*, bool)
m_xTreeView->RemoveEntry(pPlaceHolder);
}
bool bRet = signal_expanding(aIter);
bool bRet = signal_expanding(rIter);
if (pPlaceHolder)
{