vcl/inc/qt5/QtInstanceTreeView.hxx |   12 +++----
 vcl/qt5/QtInstanceTreeView.cxx     |   63 ++++++++++++++++++++++++-------------
 2 files changed, 47 insertions(+), 28 deletions(-)

New commits:
commit 37180baf408aa527e481b7f1a3e37142ed2074f8
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Feb 12 22:33:22 2025 +0100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Thu Feb 13 09:26:03 2025 +0100

    tdf#130857 qt weld: Implement remaining QtInstanceTreeView::set_image
    
    ... variants.
    
    Change-Id: I8e01ea5ac78d66732c7b437d8632c76c99b67777
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181517
    Tested-by: Jenkins
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>

diff --git a/vcl/inc/qt5/QtInstanceTreeView.hxx 
b/vcl/inc/qt5/QtInstanceTreeView.hxx
index 2e7cfe5195ad..a600639ffdbe 100644
--- a/vcl/inc/qt5/QtInstanceTreeView.hxx
+++ b/vcl/inc/qt5/QtInstanceTreeView.hxx
@@ -51,9 +51,9 @@ public:
     virtual void set_toggle(int row, TriState eState, int col = -1) override;
     virtual TriState get_toggle(int row, int col = -1) const override;
     virtual void set_image(int nRow, const OUString& rImage, int nCol = -1) 
override;
-    virtual void set_image(int row, VirtualDevice& rImage, int col = -1) 
override;
-    virtual void set_image(int row, const 
css::uno::Reference<css::graphic::XGraphic>& rImage,
-                           int col = -1) override;
+    virtual void set_image(int nRow, VirtualDevice& rImage, int nCol = -1) 
override;
+    virtual void set_image(int nRow, const 
css::uno::Reference<css::graphic::XGraphic>& rImage,
+                           int nCol = -1) override;
     virtual void set_text_emphasis(int row, bool bOn, int col) override;
     virtual bool get_text_emphasis(int row, int col) const override;
     virtual void set_text_align(int row, double fAlign, int col) override;
@@ -107,10 +107,10 @@ public:
     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,
-                           int col = -1) override;
+                           int nCol = -1) override;
     virtual void set_image(const weld::TreeIter& rIter,
                            const css::uno::Reference<css::graphic::XGraphic>& 
rImage,
-                           int col = -1) override;
+                           int nCol = -1) override;
     virtual void set_font_color(const weld::TreeIter& rIter, const Color& 
rColor) override;
     virtual void scroll_to_row(const weld::TreeIter& rIter) override;
     virtual bool is_selected(const weld::TreeIter& rIter) const override;
diff --git a/vcl/qt5/QtInstanceTreeView.cxx b/vcl/qt5/QtInstanceTreeView.cxx
index d6fc0f952826..f318456df1bf 100644
--- a/vcl/qt5/QtInstanceTreeView.cxx
+++ b/vcl/qt5/QtInstanceTreeView.cxx
@@ -232,14 +232,32 @@ void QtInstanceTreeView::set_image(int nRow, const 
OUString& rImage, int nCol)
     });
 }
 
-void QtInstanceTreeView::set_image(int, VirtualDevice&, int)
+void QtInstanceTreeView::set_image(int nRow, VirtualDevice& rImage, int nCol)
 {
-    assert(false && "Not implemented yet");
+    assert(nCol != -1 && "Special column -1 not handled yet");
+
+    SolarMutexGuard g;
+
+    GetQtInstance().RunInMainThread([&] {
+        QModelIndex aIndex = modelIndex(nRow, nCol);
+        QIcon aIcon = toQPixmap(rImage);
+        m_pModel->setData(aIndex, aIcon, Qt::DecorationRole);
+    });
 }
 
-void QtInstanceTreeView::set_image(int, const 
css::uno::Reference<css::graphic::XGraphic>&, int)
+void QtInstanceTreeView::set_image(int nRow,
+                                   const 
css::uno::Reference<css::graphic::XGraphic>& rImage,
+                                   int nCol)
 {
-    assert(false && "Not implemented yet");
+    assert(nCol != -1 && "Special column -1 not handled yet");
+
+    SolarMutexGuard g;
+
+    GetQtInstance().RunInMainThread([&] {
+        QModelIndex aIndex = modelIndex(nRow, nCol);
+        QIcon aIcon = toQPixmap(rImage);
+        m_pModel->setData(aIndex, aIcon, Qt::DecorationRole);
+    });
 }
 
 void QtInstanceTreeView::set_text_emphasis(int, bool, int)
@@ -550,15 +568,16 @@ void QtInstanceTreeView::set_image(const weld::TreeIter& 
rIter, const OUString&
     set_image(rowIndex(rIter), rImage, nCol);
 }
 
-void QtInstanceTreeView::set_image(const weld::TreeIter&, VirtualDevice&, int)
+void QtInstanceTreeView::set_image(const weld::TreeIter& rIter, VirtualDevice& 
rImage, int nCol)
 {
-    assert(false && "Not implemented yet");
+    set_image(rowIndex(rIter), rImage, nCol);
 }
 
-void QtInstanceTreeView::set_image(const weld::TreeIter&,
-                                   const 
css::uno::Reference<css::graphic::XGraphic>&, int)
+void QtInstanceTreeView::set_image(const weld::TreeIter& rIter,
+                                   const 
css::uno::Reference<css::graphic::XGraphic>& rImage,
+                                   int nCol)
 {
-    assert(false && "Not implemented yet");
+    set_image(rowIndex(rIter), rImage, nCol);
 }
 
 void QtInstanceTreeView::set_font_color(const weld::TreeIter&, const Color&)
commit 78953a77d532bb0e197334fe94b6e7622b05d814
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Feb 12 22:23:30 2025 +0100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Thu Feb 13 09:25:53 2025 +0100

    tdf#130857 qt weld: Implement QtInstanceTreeView::set_image(int,...)
    
    Reuse the implementation for the variant taking a
    `const weld::TreeIter&` and forward the latter.
    
    Change-Id: I96e4e1c293daa2fc1a6030b0dd31830777a349c0
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181516
    Reviewed-by: Michael Weghorn <m.wegh...@posteo.de>
    Tested-by: Jenkins

diff --git a/vcl/inc/qt5/QtInstanceTreeView.hxx 
b/vcl/inc/qt5/QtInstanceTreeView.hxx
index bef4ffa04dcd..2e7cfe5195ad 100644
--- a/vcl/inc/qt5/QtInstanceTreeView.hxx
+++ b/vcl/inc/qt5/QtInstanceTreeView.hxx
@@ -50,7 +50,7 @@ public:
     virtual void set_id(int row, const OUString& rId) override;
     virtual void set_toggle(int row, TriState eState, int col = -1) override;
     virtual TriState get_toggle(int row, int col = -1) const override;
-    virtual void set_image(int row, const OUString& rImage, int col = -1) 
override;
+    virtual void set_image(int nRow, const OUString& rImage, int nCol = -1) 
override;
     virtual void set_image(int row, VirtualDevice& rImage, int col = -1) 
override;
     virtual void set_image(int row, const 
css::uno::Reference<css::graphic::XGraphic>& rImage,
                            int col = -1) override;
diff --git a/vcl/qt5/QtInstanceTreeView.cxx b/vcl/qt5/QtInstanceTreeView.cxx
index 167100e6c148..d6fc0f952826 100644
--- a/vcl/qt5/QtInstanceTreeView.cxx
+++ b/vcl/qt5/QtInstanceTreeView.cxx
@@ -217,9 +217,19 @@ TriState QtInstanceTreeView::get_toggle(int, int) const
     return TRISTATE_INDET;
 }
 
-void QtInstanceTreeView::set_image(int, const OUString&, int)
+void QtInstanceTreeView::set_image(int nRow, const OUString& rImage, int nCol)
 {
-    assert(false && "Not implemented yet");
+    assert(nCol != -1 && "Special column -1 not handled yet");
+
+    SolarMutexGuard g;
+
+    GetQtInstance().RunInMainThread([&] {
+        if (rImage.isEmpty())
+            return;
+        QModelIndex aIndex = modelIndex(nRow, nCol);
+        QIcon aIcon = loadQPixmapIcon(rImage);
+        m_pModel->setData(aIndex, aIcon, Qt::DecorationRole);
+    });
 }
 
 void QtInstanceTreeView::set_image(int, VirtualDevice&, int)
@@ -537,17 +547,7 @@ OUString QtInstanceTreeView::get_id(const weld::TreeIter& 
rIter) const
 
 void QtInstanceTreeView::set_image(const weld::TreeIter& rIter, const 
OUString& rImage, int nCol)
 {
-    assert(nCol != -1 && "Special column -1 not handled yet");
-
-    SolarMutexGuard g;
-
-    GetQtInstance().RunInMainThread([&] {
-        if (rImage.isEmpty())
-            return;
-        QModelIndex aIndex = modelIndex(rIter, nCol);
-        QIcon aIcon = loadQPixmapIcon(rImage);
-        m_pModel->setData(aIndex, aIcon, Qt::DecorationRole);
-    });
+    set_image(rowIndex(rIter), rImage, nCol);
 }
 
 void QtInstanceTreeView::set_image(const weld::TreeIter&, VirtualDevice&, int)

Reply via email to