include/vcl/weld.hxx | 53 +++++++++++++++++++++++++++++------ vcl/inc/jsdialog/jsdialogbuilder.hxx | 16 +++++----- vcl/inc/qt5/QtInstanceTreeView.hxx | 16 +++++----- vcl/inc/salvtables.hxx | 16 +++++----- vcl/jsdialog/jsdialogbuilder.cxx | 28 ++++++++---------- vcl/qt5/QtInstanceTreeView.cxx | 16 +++++----- vcl/source/app/salvtables.cxx | 25 +++++----------- vcl/unx/gtk3/gtkinst.cxx | 15 +++++---- 8 files changed, 106 insertions(+), 79 deletions(-)
New commits: commit 24960ab493000843551a7f2bc1d204c54b8b5d99 Author: Michael Weghorn <[email protected]> AuthorDate: Sat Oct 18 01:45:45 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Mon Oct 20 17:08:06 2025 +0200 tdf#130857 weld: Move signal blocking to TreeView::clear Apply the changes as described in Change-Id: If5fba408cc6638441e9856238b19659fed6d7e01 Author: Michael Weghorn <[email protected]> Date: Fri Oct 17 22:11:02 2025 +0200 tdf#130857 weld: Move signal blocking to TextView::select_region for this method as well. See the above-mentioned commit for more details/background. Change-Id: I582d3bcbee9db427f23014f04ec94e7c0710dd56 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192627 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx index cb5b8c220d85..fc398fe4521b 100644 --- a/include/vcl/weld.hxx +++ b/include/vcl/weld.hxx @@ -1090,6 +1090,7 @@ protected: virtual void do_unselect(const TreeIter& rIter) = 0; virtual void do_scroll_to_row(const TreeIter& rIter) = 0; virtual void do_set_children_on_demand(const TreeIter& rIter, bool bChildrenOnDemand) = 0; + virtual void do_clear() = 0; virtual void do_remove_selection() = 0; public: @@ -1512,7 +1513,13 @@ public: m_aCustomSort = func; } - virtual void clear() = 0; + void clear() + { + disable_notify_events(); + do_clear(); + enable_notify_events(); + } + virtual int get_height_rows(int nRows) const = 0; virtual void columns_autosize() = 0; diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx index a4fb12262813..f1449b395853 100644 --- a/vcl/inc/jsdialog/jsdialogbuilder.hxx +++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx @@ -718,7 +718,7 @@ public: virtual void do_remove(int pos) override; virtual void do_remove(const weld::TreeIter& rIter) override; - virtual void clear() override; + virtual void do_clear() override; void drag_start(); void drag_end(); diff --git a/vcl/inc/qt5/QtInstanceTreeView.hxx b/vcl/inc/qt5/QtInstanceTreeView.hxx index f20fbf77b1c9..c0a42cc3d061 100644 --- a/vcl/inc/qt5/QtInstanceTreeView.hxx +++ b/vcl/inc/qt5/QtInstanceTreeView.hxx @@ -171,7 +171,7 @@ public: virtual int get_sort_column() const override; virtual void set_sort_column(int nColumn) override; - virtual void clear() override; + virtual void do_clear() override; virtual int get_height_rows(int nRows) const override; virtual void columns_autosize() override; diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index f4f9512c5b0f..1fcdcf821452 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -1613,7 +1613,7 @@ public: virtual void swap(int pos1, int pos2) override; - virtual void clear() override; + virtual void do_clear() override; virtual void select_all() override; virtual void unselect_all() override; diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index f833d0df4792..add03c7c789f 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -1816,9 +1816,9 @@ void JSTreeView::do_remove(const weld::TreeIter& rIter) sendUpdate(); } -void JSTreeView::clear() +void JSTreeView::do_clear() { - SalInstanceTreeView::clear(); + SalInstanceTreeView::do_clear(); sendUpdate(); } diff --git a/vcl/qt5/QtInstanceTreeView.cxx b/vcl/qt5/QtInstanceTreeView.cxx index b9f8eb6f4771..75cf1214a926 100644 --- a/vcl/qt5/QtInstanceTreeView.cxx +++ b/vcl/qt5/QtInstanceTreeView.cxx @@ -941,7 +941,7 @@ void QtInstanceTreeView::set_sort_column(int nColumn) GetQtInstance().RunInMainThread([&] { m_pModel->sort(nColumn); }); } -void QtInstanceTreeView::clear() +void QtInstanceTreeView::do_clear() { SolarMutexGuard g; diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index 1237c77c3ddc..52dfe051fe53 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -4054,12 +4054,10 @@ void SalInstanceTreeView::swap(int pos1, int pos2) pModel->Move(pEntry1, pEntry2); } -void SalInstanceTreeView::clear() +void SalInstanceTreeView::do_clear() { - disable_notify_events(); m_xTreeView->Clear(); m_aUserData.clear(); - enable_notify_events(); } void SalInstanceTreeView::select_all() { unselect(-1); } diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index 4103c99d5090..4767bfe0b268 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -15109,7 +15109,7 @@ public: enable_notify_events(); } - virtual void clear() override + virtual void do_clear() override { disable_notify_events(); gtk_tree_view_set_row_separator_func(m_pTreeView, nullptr, nullptr, nullptr); commit 234258bc89ea6b375c2a50e088711a69ba3d921b Author: Michael Weghorn <[email protected]> AuthorDate: Sat Oct 18 01:36:53 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Mon Oct 20 17:07:59 2025 +0200 tdf#130857 weld: Move signal blocking to TreeView::set_cursor Apply the changes as described in Change-Id: If5fba408cc6638441e9856238b19659fed6d7e01 Author: Michael Weghorn <[email protected]> Date: Fri Oct 17 22:11:02 2025 +0200 tdf#130857 weld: Move signal blocking to TextView::select_region for these methods as well. See the above-mentioned commit for more details/background. Change-Id: I626ec21a9ea1a0ebe272f895a3a12f0d088ebf4e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192626 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx index bfc25cc169ec..cb5b8c220d85 100644 --- a/include/vcl/weld.hxx +++ b/include/vcl/weld.hxx @@ -1083,6 +1083,8 @@ protected: virtual void do_unselect(int pos) = 0; virtual void do_remove(int pos) = 0; virtual void do_scroll_to_row(int row) = 0; + virtual void do_set_cursor(int pos) = 0; + virtual void do_set_cursor(const TreeIter& rIter) = 0; virtual void do_remove(const TreeIter& rIter) = 0; virtual void do_select(const TreeIter& rIter) = 0; virtual void do_unselect(const TreeIter& rIter) = 0; @@ -1240,7 +1242,13 @@ public: virtual bool is_selected(int pos) const = 0; virtual int get_cursor_index() const = 0; - virtual void set_cursor(int pos) = 0; + + void set_cursor(int pos) + { + disable_notify_events(); + do_set_cursor(pos); + enable_notify_events(); + } //by text virtual int find_text(const OUString& rText) const = 0; @@ -1269,7 +1277,14 @@ public: virtual void copy_iterator(const TreeIter& rSource, TreeIter& rDest) const = 0; virtual bool get_selected(TreeIter* pIter) const = 0; virtual bool get_cursor(TreeIter* pIter) const = 0; - virtual void set_cursor(const TreeIter& rIter) = 0; + + void set_cursor(const TreeIter& rIter) + { + disable_notify_events(); + do_set_cursor(rIter); + enable_notify_events(); + } + virtual bool get_iter_first(TreeIter& rIter) const = 0; // set iter to point to next node at the current level virtual bool iter_next_sibling(TreeIter& rIter) const = 0; diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx index 2979723967d0..a4fb12262813 100644 --- a/vcl/inc/jsdialog/jsdialogbuilder.hxx +++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx @@ -710,9 +710,9 @@ public: virtual void expand_row(const weld::TreeIter& rIter) override; virtual void collapse_row(const weld::TreeIter& rIter) override; - virtual void set_cursor(const weld::TreeIter& rIter) override; + virtual void do_set_cursor(const weld::TreeIter& rIter) override; void set_cursor_without_notify(const weld::TreeIter& rIter); - virtual void set_cursor(int pos) override; + virtual void do_set_cursor(int pos) override; using SalInstanceTreeView::do_remove; virtual void do_remove(int pos) override; diff --git a/vcl/inc/qt5/QtInstanceTreeView.hxx b/vcl/inc/qt5/QtInstanceTreeView.hxx index b395b694083c..f20fbf77b1c9 100644 --- a/vcl/inc/qt5/QtInstanceTreeView.hxx +++ b/vcl/inc/qt5/QtInstanceTreeView.hxx @@ -77,7 +77,7 @@ public: virtual void do_scroll_to_row(int nRow) override; virtual bool is_selected(int nPos) const override; virtual int get_cursor_index() const override; - virtual void set_cursor(int pos) override; + virtual void do_set_cursor(int pos) override; virtual int find_text(const OUString& rText) const override; virtual OUString get_id(int nPos) const override; @@ -88,7 +88,7 @@ public: virtual void copy_iterator(const weld::TreeIter& rSource, weld::TreeIter& rDest) const override; virtual bool get_selected(weld::TreeIter* pIter) const override; virtual bool get_cursor(weld::TreeIter* pIter) const override; - virtual void set_cursor(const weld::TreeIter& rIter) override; + virtual void do_set_cursor(const weld::TreeIter& rIter) override; virtual bool get_iter_first(weld::TreeIter& rIter) const override; virtual bool iter_next_sibling(weld::TreeIter& rIter) const override; virtual bool iter_previous_sibling(weld::TreeIter& rIter) const override; diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index fc6fe7f5e11d..f4f9512c5b0f 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -1626,7 +1626,7 @@ public: virtual int get_cursor_index() const override; - virtual void set_cursor(int pos) override; + virtual void do_set_cursor(int pos) override; virtual void do_scroll_to_row(int pos) override; @@ -1737,7 +1737,7 @@ public: virtual bool get_cursor(weld::TreeIter* pIter) const override; - virtual void set_cursor(const weld::TreeIter& rIter) override; + virtual void do_set_cursor(const weld::TreeIter& rIter) override; virtual bool get_iter_first(weld::TreeIter& rIter) const override; diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index 80852eb02b85..f833d0df4792 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -1822,20 +1822,17 @@ void JSTreeView::clear() sendUpdate(); } -void JSTreeView::set_cursor_without_notify(const weld::TreeIter& rIter) -{ - SalInstanceTreeView::set_cursor(rIter); -} +void JSTreeView::set_cursor_without_notify(const weld::TreeIter& rIter) { set_cursor(rIter); } -void JSTreeView::set_cursor(const weld::TreeIter& rIter) +void JSTreeView::do_set_cursor(const weld::TreeIter& rIter) { - SalInstanceTreeView::set_cursor(rIter); + SalInstanceTreeView::do_set_cursor(rIter); sendUpdate(); } -void JSTreeView::set_cursor(int pos) +void JSTreeView::do_set_cursor(int pos) { - SalInstanceTreeView::set_cursor(pos); + SalInstanceTreeView::do_set_cursor(pos); sendUpdate(); } diff --git a/vcl/qt5/QtInstanceTreeView.cxx b/vcl/qt5/QtInstanceTreeView.cxx index da49947eaf93..b9f8eb6f4771 100644 --- a/vcl/qt5/QtInstanceTreeView.cxx +++ b/vcl/qt5/QtInstanceTreeView.cxx @@ -297,7 +297,7 @@ int QtInstanceTreeView::get_cursor_index() const return nIndex; } -void QtInstanceTreeView::set_cursor(int nPos) { set_cursor(treeIter(nPos)); } +void QtInstanceTreeView::do_set_cursor(int nPos) { do_set_cursor(treeIter(nPos)); } int QtInstanceTreeView::find_text(const OUString& rText) const { @@ -380,7 +380,7 @@ bool QtInstanceTreeView::get_cursor(weld::TreeIter* pIter) const return bRet; } -void QtInstanceTreeView::set_cursor(const weld::TreeIter& rIter) +void QtInstanceTreeView::do_set_cursor(const weld::TreeIter& rIter) { SolarMutexGuard g; diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index ddebb44b0502..1237c77c3ddc 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -4101,9 +4101,8 @@ int SalInstanceTreeView::get_cursor_index() const return SvTreeList::GetRelPos(pEntry); } -void SalInstanceTreeView::set_cursor(int pos) +void SalInstanceTreeView::do_set_cursor(int pos) { - disable_notify_events(); if (pos == -1) m_xTreeView->SetCurEntry(nullptr); else @@ -4111,7 +4110,6 @@ void SalInstanceTreeView::set_cursor(int pos) SvTreeListEntry* pEntry = m_xTreeView->GetEntry(nullptr, pos); m_xTreeView->SetCurEntry(pEntry); } - enable_notify_events(); } void SalInstanceTreeView::do_scroll_to_row(int pos) @@ -4577,12 +4575,10 @@ bool SalInstanceTreeView::get_cursor(weld::TreeIter* pIter) const return pEntry != nullptr; } -void SalInstanceTreeView::set_cursor(const weld::TreeIter& rIter) +void SalInstanceTreeView::do_set_cursor(const weld::TreeIter& rIter) { const SalInstanceTreeIter& rVclIter = static_cast<const SalInstanceTreeIter&>(rIter); - disable_notify_events(); m_xTreeView->SetCurEntry(rVclIter.iter); - enable_notify_events(); } bool SalInstanceTreeView::get_iter_first(weld::TreeIter& rIter) const diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index d5761f9865c7..4103c99d5090 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -15250,7 +15250,7 @@ public: enable_notify_events(); } - virtual void set_cursor(int pos) override + virtual void do_set_cursor(int pos) override { disable_notify_events(); GtkTreePath* path; @@ -15855,7 +15855,7 @@ public: return nRet; } - virtual void set_cursor(const weld::TreeIter& rIter) override + virtual void do_set_cursor(const weld::TreeIter& rIter) override { disable_notify_events(); const GtkInstanceTreeIter& rGtkIter = static_cast<const GtkInstanceTreeIter&>(rIter); commit 50625c09314d3e08f26a8291c546e868fa1d85f3 Author: Michael Weghorn <[email protected]> AuthorDate: Sat Oct 18 01:24:21 2025 +0200 Commit: Michael Weghorn <[email protected]> CommitDate: Mon Oct 20 17:07:51 2025 +0200 tdf#130857 weld: Move signal blocking to TreeView::insert{,_separator} Apply the changes as described in Change-Id: If5fba408cc6638441e9856238b19659fed6d7e01 Author: Michael Weghorn <[email protected]> Date: Fri Oct 17 22:11:02 2025 +0200 tdf#130857 weld: Move signal blocking to TextView::select_region for these methods as well. See the above-mentioned commit for more details/background. In this case, both of the SalInstanceTreeView implementations were already using the same helper method that was responsible for the signal (un)blocking. Change-Id: Ic002d0339af11d1492a36600082f0448ca263ff7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/192625 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/include/vcl/weld.hxx b/include/vcl/weld.hxx index 16d0961ae5ad..bfc25cc169ec 100644 --- a/include/vcl/weld.hxx +++ b/include/vcl/weld.hxx @@ -1074,6 +1074,11 @@ protected: return m_aGetSizeHdl.Call(get_size_args(rDevice, rId)); } + virtual void do_insert(const TreeIter* pParent, int pos, const OUString* pStr, + const OUString* pId, const OUString* pIconName, + VirtualDevice* pImageSurface, bool bChildrenOnDemand, TreeIter* pRet) + = 0; + virtual void do_insert_separator(int pos, const OUString& rId) = 0; virtual void do_select(int pos) = 0; virtual void do_unselect(int pos) = 0; virtual void do_remove(int pos) = 0; @@ -1093,10 +1098,14 @@ public: } // see 'expanding on-demand node details' for bChildrenOnDemand of true - virtual void insert(const TreeIter* pParent, int pos, const OUString* pStr, const OUString* pId, - const OUString* pIconName, VirtualDevice* pImageSurface, - bool bChildrenOnDemand, TreeIter* pRet) - = 0; + void insert(const TreeIter* pParent, int pos, const OUString* pStr, const OUString* pId, + const OUString* pIconName, VirtualDevice* pImageSurface, bool bChildrenOnDemand, + TreeIter* pRet) + { + disable_notify_events(); + do_insert(pParent, pos, pStr, pId, pIconName, pImageSurface, bChildrenOnDemand, pRet); + enable_notify_events(); + } void insert(int nRow, TreeIter* pRet = nullptr) { @@ -1131,7 +1140,13 @@ public: insert(pParent, -1, &rStr, nullptr, nullptr, nullptr, false, nullptr); } - virtual void insert_separator(int pos, const OUString& rId) = 0; + void insert_separator(int pos, const OUString& rId) + { + disable_notify_events(); + do_insert_separator(pos, rId); + enable_notify_events(); + } + void append_separator(const OUString& rId) { insert_separator(-1, rId); } void connect_selection_changed(const Link<TreeView&, void>& rLink) diff --git a/vcl/inc/jsdialog/jsdialogbuilder.hxx b/vcl/inc/jsdialog/jsdialogbuilder.hxx index 6488d95f63c6..2979723967d0 100644 --- a/vcl/inc/jsdialog/jsdialogbuilder.hxx +++ b/vcl/inc/jsdialog/jsdialogbuilder.hxx @@ -698,11 +698,11 @@ public: virtual weld::TreeView* get_drag_source() const override; - using SalInstanceTreeView::insert; - virtual void insert(const weld::TreeIter* pParent, int pos, const OUString* pStr, - const OUString* pId, const OUString* pIconName, - VirtualDevice* pImageSurface, bool bChildrenOnDemand, - weld::TreeIter* pRet) override; + using SalInstanceTreeView::do_insert; + virtual void do_insert(const weld::TreeIter* pParent, int pos, const OUString* pStr, + const OUString* pId, const OUString* pIconName, + VirtualDevice* pImageSurface, bool bChildrenOnDemand, + weld::TreeIter* pRet) override; virtual void set_text(int row, const OUString& rText, int col = -1) override; virtual void set_text(const weld::TreeIter& rIter, const OUString& rStr, int col = -1) override; diff --git a/vcl/inc/qt5/QtInstanceTreeView.hxx b/vcl/inc/qt5/QtInstanceTreeView.hxx index a60715e90911..b395b694083c 100644 --- a/vcl/inc/qt5/QtInstanceTreeView.hxx +++ b/vcl/inc/qt5/QtInstanceTreeView.hxx @@ -39,12 +39,12 @@ class QtInstanceTreeView : public QtInstanceWidget, public virtual weld::TreeVie public: QtInstanceTreeView(QTreeView* pTreeView); - virtual void insert(const weld::TreeIter* pParent, int nPos, const OUString* pStr, - const OUString* pId, const OUString* pIconName, - VirtualDevice* pImageSurface, bool bChildrenOnDemand, - weld::TreeIter* pRet) override; + virtual void do_insert(const weld::TreeIter* pParent, int nPos, const OUString* pStr, + const OUString* pId, const OUString* pIconName, + VirtualDevice* pImageSurface, bool bChildrenOnDemand, + weld::TreeIter* pRet) override; - virtual void insert_separator(int pos, const OUString& rId) override; + virtual void do_insert_separator(int pos, const OUString& rId) override; virtual OUString get_selected_text() const override; virtual OUString get_selected_id() const override; diff --git a/vcl/inc/salvtables.hxx b/vcl/inc/salvtables.hxx index 7a6f9512c180..fc6fe7f5e11d 100644 --- a/vcl/inc/salvtables.hxx +++ b/vcl/inc/salvtables.hxx @@ -1589,12 +1589,12 @@ public: virtual void hide() override; - virtual void insert(const weld::TreeIter* pParent, int pos, const OUString* pStr, - const OUString* pId, const OUString* pIconName, - VirtualDevice* pImageSurface, bool bChildrenOnDemand, - weld::TreeIter* pRet) override; + virtual void do_insert(const weld::TreeIter* pParent, int pos, const OUString* pStr, + const OUString* pId, const OUString* pIconName, + VirtualDevice* pImageSurface, bool bChildrenOnDemand, + weld::TreeIter* pRet) override; - virtual void insert_separator(int pos, const OUString& /*rId*/) override; + virtual void do_insert_separator(int pos, const OUString& /*rId*/) override; virtual void bulk_insert_for_each( int nSourceCount, const std::function<void(weld::TreeIter&, int nSourceIndex)>& func, diff --git a/vcl/jsdialog/jsdialogbuilder.cxx b/vcl/jsdialog/jsdialogbuilder.cxx index 5e19e3906539..80852eb02b85 100644 --- a/vcl/jsdialog/jsdialogbuilder.cxx +++ b/vcl/jsdialog/jsdialogbuilder.cxx @@ -1781,12 +1781,13 @@ void JSTreeView::drag_end() g_DragSource = nullptr; } -void JSTreeView::insert(const weld::TreeIter* pParent, int pos, const OUString* pStr, - const OUString* pId, const OUString* pIconName, - VirtualDevice* pImageSurface, bool bChildrenOnDemand, weld::TreeIter* pRet) +void JSTreeView::do_insert(const weld::TreeIter* pParent, int pos, const OUString* pStr, + const OUString* pId, const OUString* pIconName, + VirtualDevice* pImageSurface, bool bChildrenOnDemand, + weld::TreeIter* pRet) { - SalInstanceTreeView::insert(pParent, pos, pStr, pId, pIconName, pImageSurface, - bChildrenOnDemand, pRet); + SalInstanceTreeView::do_insert(pParent, pos, pStr, pId, pIconName, pImageSurface, + bChildrenOnDemand, pRet); sendUpdate(); } diff --git a/vcl/qt5/QtInstanceTreeView.cxx b/vcl/qt5/QtInstanceTreeView.cxx index 6e41e7d00a97..da49947eaf93 100644 --- a/vcl/qt5/QtInstanceTreeView.cxx +++ b/vcl/qt5/QtInstanceTreeView.cxx @@ -49,10 +49,10 @@ QtInstanceTreeView::QtInstanceTreeView(QTreeView* pTreeView) m_pTreeView->viewport()->installEventFilter(this); } -void QtInstanceTreeView::insert(const weld::TreeIter* pParent, int nPos, const OUString* pStr, - const OUString* pId, const OUString* pIconName, - VirtualDevice* pImageSurface, bool bChildrenOnDemand, - weld::TreeIter* pRet) +void QtInstanceTreeView::do_insert(const weld::TreeIter* pParent, int nPos, const OUString* pStr, + const OUString* pId, const OUString* pIconName, + VirtualDevice* pImageSurface, bool bChildrenOnDemand, + weld::TreeIter* pRet) { assert(!bChildrenOnDemand && "Not implemented yet"); // avoid -Werror=unused-parameter for release build @@ -96,7 +96,7 @@ void QtInstanceTreeView::insert(const weld::TreeIter* pParent, int nPos, const O }); } -void QtInstanceTreeView::insert_separator(int, const OUString&) +void QtInstanceTreeView::do_insert_separator(int, const OUString&) { assert(false && "Not implemented yet"); } diff --git a/vcl/source/app/salvtables.cxx b/vcl/source/app/salvtables.cxx index c5bc65afb5b5..ddebb44b0502 100644 --- a/vcl/source/app/salvtables.cxx +++ b/vcl/source/app/salvtables.cxx @@ -3585,7 +3585,6 @@ void SalInstanceTreeView::do_insert(const weld::TreeIter* pParent, int pos, cons const VirtualDevice* pImageSurface, bool bChildrenOnDemand, weld::TreeIter* pRet, bool bIsSeparator) { - disable_notify_events(); const SalInstanceTreeIter* pVclIter = static_cast<const SalInstanceTreeIter*>(pParent); SvTreeListEntry* iter = pVclIter ? pVclIter->iter : nullptr; auto nInsertPos = pos == -1 ? TREELIST_APPEND : pos; @@ -3639,8 +3638,6 @@ void SalInstanceTreeView::do_insert(const weld::TreeIter* pParent, int pos, cons SvViewDataEntry* pViewData = m_xTreeView->GetViewDataEntry(pEntry); pViewData->SetSelectable(false); } - - enable_notify_events(); } void SalInstanceTreeView::update_checkbutton_column_width(SvTreeListEntry* pEntry) @@ -3937,15 +3934,15 @@ void SalInstanceTreeView::hide() SalInstanceWidget::hide(); } -void SalInstanceTreeView::insert(const weld::TreeIter* pParent, int pos, const OUString* pStr, - const OUString* pId, const OUString* pIconName, - VirtualDevice* pImageSurface, bool bChildrenOnDemand, - weld::TreeIter* pRet) +void SalInstanceTreeView::do_insert(const weld::TreeIter* pParent, int pos, const OUString* pStr, + const OUString* pId, const OUString* pIconName, + VirtualDevice* pImageSurface, bool bChildrenOnDemand, + weld::TreeIter* pRet) { do_insert(pParent, pos, pStr, pId, pIconName, pImageSurface, bChildrenOnDemand, pRet, false); } -void SalInstanceTreeView::insert_separator(int pos, const OUString& /*rId*/) +void SalInstanceTreeView::do_insert_separator(int pos, const OUString& /*rId*/) { OUString sSep(VclResId(STR_SEPARATOR)); do_insert(nullptr, pos, &sSep, nullptr, nullptr, nullptr, false, nullptr, true); diff --git a/vcl/unx/gtk3/gtkinst.cxx b/vcl/unx/gtk3/gtkinst.cxx index 956d8e836ac4..d5761f9865c7 100644 --- a/vcl/unx/gtk3/gtkinst.cxx +++ b/vcl/unx/gtk3/gtkinst.cxx @@ -14988,9 +14988,10 @@ public: gtk_widget_queue_draw(GTK_WIDGET(m_pTreeView)); } - virtual void insert(const weld::TreeIter* pParent, int pos, const OUString* pText, const OUString* pId, const OUString* pIconName, - VirtualDevice* pImageSurface, - bool bChildrenOnDemand, weld::TreeIter* pRet) override + virtual void do_insert(const weld::TreeIter* pParent, int pos, const OUString* pText, + const OUString* pId, const OUString* pIconName, + VirtualDevice* pImageSurface, bool bChildrenOnDemand, + weld::TreeIter* pRet) override { disable_notify_events(); GtkTreeIter iter; @@ -15010,7 +15011,7 @@ public: enable_notify_events(); } - virtual void insert_separator(int pos, const OUString& rId) override + virtual void do_insert_separator(int pos, const OUString& rId) override { disable_notify_events(); GtkTreeIter iter;
