summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2024-10-28 09:23:09 +0200
committerMike Kaganski <mike.kaganski@collabora.com>2024-10-28 09:58:04 +0100
commitff8e1b98529b0b278730035a37412a5cc0f58c0d (patch)
tree232aab9e66d566abfb34ec9e938dfd075e9fefd7 /sw
parentd239ac793f89c95cac95e5601a7d7a06c76dfd3c (diff)
Simplify a bit
Change-Id: I3428aeb36ad35b6887e26c9abdabca64d11add70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175617 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'sw')
-rw-r--r--sw/source/core/unocore/unocoll.cxx68
1 files changed, 17 insertions, 51 deletions
diff --git a/sw/source/core/unocore/unocoll.cxx b/sw/source/core/unocore/unocoll.cxx
index 70773c3bdbd3..9387752df234 100644
--- a/sw/source/core/unocore/unocoll.cxx
+++ b/sw/source/core/unocore/unocoll.cxx
@@ -1691,12 +1691,8 @@ sal_Int32 SwXFootnotes::getCount()
{
SolarMutexGuard aGuard;
sal_Int32 nCount = 0;
- auto& rIdxs = GetDoc().GetFootnoteIdxs();
- const size_t nFootnoteCnt = rIdxs.size();
- SwTextFootnote* pTextFootnote;
- for( size_t n = 0; n < nFootnoteCnt; ++n )
+ for (const SwTextFootnote* pTextFootnote : GetDoc().GetFootnoteIdxs())
{
- pTextFootnote = rIdxs[n];
const SwFormatFootnote& rFootnote = pTextFootnote->GetFootnote();
if ( rFootnote.IsEndNote() != m_bEndnote )
continue;
@@ -1707,38 +1703,28 @@ sal_Int32 SwXFootnotes::getCount()
uno::Any SwXFootnotes::getByIndex(sal_Int32 nIndex)
{
+ if (nIndex < 0)
+ throw IndexOutOfBoundsException();
return uno::Any(uno::Reference< XFootnote >(getFootnoteByIndex(nIndex)));
}
rtl::Reference<SwXFootnote> SwXFootnotes::getFootnoteByIndex(sal_Int32 nIndex)
{
SolarMutexGuard aGuard;
- rtl::Reference<SwXFootnote> xRef;
sal_Int32 nCount = 0;
auto& rDoc = GetDoc();
- auto& rIdxs = rDoc.GetFootnoteIdxs();
- const size_t nFootnoteCnt = rIdxs.size();
- SwTextFootnote* pTextFootnote;
- for( size_t n = 0; n < nFootnoteCnt; ++n )
+ for (const SwTextFootnote* pTextFootnote : rDoc.GetFootnoteIdxs())
{
- pTextFootnote = rIdxs[n];
const SwFormatFootnote& rFootnote = pTextFootnote->GetFootnote();
if ( rFootnote.IsEndNote() != m_bEndnote )
continue;
if(nCount == nIndex)
- {
- xRef = SwXFootnote::CreateXFootnote(rDoc,
- &const_cast<SwFormatFootnote&>(rFootnote));
- break;
- }
+ return SwXFootnote::CreateXFootnote(rDoc, &const_cast<SwFormatFootnote&>(rFootnote));
nCount++;
}
- if(!xRef.is())
- throw IndexOutOfBoundsException();
-
- return xRef;
+ throw IndexOutOfBoundsException();
}
uno::Type SAL_CALL SwXFootnotes::getElementType()
@@ -1789,56 +1775,36 @@ sal_Int32 SwXReferenceMarks::getCount()
uno::Any SwXReferenceMarks::getByIndex(sal_Int32 nIndex)
{
- SolarMutexGuard aGuard;
- uno::Any aRet;
- uno::Reference< XTextContent > xRef;
if(0 <= nIndex && nIndex < SAL_MAX_UINT16)
{
+ SolarMutexGuard aGuard;
auto& rDoc = GetDoc();
- SwFormatRefMark *const pMark = const_cast<SwFormatRefMark*>(
- rDoc.GetRefMark(o3tl::narrowing<sal_uInt16>(nIndex)));
- if(pMark)
- {
- xRef = SwXReferenceMark::CreateXReferenceMark(rDoc, pMark);
- aRet <<= xRef;
- }
+ if (auto* const pMark = const_cast<SwFormatRefMark*>(rDoc.GetRefMark(nIndex)))
+ return uno::Any(
+ uno::Reference<XTextContent>(SwXReferenceMark::CreateXReferenceMark(rDoc, pMark)));
}
- if(!xRef.is())
- throw IndexOutOfBoundsException();
- return aRet;
+ throw IndexOutOfBoundsException();
}
uno::Any SwXReferenceMarks::getByName(const OUString& rName)
{
SolarMutexGuard aGuard;
- uno::Any aRet;
-
auto& rDoc = GetDoc();
- SwFormatRefMark *const pMark =
- const_cast<SwFormatRefMark*>(rDoc.GetRefMark(rName));
- if(!pMark)
- throw NoSuchElementException();
-
- uno::Reference<XTextContent> const xRef =
- SwXReferenceMark::CreateXReferenceMark(rDoc, pMark);
- aRet <<= xRef;
+ if (auto* const pMark = const_cast<SwFormatRefMark*>(rDoc.GetRefMark(rName)))
+ return uno::Any(
+ uno::Reference<XTextContent>(SwXReferenceMark::CreateXReferenceMark(rDoc, pMark)));
- return aRet;
+ throw NoSuchElementException();
}
uno::Sequence< OUString > SwXReferenceMarks::getElementNames()
{
SolarMutexGuard aGuard;
- uno::Sequence<OUString> aRet;
std::vector<OUString> aStrings;
- const sal_uInt16 nCount = GetDoc().GetRefMarks(&aStrings);
- aRet.realloc(nCount);
- OUString* pNames = aRet.getArray();
- for(sal_uInt16 i = 0; i < nCount; i++)
- pNames[i] = aStrings[i];
+ GetDoc().GetRefMarks(&aStrings);
- return aRet;
+ return comphelper::containerToSequence(aStrings);
}
sal_Bool SwXReferenceMarks::hasByName(const OUString& rName)