include/vcl/weld/IconView.hxx | 1 - include/vcl/weld/ItemView.hxx | 1 + include/vcl/weld/TreeView.hxx | 4 +++- vcl/inc/qt5/QtInstanceIconView.hxx | 3 --- vcl/inc/qt5/QtInstanceItemView.hxx | 6 ++++++ vcl/inc/qt5/QtInstanceTreeView.hxx | 2 -- vcl/qt5/QtInstanceIconView.cxx | 19 ------------------- vcl/qt5/QtInstanceItemView.cxx | 16 ++++++++++++++++ vcl/qt5/QtInstanceTreeView.cxx | 19 ------------------- 9 files changed, 26 insertions(+), 45 deletions(-)
New commits: commit a2388e5c9beda430b7945c132853ef05e07903b6 Author: Michael Weghorn <[email protected]> AuthorDate: Sat Dec 20 07:05:09 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Dec 20 12:30:02 2025 +0100 weld: Move index-based set_id to weld::ItemView Both, weld::TreeView and weld::IconView have this. Move it to the base class. Change-Id: Ia79f9fc0c2aa4064a0f88509864ab789624c12b3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195952 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/include/vcl/weld/IconView.hxx b/include/vcl/weld/IconView.hxx index a22650769c20..79e034c23f62 100644 --- a/include/vcl/weld/IconView.hxx +++ b/include/vcl/weld/IconView.hxx @@ -118,7 +118,6 @@ public: virtual void set_image(int pos, VirtualDevice& rDevice) = 0; virtual void set_text(int pos, const OUString& rText) = 0; - virtual void set_id(int pos, const OUString& rId) = 0; virtual void set_item_accessible_name(int pos, const OUString& rName) = 0; virtual void set_item_tooltip_text(int pos, const OUString& rToolTip) = 0; diff --git a/include/vcl/weld/ItemView.hxx b/include/vcl/weld/ItemView.hxx index 11193c9ab16d..1968c396ae8e 100644 --- a/include/vcl/weld/ItemView.hxx +++ b/include/vcl/weld/ItemView.hxx @@ -43,6 +43,7 @@ public: virtual OUString get_id(int pos) const = 0; virtual OUString get_id(const TreeIter& rIter) const = 0; + virtual void set_id(int row, const OUString& rId) = 0; virtual OUString get_selected_id() const = 0; virtual OUString get_selected_text() const = 0; diff --git a/include/vcl/weld/TreeView.hxx b/include/vcl/weld/TreeView.hxx index 6e8eba86489b..2ee5903cf09b 100644 --- a/include/vcl/weld/TreeView.hxx +++ b/include/vcl/weld/TreeView.hxx @@ -240,7 +240,6 @@ public: // col index -1 sets all columns virtual void set_sensitive(int row, bool bSensitive, int col = -1) = 0; virtual bool get_sensitive(int row, int col) const = 0; - virtual void set_id(int row, const OUString& rId) = 0; // col index -1 sets the expander toggle, enable_toggle_buttons must have been called to create that column virtual void set_toggle(int row, TriState eState, int col = -1) = 0; // col index -1 gets the expander toggle, enable_toggle_buttons must have been called to create that column @@ -359,7 +358,10 @@ public: virtual TriState get_toggle(const TreeIter& rIter, int col = -1) const = 0; // col index -1 gets the first text column virtual OUString get_text(const TreeIter& rIter, int col = -1) const = 0; + + using weld::ItemView::set_id; virtual void set_id(const TreeIter& rIter, const OUString& rId) = 0; + // col index -1 sets the expander image virtual void set_image(const TreeIter& rIter, const OUString& rImage, int col = -1) = 0; // col index -1 sets the expander image commit be8f83bfa3efe1bb207e37ea748a0a233ceb4e6d Author: Michael Weghorn <[email protected]> AuthorDate: Sat Dec 20 06:58:44 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Dec 20 12:29:54 2025 +0100 tdf#130857 qt weld: Deduplicate ItemView::get_id implementations The QtInstanceTreeView and QtInstanceIconView implementations are equivalent. Deduplicate by moving to the shared base class. Change-Id: Ib216da301534d65d76d313d0c801024b4564d773 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195951 Reviewed-by: Michael Weghorn <[email protected]> Tested-by: Jenkins diff --git a/vcl/inc/qt5/QtInstanceIconView.hxx b/vcl/inc/qt5/QtInstanceIconView.hxx index 3d49a4689123..8384db2eca0f 100644 --- a/vcl/inc/qt5/QtInstanceIconView.hxx +++ b/vcl/inc/qt5/QtInstanceIconView.hxx @@ -44,8 +44,6 @@ public: virtual OUString get_selected_text() const override; - virtual OUString get_id(int nPos) const override; - virtual void do_select(const weld::TreeIter& rIter) override; virtual void do_unselect(const weld::TreeIter& rIter) override; @@ -59,7 +57,6 @@ public: virtual bool get_selected(weld::TreeIter* pIter) const override; virtual bool get_cursor(weld::TreeIter* pIter) const override; - virtual OUString get_id(const weld::TreeIter& rIter) const override; virtual OUString get_text(const weld::TreeIter& rIter) const override; virtual void do_scroll_to_item(const weld::TreeIter& rIter) override; diff --git a/vcl/inc/qt5/QtInstanceItemView.hxx b/vcl/inc/qt5/QtInstanceItemView.hxx index 88cab142344c..abf7f465bd88 100644 --- a/vcl/inc/qt5/QtInstanceItemView.hxx +++ b/vcl/inc/qt5/QtInstanceItemView.hxx @@ -47,6 +47,9 @@ public: virtual std::unique_ptr<weld::TreeIter> get_iterator(int nPos) const override; + virtual OUString get_id(int nPos) const override; + virtual OUString get_id(const weld::TreeIter& rIter) const override; + protected: QModelIndex modelIndex(int nRow, int nCol = 0, const QModelIndex& rParentIndex = QModelIndex()) const; diff --git a/vcl/inc/qt5/QtInstanceTreeView.hxx b/vcl/inc/qt5/QtInstanceTreeView.hxx index 050ec3d77a0c..4baa9060ea83 100644 --- a/vcl/inc/qt5/QtInstanceTreeView.hxx +++ b/vcl/inc/qt5/QtInstanceTreeView.hxx @@ -81,7 +81,6 @@ public: 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; virtual int find_id(const OUString& rId) const override; virtual void copy_iterator(const weld::TreeIter& rSource, weld::TreeIter& rDest) const override; @@ -113,7 +112,6 @@ public: virtual TriState get_toggle(const weld::TreeIter& rIter, int nCol = -1) const override; virtual OUString get_text(const weld::TreeIter& rIter, int nCol = -1) const override; virtual void set_id(const weld::TreeIter& rIter, const OUString& rId) override; - virtual OUString get_id(const weld::TreeIter& rIter) const override; virtual void set_image(const weld::TreeIter& rIter, const OUString& rImage, int nCol = -1) override; virtual void set_image(const weld::TreeIter& rIter, VirtualDevice& rImage, diff --git a/vcl/qt5/QtInstanceIconView.cxx b/vcl/qt5/QtInstanceIconView.cxx index b1f7ff4d6767..1f655d34fcd9 100644 --- a/vcl/qt5/QtInstanceIconView.cxx +++ b/vcl/qt5/QtInstanceIconView.cxx @@ -128,8 +128,6 @@ OUString QtInstanceIconView::get_selected_text() const return OUString(); } -OUString QtInstanceIconView::get_id(int nPos) const { return get_id(treeIter(nPos)); } - void QtInstanceIconView::do_select(const weld::TreeIter& rIter) { SolarMutexGuard g; @@ -216,20 +214,6 @@ bool QtInstanceIconView::get_cursor(weld::TreeIter*) const return false; } -OUString QtInstanceIconView::get_id(const weld::TreeIter& rIter) const -{ - SolarMutexGuard g; - - OUString sId; - GetQtInstance().RunInMainThread([&] { - QVariant aRoleData = m_pModel->data(modelIndex(rIter), ROLE_ID); - if (aRoleData.canConvert<QString>()) - sId = toOUString(aRoleData.toString()); - }); - - return sId; -} - OUString QtInstanceIconView::get_text(const weld::TreeIter& rIter) const { SolarMutexGuard g; diff --git a/vcl/qt5/QtInstanceItemView.cxx b/vcl/qt5/QtInstanceItemView.cxx index 9ec91e19244c..bb59499b736a 100644 --- a/vcl/qt5/QtInstanceItemView.cxx +++ b/vcl/qt5/QtInstanceItemView.cxx @@ -62,6 +62,22 @@ std::unique_ptr<weld::TreeIter> QtInstanceItemView::get_iterator(int nPos) const return {}; } +OUString QtInstanceItemView::get_id(int nPos) const { return get_id(treeIter(nPos)); } + +OUString QtInstanceItemView::get_id(const weld::TreeIter& rIter) const +{ + SolarMutexGuard g; + + OUString sId; + GetQtInstance().RunInMainThread([&] { + QVariant aRoleData = m_rModel.data(modelIndex(rIter), ROLE_ID); + if (aRoleData.canConvert<QString>()) + sId = toOUString(aRoleData.toString()); + }); + + return sId; +} + void QtInstanceItemView::do_set_cursor(const weld::TreeIter& rIter) { SolarMutexGuard g; diff --git a/vcl/qt5/QtInstanceTreeView.cxx b/vcl/qt5/QtInstanceTreeView.cxx index fe40cfd025d2..ac04220bb817 100644 --- a/vcl/qt5/QtInstanceTreeView.cxx +++ b/vcl/qt5/QtInstanceTreeView.cxx @@ -307,8 +307,6 @@ int QtInstanceTreeView::find_text(const OUString& rText) const return nIndex; } -OUString QtInstanceTreeView::get_id(int nPos) const { return get_id(treeIter(nPos)); } - int QtInstanceTreeView::find_id(const OUString& rId) const { SolarMutexGuard g; @@ -619,20 +617,6 @@ void QtInstanceTreeView::set_id(const weld::TreeIter& rIter, const OUString& rId [&] { m_pModel->setData(modelIndex(rIter), toQString(rId), ROLE_ID); }); } -OUString QtInstanceTreeView::get_id(const weld::TreeIter& rIter) const -{ - SolarMutexGuard g; - - OUString sId; - GetQtInstance().RunInMainThread([&] { - QVariant aRoleData = m_pModel->data(modelIndex(rIter), ROLE_ID); - if (aRoleData.canConvert<QString>()) - sId = toOUString(aRoleData.toString()); - }); - - return sId; -} - void QtInstanceTreeView::set_image(const weld::TreeIter& rIter, const OUString& rImage, int nCol) { if (rImage.isEmpty()) commit 570d6ac631688f2734a6c6f9ff38a8e025f4ffbb Author: Michael Weghorn <[email protected]> AuthorDate: Sat Dec 20 06:52:28 2025 +0100 Commit: Michael Weghorn <[email protected]> CommitDate: Sat Dec 20 12:29:47 2025 +0100 tdf#130857 qt weld: Move ROLE_ID to QtInstanceItemView Now that QtInstanceTreeView and QtInstanceItemView have a common base class, deduplicate definition of ROLE_ID. Change-Id: I524019670af043febf8c074cdd428046ca898bf9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/195950 Tested-by: Jenkins Reviewed-by: Michael Weghorn <[email protected]> diff --git a/vcl/inc/qt5/QtInstanceItemView.hxx b/vcl/inc/qt5/QtInstanceItemView.hxx index 1b0a7a24bb30..88cab142344c 100644 --- a/vcl/inc/qt5/QtInstanceItemView.hxx +++ b/vcl/inc/qt5/QtInstanceItemView.hxx @@ -24,6 +24,9 @@ class QtInstanceItemView : public QtInstanceWidget, public virtual weld::ItemVie QAbstractItemModel& m_rModel; protected: + // role used for the ID in the QStandardItem + static constexpr int ROLE_ID = Qt::UserRole + 1000; + virtual void do_set_cursor(const weld::TreeIter& rIter) override; virtual void do_select_all() override; diff --git a/vcl/qt5/QtInstanceIconView.cxx b/vcl/qt5/QtInstanceIconView.cxx index faaefa89b343..b1f7ff4d6767 100644 --- a/vcl/qt5/QtInstanceIconView.cxx +++ b/vcl/qt5/QtInstanceIconView.cxx @@ -17,9 +17,6 @@ #include <QtGui/QHelpEvent> #include <QtWidgets/QToolTip> -// role used for the ID in the QStandardItem -constexpr int ROLE_ID = Qt::UserRole + 1000; - QtInstanceIconView::QtInstanceIconView(QListView* pListView) : QtInstanceItemView(pListView, *pListView->model()) , m_pListView(pListView) diff --git a/vcl/qt5/QtInstanceTreeView.cxx b/vcl/qt5/QtInstanceTreeView.cxx index ae3d982a08cb..fe40cfd025d2 100644 --- a/vcl/qt5/QtInstanceTreeView.cxx +++ b/vcl/qt5/QtInstanceTreeView.cxx @@ -15,9 +15,6 @@ #include <QtWidgets/QHeaderView> #include <QtWidgets/QToolTip> -// role used for the ID in the QStandardItem -constexpr int ROLE_ID = Qt::UserRole + 1000; - // Property used to store the supported roles for each of the columns const char* const PROPERTY_COLUMN_ROLES = "column-roles";
