include/vcl/weldutils.hxx | 2 ++ sw/source/uibase/utlui/content.cxx | 16 ++-------------- vcl/source/window/builder.cxx | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+), 14 deletions(-)
New commits: commit dbaac810a59a391e6ba5c52c6b6b38088cc1ace7 Author: Caolán McNamara <caol...@redhat.com> AuthorDate: Wed Mar 25 16:44:46 2020 +0000 Commit: Caolán McNamara <caol...@redhat.com> CommitDate: Thu Mar 26 09:45:03 2020 +0100 extract GetAbsPos for reuse Change-Id: Ida6b70f4166f8b1e19990300a5856ee54556a9f8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91065 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caol...@redhat.com> diff --git a/include/vcl/weldutils.hxx b/include/vcl/weldutils.hxx index fdc9e8cf30d6..077dab0fa414 100644 --- a/include/vcl/weldutils.hxx +++ b/include/vcl/weldutils.hxx @@ -152,6 +152,8 @@ public: m_aPaintListeners.removeInterface(rListener); } }; + +VCL_DLLPUBLIC size_t GetAbsPos(const weld::TreeView& rTreeView, const weld::TreeIter& rIter); } #endif diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx index cfa216925470..49f936959429 100644 --- a/sw/source/uibase/utlui/content.cxx +++ b/sw/source/uibase/utlui/content.cxx @@ -31,6 +31,7 @@ #include <vcl/commandevent.hxx> #include <vcl/help.hxx> #include <vcl/settings.hxx> +#include <vcl/weldutils.hxx> #include <sot/formats.hxx> #include <uiitems.hxx> #include <fmtinfmt.hxx> @@ -1755,20 +1756,7 @@ namespace size_t SwContentTree::GetAbsPos(const weld::TreeIter& rIter) { - size_t nAbsPos = 0; - - std::unique_ptr<weld::TreeIter> xEntry(m_xTreeView->make_iterator(&rIter)); - if (!m_xTreeView->get_iter_first(*xEntry)) - xEntry.reset(); - - while (xEntry && m_xTreeView->iter_compare(*xEntry, rIter) != 0) - { - if (!m_xTreeView->iter_next(*xEntry)) - xEntry.reset(); - nAbsPos++; - } - - return nAbsPos; + return weld::GetAbsPos(*m_xTreeView, rIter); } size_t SwContentTree::GetEntryCount() const diff --git a/vcl/source/window/builder.cxx b/vcl/source/window/builder.cxx index f9329cbecc52..f3ed31051d94 100644 --- a/vcl/source/window/builder.cxx +++ b/vcl/source/window/builder.cxx @@ -51,6 +51,7 @@ #include <vcl/settings.hxx> #include <slider.hxx> #include <vcl/weld.hxx> +#include <vcl/weldutils.hxx> #include <vcl/commandinfoprovider.hxx> #include <iconview.hxx> #include <svdata.hxx> @@ -422,6 +423,24 @@ namespace weld int nHeight = nRows == -1 ? -1 : m_xTreeView->get_height_rows(nRows); m_xTreeView->set_size_request(m_xTreeView->get_size_request().Width(), nHeight); } + + size_t GetAbsPos(const weld::TreeView& rTreeView, const weld::TreeIter& rIter) + { + size_t nAbsPos = 0; + + std::unique_ptr<weld::TreeIter> xEntry(rTreeView.make_iterator(&rIter)); + if (!rTreeView.get_iter_first(*xEntry)) + xEntry.reset(); + + while (xEntry && rTreeView.iter_compare(*xEntry, rIter) != 0) + { + if (!rTreeView.iter_next(*xEntry)) + xEntry.reset(); + nAbsPos++; + } + + return nAbsPos; + } } VclBuilder::VclBuilder(vcl::Window* pParent, const OUString& sUIDir, const OUString& sUIFile, _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits