vcl/inc/jsdialog/jsdialogbuilder.hxx | 1 + vcl/jsdialog/jsdialogbuilder.cxx | 11 +++++++++++ 2 files changed, 12 insertions(+)
New commits: commit 047c05ee1d43bba80e24612bf759e5b520146d2d Author: NickWingate <[email protected]> AuthorDate: Fri Sep 12 18:50:16 2025 +0100 Commit: Szymon Kłos <[email protected]> CommitDate: Mon Sep 15 11:19:17 2025 +0200 JSTreeView: send select actions to online Previously we just defaulted to `SalInstanceTreeView::select` which doesn't notify online of entries being selected. Signed-off-by: NickWingate <[email protected]> Change-Id: Ia7644b2dc1619cbd97f2e154658dabeb0ae966f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190900 Reviewed-by: Szymon Kłos <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx index 962b806f6bae..37b1f45f442c 100644 --- a/vcl/inc/jsdialog/jsdialogbuilder.hxx +++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx @@ -724,6 +724,7 @@ public: using SalInstanceTreeView::select; /// pos is used differently here, it defines how many steps of iterator we need to perform to take entry virtual void select(int pos) override; + virtual void select(const weld::TreeIter& rIter) override; virtual weld::TreeView* get_drag_source() const override; diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index 29c5bff12161..9138f9faca65 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -1745,6 +1745,17 @@ void JSTreeView::select(int pos) sendAction(std::move(pMap)); } +void JSTreeView::select(const weld::TreeIter& rIter) +{ + SalInstanceTreeView::select(rIter); + + std::unique_ptr<jsdialog::ActionDataMap> pMap = std::make_unique<jsdialog::ActionDataMap>(); + const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter); + (*pMap)[ACTION_TYPE ""_ostr] = "select"; + (*pMap)["position"_ostr] = OUString::number(m_xTreeView->GetEntryPos(rVclIter.iter)); + sendAction(std::move(pMap)); +} + weld::TreeView* JSTreeView::get_drag_source() const { return g_DragSource; } void JSTreeView::drag_start() { g_DragSource = this; }
