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";
 

Reply via email to