[Libreoffice-commits] core.git: include/vcl sw/source vcl/source
Caolán McNamara (via logerrit)
logerrit at kemper.freedesktop.org
Thu Mar 26 08:45:46 UTC 2020
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 <caolanm at redhat.com>
AuthorDate: Wed Mar 25 16:44:46 2020 +0000
Commit: Caolán McNamara <caolanm at 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 <caolanm at 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,
More information about the Libreoffice-commits
mailing list