vcl/inc/qt5/QtInstanceTreeView.hxx |    2 +-
 vcl/qt5/QtInstanceTreeView.cxx     |   10 +++++++---
 2 files changed, 8 insertions(+), 4 deletions(-)

New commits:
commit 39fcf245d65103caf0844bc7ebee688ec6c7dc75
Author:     Michael Weghorn <m.wegh...@posteo.de>
AuthorDate: Wed Feb 12 22:40:48 2025 +0100
Commit:     Michael Weghorn <m.wegh...@posteo.de>
CommitDate: Thu Feb 13 09:26:10 2025 +0100

    tdf#130857 qt weld: Implement QtInstanceTreeView::scroll_to_row
    
    Change-Id: I0d140aff5c203d90718c3c890e4424b217469e00
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181518
    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 a600639ffdbe..fb3ba51aa7f7 100644
--- a/vcl/inc/qt5/QtInstanceTreeView.hxx
+++ b/vcl/inc/qt5/QtInstanceTreeView.hxx
@@ -60,7 +60,7 @@ public:
     virtual void swap(int pos1, int pos2) override;
     virtual std::vector<int> get_selected_rows() const override;
     virtual void set_font_color(int pos, const Color& rColor) override;
-    virtual void scroll_to_row(int row) override;
+    virtual void scroll_to_row(int nRow) override;
     virtual bool is_selected(int pos) const override;
     virtual int get_cursor_index() const override;
     virtual void set_cursor(int pos) override;
diff --git a/vcl/qt5/QtInstanceTreeView.cxx b/vcl/qt5/QtInstanceTreeView.cxx
index f318456df1bf..6efb57998898 100644
--- a/vcl/qt5/QtInstanceTreeView.cxx
+++ b/vcl/qt5/QtInstanceTreeView.cxx
@@ -298,7 +298,11 @@ void QtInstanceTreeView::set_font_color(int, const Color&)
     assert(false && "Not implemented yet");
 }
 
-void QtInstanceTreeView::scroll_to_row(int) { assert(false && "Not implemented 
yet"); }
+void QtInstanceTreeView::scroll_to_row(int nRow)
+{
+    SolarMutexGuard g;
+    GetQtInstance().RunInMainThread([&] { 
m_pTreeView->scrollTo(modelIndex(nRow)); });
+}
 
 bool QtInstanceTreeView::is_selected(int) const
 {
@@ -585,9 +589,9 @@ void QtInstanceTreeView::set_font_color(const 
weld::TreeIter&, const Color&)
     assert(false && "Not implemented yet");
 }
 
-void QtInstanceTreeView::scroll_to_row(const weld::TreeIter&)
+void QtInstanceTreeView::scroll_to_row(const weld::TreeIter& rIter)
 {
-    assert(false && "Not implemented yet");
+    scroll_to_row(rowIndex(rIter));
 }
 
 bool QtInstanceTreeView::is_selected(const weld::TreeIter&) const

Reply via email to