vcl/inc/qt5/QtInstanceIconView.hxx | 1 - vcl/inc/qt5/QtInstanceItemView.hxx | 2 ++ vcl/inc/qt5/QtInstanceTreeView.hxx | 1 - vcl/inc/salvtables.hxx | 6 ++---- vcl/qt5/QtInstanceIconView.cxx | 5 ----- vcl/qt5/QtInstanceItemView.cxx | 10 ++++++++++ vcl/qt5/QtInstanceTreeView.cxx | 10 ---------- vcl/source/app/salvtables.cxx | 18 ++++++------------ 8 files changed, 20 insertions(+), 33 deletions(-)
New commits: commit 71ececa9e43629a9cf140825876b411427e175bc Author: Michael Weghorn <[email protected]> AuthorDate: Sat Dec 20 16:12:31 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Dec 20 22:31:30 2025 +0100 vcl weld: Deduplicate ItemView::do_remove impls The SalInstanceTreeView and SalInstanceItemView implementations are equivalent. Deduplicate by moving the logic to the common SalInstanceItemView base class. Change-Id: I8a107bcf6b224f6bd882b2fc99d80bf44b40d0ab Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196008 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index 69dc87236be6..68c76810e6a2 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -1504,6 +1504,8 @@ protected: virtual void do_select_all() override; virtual void do_unselect_all() override; + virtual void do_remove(const weld::TreeIter& rIter) override; + virtual void do_clear() override; public: @@ -1764,8 +1766,6 @@ public: virtual bool iter_parent(weld::TreeIter& rIter) const override; - virtual void do_remove(const weld::TreeIter& rIter) override; - using SalInstanceItemView::do_select; virtual void do_select(const weld::TreeIter& rIter) override; @@ -1940,8 +1940,6 @@ public: virtual void selected_foreach(const std::function<bool(weld::TreeIter&)>& func) override; - virtual void do_remove(const weld::TreeIter& rIter) override; - virtual void set_image(int pos, VirtualDevice& rImage) override; virtual void set_text(int pos, const OUString& rText) override; diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 90177868d7ab..9b4c91a907c5 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -3641,6 +3641,12 @@ void SalInstanceItemView::do_unselect(const weld::TreeIter& rIter) m_pTreeListBox->Select(rVclIter.iter, false); } +void SalInstanceItemView::do_remove(const weld::TreeIter& rIter) +{ + const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter); + m_pTreeListBox->RemoveEntry(rVclIter.iter); +} + void SalInstanceItemView::do_clear() { m_pTreeListBox->Clear(); @@ -4631,12 +4637,6 @@ bool SalInstanceTreeView::iter_parent(weld::TreeIter& rIter) const return rVclIter.iter != nullptr; } -void SalInstanceTreeView::do_remove(const weld::TreeIter& rIter) -{ - const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter); - m_xTreeView->RemoveEntry(rVclIter.iter); -} - void SalInstanceTreeView::do_select(const weld::TreeIter& rIter) { assert(m_xTreeView->IsUpdateMode() @@ -5418,12 +5418,6 @@ void SalInstanceIconView::set_image(int pos, VirtualDevice& rIcon) } } -void SalInstanceIconView::do_remove(const weld::TreeIter& rIter) -{ - const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter); - m_xIconView->RemoveEntry(rVclIter.iter); -} - OUString SalInstanceIconView::get_text(const weld::TreeIter& rIter) const { const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter); commit d8e77188e92e30e9efa7f90636072bd9e9882543 Author: Michael Weghorn <[email protected]> AuthorDate: Sat Dec 20 16:08:50 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Dec 20 22:31:22 2025 +0100 tdf#130857 qt weld: Reuse QtInstanceTreeView::do_remove for IconView Move the QtInstanceTreeView::do_remove logic to the QtInstanceItemView base class, so it can be reused for QtInstanceIconview as well. Change-Id: I5a4e2f34ac9027d12059f2e50666ff727d7b9608 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/196007 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/vcl/inc/qt5/QtInstanceIconView.hxx b/vcl/inc/qt5/QtInstanceIconView.hxx index e543d7e730ed..0f3607f2acc9 100644 --- a/vcl/inc/qt5/QtInstanceIconView.hxx +++ b/vcl/inc/qt5/QtInstanceIconView.hxx @@ -44,7 +44,6 @@ public: virtual void set_text(int nPos, const OUString& rText) override; virtual void set_item_accessible_name(int nPos, const OUString& rName) override; virtual void set_item_tooltip_text(int nPos, const OUString& rToolTip) override; - virtual void do_remove(const weld::TreeIter& rIter) override; virtual tools::Rectangle get_rect(const weld::TreeIter& rIter) const override; virtual OUString get_text(const weld::TreeIter& rIter) const override; diff --git a/vcl/inc/qt5/QtInstanceItemView.hxx b/vcl/inc/qt5/QtInstanceItemView.hxx index 17d6c1bd6a49..37857733c9b1 100644 --- a/vcl/inc/qt5/QtInstanceItemView.hxx +++ b/vcl/inc/qt5/QtInstanceItemView.hxx @@ -35,6 +35,8 @@ protected: virtual void do_select_all() override; virtual void do_unselect_all() override; + virtual void do_remove(const weld::TreeIter& rIter) override; + void do_clear() override; public: diff --git a/vcl/inc/qt5/QtInstanceTreeView.hxx b/vcl/inc/qt5/QtInstanceTreeView.hxx index d2748d3f7ac6..6e12506f0f04 100644 --- a/vcl/inc/qt5/QtInstanceTreeView.hxx +++ b/vcl/inc/qt5/QtInstanceTreeView.hxx @@ -88,7 +88,6 @@ public: virtual int iter_compare(const weld::TreeIter& a, const weld::TreeIter& b) const override; virtual bool iter_has_child(const weld::TreeIter& rIter) const override; virtual int iter_n_children(const weld::TreeIter& rIter) const override; - virtual void do_remove(const weld::TreeIter& rIter) override; virtual void set_extra_row_indent(const weld::TreeIter& rIter, int nIndentLevel) override; virtual void set_text(const weld::TreeIter& rIter, const OUString& rStr, int nCol = -1) override; diff --git a/vcl/qt5/QtInstanceIconView.cxx b/vcl/qt5/QtInstanceIconView.cxx index aff9edd4d1ce..bd41cea25b86 100644 --- a/vcl/qt5/QtInstanceIconView.cxx +++ b/vcl/qt5/QtInstanceIconView.cxx @@ -149,11 +149,6 @@ void QtInstanceIconView::set_item_tooltip_text(int nPos, const OUString& rToolTi }); } -void QtInstanceIconView::do_remove(const weld::TreeIter&) -{ - assert(false && "Not implemented yet"); -} - tools::Rectangle QtInstanceIconView::get_rect(const weld::TreeIter&) const { assert(false && "Not implemented yet"); diff --git a/vcl/qt5/QtInstanceItemView.cxx b/vcl/qt5/QtInstanceItemView.cxx index e9ad8e3e56b0..529d2c3587ad 100644 --- a/vcl/qt5/QtInstanceItemView.cxx +++ b/vcl/qt5/QtInstanceItemView.cxx @@ -192,6 +192,16 @@ void QtInstanceItemView::do_unselect_all() GetQtInstance().RunInMainThread([&] { getItemView().clearSelection(); }); } +void QtInstanceItemView::do_remove(const weld::TreeIter& rIter) +{ + SolarMutexGuard g; + + GetQtInstance().RunInMainThread([&] { + const QModelIndex aIndex = modelIndex(rIter); + m_rModel.removeRow(aIndex.row(), aIndex.parent()); + }); +} + void QtInstanceItemView::do_clear() { SolarMutexGuard g; diff --git a/vcl/qt5/QtInstanceTreeView.cxx b/vcl/qt5/QtInstanceTreeView.cxx index df077e6d45ef..653bcbe7e564 100644 --- a/vcl/qt5/QtInstanceTreeView.cxx +++ b/vcl/qt5/QtInstanceTreeView.cxx @@ -369,16 +369,6 @@ int QtInstanceTreeView::iter_n_children(const weld::TreeIter& rIter) const return m_pModel->rowCount(rQtIter.modelIndex()); } -void QtInstanceTreeView::do_remove(const weld::TreeIter& rIter) -{ - SolarMutexGuard g; - - GetQtInstance().RunInMainThread([&] { - const QModelIndex aIndex = modelIndex(rIter); - m_pModel->removeRow(aIndex.row(), aIndex.parent()); - }); -} - void QtInstanceTreeView::set_extra_row_indent(const weld::TreeIter&, int) { assert(false && "Not implemented yet");
