[Libreoffice-commits] core.git: writerfilter/source writerperfect/qa writerperfect/source xmlhelp/source
Arkadiy Illarionov (via logerrit)
logerrit at kemper.freedesktop.org
Thu Jun 13 17:44:03 UTC 2019
writerfilter/source/dmapper/DomainMapperTableHandler.cxx | 40 ++---
writerfilter/source/dmapper/DomainMapper_Impl.cxx | 109 ++++++---------
writerfilter/source/dmapper/GraphicImport.cxx | 16 --
writerfilter/source/dmapper/NumberingManager.cxx | 25 +--
writerfilter/source/dmapper/PropertyMap.cxx | 24 +--
writerfilter/source/dmapper/StyleSheetTable.cxx | 19 +-
writerfilter/source/dmapper/ThemeTable.cxx | 8 -
writerfilter/source/ooxml/OOXMLDocumentImpl.cxx | 15 --
writerfilter/source/ooxml/OOXMLStreamImpl.cxx | 15 --
writerperfect/qa/unit/WpftLoader.cxx | 17 +-
writerperfect/source/calc/MSWorksCalcImportFilter.cxx | 20 +-
writerperfect/source/common/WPXSvInputStream.cxx | 8 -
writerperfect/source/writer/EPUBExportFilter.cxx | 24 +--
writerperfect/source/writer/WordPerfectImportFilter.cxx | 12 -
writerperfect/source/writer/exp/xmlimp.cxx | 61 +++-----
xmlhelp/source/cxxhelp/provider/content.cxx | 19 +-
xmlhelp/source/cxxhelp/provider/databases.cxx | 26 +--
xmlhelp/source/cxxhelp/provider/resultsetbase.cxx | 13 -
xmlhelp/source/treeview/tvfactory.cxx | 4
xmlhelp/source/treeview/tvread.cxx | 26 +--
20 files changed, 212 insertions(+), 289 deletions(-)
New commits:
commit 54afdbd1b442d93313a01e58dba8fe3b84f596d1
Author: Arkadiy Illarionov <qarkai at gmail.com>
AuthorDate: Wed Jun 12 11:21:20 2019 +0300
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Thu Jun 13 19:43:13 2019 +0200
Simplify Sequence iterations in writerfilter, writerperfect, xmlhelp
Use range-based loops or replace with comphelper or STL functions
Change-Id: I9113e04d15ad84d0abac087afc627969e8ebc354
Reviewed-on: https://gerrit.libreoffice.org/73867
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
index 0844050c37a7..27a710f5a0b6 100644
--- a/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
+++ b/writerfilter/source/dmapper/DomainMapperTableHandler.cxx
@@ -889,7 +889,7 @@ static bool lcl_emptyRow(std::vector<RowSequence_t>& rTableRanges, sal_Int32 nRo
}
RowSequence_t rRowSeq = rTableRanges[nRow];
- if (rRowSeq.getLength() == 0)
+ if (!rRowSeq.hasElements())
{
SAL_WARN("writerfilter.dmapper", "m_aCellProperties not in sync with rTableRanges?");
return false;
@@ -906,12 +906,14 @@ static bool lcl_emptyRow(std::vector<RowSequence_t>& rTableRanges, sal_Int32 nRo
uno::Reference<text::XTextRangeCompare> xTextRangeCompare(rRowSeq[0][0]->getText(), uno::UNO_QUERY);
try
{
- for (sal_Int32 nCell = 0; nCell < rRowSeq.getLength(); ++nCell)
- // See SwXText::Impl::ConvertCell(), we need to compare the start of
- // the start and the end of the end. However for our text ranges, only
- // the starts are set, so compareRegionStarts() does what we need.
- if (xTextRangeCompare->compareRegionStarts(rRowSeq[nCell][0], rRowSeq[nCell][1]) != 0)
- return false;
+ // See SwXText::Impl::ConvertCell(), we need to compare the start of
+ // the start and the end of the end. However for our text ranges, only
+ // the starts are set, so compareRegionStarts() does what we need.
+ bool bRangesAreNotEqual = std::any_of(rRowSeq.begin(), rRowSeq.end(),
+ [&xTextRangeCompare](const CellSequence_t& rCellSeq) {
+ return xTextRangeCompare->compareRegionStarts(rCellSeq[0], rCellSeq[1]) != 0; });
+ if (bRangesAreNotEqual)
+ return false;
}
catch (const lang::IllegalArgumentException& e)
{
@@ -1083,21 +1085,19 @@ void DomainMapperTableHandler::endTable(unsigned int nestedTableLevel, bool bTab
}
// OOXML table style may container paragraph properties, apply these now.
- for (int i = 0; i < aTableInfo.aTableProperties.getLength(); ++i)
+ auto pTableProp = std::find_if(aTableInfo.aTableProperties.begin(), aTableInfo.aTableProperties.end(),
+ [](const beans::PropertyValue& rProp) { return rProp.Name == "ParaBottomMargin"; });
+ if (pTableProp != aTableInfo.aTableProperties.end())
{
- if (aTableInfo.aTableProperties[i].Name == "ParaBottomMargin")
+ uno::Reference<table::XCellRange> xCellRange(xTable, uno::UNO_QUERY);
+ uno::Any aBottomMargin = pTableProp->Value;
+ sal_Int32 nRows = aCellProperties.getLength();
+ for (sal_Int32 nRow = 0; nRow < nRows; ++nRow)
{
- uno::Reference<table::XCellRange> xCellRange(xTable, uno::UNO_QUERY);
- uno::Any aBottomMargin = aTableInfo.aTableProperties[i].Value;
- sal_Int32 nRows = aCellProperties.getLength();
- for (sal_Int32 nRow = 0; nRow < nRows; ++nRow)
- {
- const uno::Sequence< beans::PropertyValues > aCurrentRow = aCellProperties[nRow];
- sal_Int32 nCells = aCurrentRow.getLength();
- for (sal_Int32 nCell = 0; nCell < nCells; ++nCell)
- lcl_ApplyCellParaProps(xCellRange->getCellByPosition(nCell, nRow), aBottomMargin);
- }
- break;
+ const uno::Sequence< beans::PropertyValues > aCurrentRow = aCellProperties[nRow];
+ sal_Int32 nCells = aCurrentRow.getLength();
+ for (sal_Int32 nCell = 0; nCell < nCells; ++nCell)
+ lcl_ApplyCellParaProps(xCellRange->getCellByPosition(nCell, nRow), aBottomMargin);
}
}
}
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index f03ee6f8271b..d70ebb443691 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -633,9 +633,9 @@ FieldContextPtr const & DomainMapper_Impl::GetTopFieldContext()
void DomainMapper_Impl::InitTabStopFromStyle( const uno::Sequence< style::TabStop >& rInitTabStops )
{
OSL_ENSURE(m_aCurrentTabStops.empty(), "tab stops already initialized");
- for( sal_Int32 nTab = 0; nTab < rInitTabStops.getLength(); ++nTab)
+ for( const auto& rTabStop : rInitTabStops)
{
- m_aCurrentTabStops.emplace_back(rInitTabStops[nTab] );
+ m_aCurrentTabStops.emplace_back(rTabStop);
}
}
@@ -1626,13 +1626,12 @@ void DomainMapper_Impl::appendTextPortion( const OUString& rString, const Proper
{
// If we are in comments, then disable CharGrabBag, comment text doesn't support that.
uno::Sequence< beans::PropertyValue > aValues = pPropertyMap->GetPropertyValues(/*bCharGrabBag=*/!m_bIsInComments);
- sal_Int32 len = aValues.getLength();
if (m_bStartTOC || m_bStartIndex || m_bStartBibliography)
- for( int i =0; i < len; ++i )
+ for( auto& rValue : aValues )
{
- if (aValues[i].Name == "CharHidden")
- aValues[i].Value <<= false;
+ if (rValue.Name == "CharHidden")
+ rValue.Value <<= false;
}
uno::Reference< text::XTextRange > xTextRange;
@@ -2339,18 +2338,18 @@ void DomainMapper_Impl::PushShapeContext( const uno::Reference< drawing::XShape
xShapePropertySet->getPropertyValue("FrameInteropGrabBag") >>= aGrabBag;
bool checkBtLrStatus = false;
- for (int i = 0; i < aGrabBag.getLength(); ++i)
+ for (const auto& rProp : aGrabBag)
{
- if (aGrabBag[i].Name == "mso-layout-flow-alt")
+ if (rProp.Name == "mso-layout-flow-alt")
{
- m_bFrameBtLr = aGrabBag[i].Value.get<OUString>() == "bottom-to-top";
+ m_bFrameBtLr = rProp.Value.get<OUString>() == "bottom-to-top";
checkBtLrStatus = true;
}
- if (aGrabBag[i].Name == "VML-Z-ORDER")
+ if (rProp.Name == "VML-Z-ORDER")
{
GraphicZOrderHelper* pZOrderHelper = m_rDMapper.graphicZOrderHelper();
sal_Int32 zOrder(0);
- aGrabBag[i].Value >>= zOrder;
+ rProp.Value >>= zOrder;
xShapePropertySet->setPropertyValue( "ZOrder", uno::makeAny(pZOrderHelper->findZOrder(zOrder)));
pZOrderHelper->addItem(xShapePropertySet, zOrder);
xShapePropertySet->setPropertyValue(getPropertyName( PROP_OPAQUE ), uno::makeAny( zOrder >= 0 ) );
@@ -2359,7 +2358,7 @@ void DomainMapper_Impl::PushShapeContext( const uno::Reference< drawing::XShape
if(checkBtLrStatus && checkZOrderStatus)
break;
- if ( aGrabBag[i].Name == "TxbxHasLink" )
+ if ( rProp.Name == "TxbxHasLink" )
{
//Chaining of textboxes will happen in ~DomainMapper_Impl
//i.e when all the textboxes are read and all its attributes
@@ -2391,19 +2390,19 @@ void DomainMapper_Impl::PushShapeContext( const uno::Reference< drawing::XShape
uno::Reference<beans::XPropertySet> xShapePropertySet(xShape, uno::UNO_QUERY);
uno::Sequence<beans::PropertyValue> aGrabBag;
xShapePropertySet->getPropertyValue("InteropGrabBag") >>= aGrabBag;
- for (int i = 0; i < aGrabBag.getLength(); ++i)
+ for (const auto& rProp : aGrabBag)
{
- if (aGrabBag[i].Name == "VML-Z-ORDER")
+ if (rProp.Name == "VML-Z-ORDER")
{
GraphicZOrderHelper* pZOrderHelper = m_rDMapper.graphicZOrderHelper();
sal_Int32 zOrder(0);
- aGrabBag[i].Value >>= zOrder;
+ rProp.Value >>= zOrder;
xShapePropertySet->setPropertyValue( "ZOrder", uno::makeAny(pZOrderHelper->findZOrder(zOrder)));
pZOrderHelper->addItem(xShapePropertySet, zOrder);
xShapePropertySet->setPropertyValue(getPropertyName( PROP_OPAQUE ), uno::makeAny( zOrder >= 0 ) );
checkZOrderStatus = true;
}
- else if ( aGrabBag[i].Name == "TxbxHasLink" )
+ else if ( rProp.Name == "TxbxHasLink" )
{
//Chaining of textboxes will happen in ~DomainMapper_Impl
//i.e when all the textboxes are read and all its attributes
@@ -2527,17 +2526,17 @@ bool DomainMapper_Impl::IsSdtEndBefore()
if(pContext)
{
uno::Sequence< beans::PropertyValue > currentCharProps = pContext->GetPropertyValues();
- for (int i =0; i< currentCharProps.getLength(); i++)
+ for (const auto& rCurrentCharProp : currentCharProps)
{
- if (currentCharProps[i].Name == "CharInteropGrabBag")
+ if (rCurrentCharProp.Name == "CharInteropGrabBag")
{
uno::Sequence<beans::PropertyValue> aCharGrabBag;
- currentCharProps[i].Value >>= aCharGrabBag;
- for (int j=0; j < aCharGrabBag.getLength();j++)
+ rCurrentCharProp.Value >>= aCharGrabBag;
+ for (const auto& rProp : aCharGrabBag)
{
- if(aCharGrabBag[j].Name == "SdtEndBefore")
+ if(rProp.Name == "SdtEndBefore")
{
- aCharGrabBag[j].Value >>= bIsSdtEndBefore;
+ rProp.Value >>= bIsSdtEndBefore;
}
}
}
@@ -2935,11 +2934,10 @@ void DomainMapper_Impl::SetNumberFormat( const OUString& rCommand,
static uno::Any lcl_getGrabBagValue( const uno::Sequence<beans::PropertyValue>& grabBag, OUString const & name )
{
- for (int i = 0; i < grabBag.getLength(); ++i)
- {
- if (grabBag[i].Name == name )
- return grabBag[i].Value ;
- }
+ auto pProp = std::find_if(grabBag.begin(), grabBag.end(),
+ [&name](const beans::PropertyValue& rProp) { return rProp.Name == name; });
+ if (pProp != grabBag.end())
+ return pProp->Value;
return uno::Any();
}
@@ -3728,10 +3726,7 @@ static uno::Sequence< beans::PropertyValues > lcl_createTOXLevelHyperlinks( bool
pNewLevel[aNewLevel.getLength() - (bHyperlinks ? 3 : 1)] = aChapterSeparator;
}
//copy the 'old' entries except the last (page no)
- for( sal_Int32 nToken = 0; nToken < aLevel.getLength() - 1; ++nToken)
- {
- pNewLevel[nToken + 1] = aLevel[nToken];
- }
+ std::copy(aLevel.begin(), std::prev(aLevel.end()), std::next(aNewLevel.begin()));
//copy page no entry (last or last but one depending on bHyperlinks
sal_Int32 nPageNo = aNewLevel.getLength() - (bHyperlinks ? 2 : 3);
pNewLevel[nPageNo] = aLevel[aLevel.getLength() - 1];
@@ -5966,21 +5961,17 @@ uno::Reference<beans::XPropertySet> DomainMapper_Impl::GetCurrentNumberingCharSt
}
uno::Sequence<beans::PropertyValue> aProps;
xLevels->getByIndex(nListLevel) >>= aProps;
- for (int i = 0; i < aProps.getLength(); ++i)
+ auto pProp = std::find_if(aProps.begin(), aProps.end(),
+ [](const beans::PropertyValue& rProp) { return rProp.Name == "CharStyleName"; });
+ if (pProp != aProps.end())
{
- const beans::PropertyValue& rProp = aProps[i];
-
- if (rProp.Name == "CharStyleName")
- {
- OUString aCharStyle;
- rProp.Value >>= aCharStyle;
- uno::Reference<container::XNameAccess> xCharacterStyles;
- uno::Reference< style::XStyleFamiliesSupplier > xStylesSupplier(GetTextDocument(), uno::UNO_QUERY);
- uno::Reference< container::XNameAccess > xStyleFamilies = xStylesSupplier->getStyleFamilies();
- xStyleFamilies->getByName("CharacterStyles") >>= xCharacterStyles;
- xRet.set(xCharacterStyles->getByName(aCharStyle), uno::UNO_QUERY_THROW);
- break;
- }
+ OUString aCharStyle;
+ pProp->Value >>= aCharStyle;
+ uno::Reference<container::XNameAccess> xCharacterStyles;
+ uno::Reference< style::XStyleFamiliesSupplier > xStylesSupplier(GetTextDocument(), uno::UNO_QUERY);
+ uno::Reference< container::XNameAccess > xStyleFamilies = xStylesSupplier->getStyleFamilies();
+ xStyleFamilies->getByName("CharacterStyles") >>= xCharacterStyles;
+ xRet.set(xCharacterStyles->getByName(aCharStyle), uno::UNO_QUERY_THROW);
}
}
catch( const uno::Exception& )
@@ -6039,16 +6030,10 @@ sal_Int32 DomainMapper_Impl::getNumberingProperty(const sal_Int32 nListId, sal_I
{
uno::Sequence<beans::PropertyValue> aProps;
xNumberingRules->getByIndex(nNumberingLevel) >>= aProps;
- for (int i = 0; i < aProps.getLength(); ++i)
- {
- const beans::PropertyValue& rProp = aProps[i];
-
- if (rProp.Name == aProp)
- {
- rProp.Value >>= nRet;
- break;
- }
- }
+ auto pProp = std::find_if(aProps.begin(), aProps.end(),
+ [&aProp](const beans::PropertyValue& rProp) { return rProp.Name == aProp; });
+ if (pProp != aProps.end())
+ pProp->Value >>= nRet;
}
}
catch( const uno::Exception& )
@@ -6076,16 +6061,10 @@ sal_Int32 DomainMapper_Impl::getCurrentNumberingProperty(const OUString& aProp)
{
uno::Sequence<beans::PropertyValue> aProps;
xNumberingRules->getByIndex(nNumberingLevel) >>= aProps;
- for (int i = 0; i < aProps.getLength(); ++i)
- {
- const beans::PropertyValue& rProp = aProps[i];
-
- if (rProp.Name == aProp)
- {
- rProp.Value >>= nRet;
- break;
- }
- }
+ auto pPropVal = std::find_if(aProps.begin(), aProps.end(),
+ [&aProp](const beans::PropertyValue& rProp) { return rProp.Name == aProp; });
+ if (pPropVal != aProps.end())
+ pPropVal->Value >>= nRet;
}
return nRet;
diff --git a/writerfilter/source/dmapper/GraphicImport.cxx b/writerfilter/source/dmapper/GraphicImport.cxx
index d9458ba468c2..d5d09a90dcbb 100644
--- a/writerfilter/source/dmapper/GraphicImport.cxx
+++ b/writerfilter/source/dmapper/GraphicImport.cxx
@@ -656,16 +656,14 @@ void GraphicImport::lcl_attribute(Id nName, Value& rValue)
xShapeProps->getPropertyValue("RotateAngle") >>= nRotation;
css::beans::PropertyValues aGrabBag;
- bool bContainsEffects = false;
xShapeProps->getPropertyValue("InteropGrabBag") >>= aGrabBag;
- for( sal_Int32 i = 0; i < aGrabBag.getLength(); ++i )
- {
- // if the shape contains effects in the grab bag, we should not transform it
- // in a XTextContent so those effects can be preserved
- if( aGrabBag[i].Name == "EffectProperties" || aGrabBag[i].Name == "3DEffectProperties" ||
- aGrabBag[i].Name == "ArtisticEffectProperties" )
- bContainsEffects = true;
- }
+ // if the shape contains effects in the grab bag, we should not transform it
+ // in a XTextContent so those effects can be preserved
+ bool bContainsEffects = std::any_of(aGrabBag.begin(), aGrabBag.end(), [](const auto& rProp) {
+ return rProp.Name == "EffectProperties"
+ || rProp.Name == "3DEffectProperties"
+ || rProp.Name == "ArtisticEffectProperties";
+ });
xShapeProps->getPropertyValue("Shadow") >>= m_pImpl->bShadow;
if (m_pImpl->bShadow)
diff --git a/writerfilter/source/dmapper/NumberingManager.cxx b/writerfilter/source/dmapper/NumberingManager.cxx
index 4afa77f94f05..666ee674cddc 100644
--- a/writerfilter/source/dmapper/NumberingManager.cxx
+++ b/writerfilter/source/dmapper/NumberingManager.cxx
@@ -74,20 +74,20 @@ static sal_Int32 lcl_findProperty( const uno::Sequence< beans::PropertyValue >&
static void lcl_mergeProperties( uno::Sequence< beans::PropertyValue >& aSrc,
uno::Sequence< beans::PropertyValue >& aDst )
{
- for ( sal_Int32 i = 0, nSrcLen = aSrc.getLength( ); i < nSrcLen; i++ )
+ for ( const auto& rProp : aSrc )
{
// Look for the same property in aDst
- sal_Int32 nPos = lcl_findProperty( aDst, aSrc[i].Name );
+ sal_Int32 nPos = lcl_findProperty( aDst, rProp.Name );
if ( nPos >= 0 )
{
// Replace the property value by the one in aSrc
- aDst[nPos] = aSrc[i];
+ aDst[nPos] = rProp;
}
else
{
// Simply add the new value
aDst.realloc( aDst.getLength( ) + 1 );
- aDst[ aDst.getLength( ) - 1 ] = aSrc[i];
+ aDst[ aDst.getLength( ) - 1 ] = rProp;
}
}
}
@@ -338,19 +338,18 @@ void ListLevel::AddParaProperties( uno::Sequence< beans::PropertyValue >* props
OUString sParaLeftMargin = getPropertyName(
PROP_PARA_LEFT_MARGIN );
- sal_Int32 nLen = aParaProps.getLength( );
- for ( sal_Int32 i = 0; i < nLen; i++ )
+ for ( const auto& rParaProp : aParaProps )
{
- if ( !hasFirstLineIndent && aParaProps[i].Name == sParaIndent )
+ if ( !hasFirstLineIndent && rParaProp.Name == sParaIndent )
{
aProps.realloc( aProps.getLength() + 1 );
- aProps[aProps.getLength( ) - 1] = aParaProps[i];
+ aProps[aProps.getLength( ) - 1] = rParaProp;
aProps[aProps.getLength( ) - 1].Name = sFirstLineIndent;
}
- else if ( !hasIndentAt && aParaProps[i].Name == sParaLeftMargin )
+ else if ( !hasIndentAt && rParaProp.Name == sParaLeftMargin )
{
aProps.realloc( aProps.getLength() + 1 );
- aProps[aProps.getLength( ) - 1] = aParaProps[i];
+ aProps[aProps.getLength( ) - 1] = rParaProp;
aProps[aProps.getLength( ) - 1].Name = sIndentAt;
}
@@ -547,11 +546,7 @@ void ListDef::CreateNumberingRules( DomainMapper& rDMapper,
if( aAbsCharStyleProps.hasElements() )
{
// Change the sequence into a vector
- PropertyValueVector_t aStyleProps;
- for ( sal_Int32 i = 0, nLen = aAbsCharStyleProps.getLength() ; i < nLen; i++ )
- {
- aStyleProps.push_back( aAbsCharStyleProps[i] );
- }
+ auto aStyleProps = comphelper::sequenceToContainer<PropertyValueVector_t>(aAbsCharStyleProps);
//create (or find) a character style containing the character
// attributes of the symbol and apply it to the numbering level
diff --git a/writerfilter/source/dmapper/PropertyMap.cxx b/writerfilter/source/dmapper/PropertyMap.cxx
index cf5f3b4d3381..68f1f7119564 100644
--- a/writerfilter/source/dmapper/PropertyMap.cxx
+++ b/writerfilter/source/dmapper/PropertyMap.cxx
@@ -160,11 +160,8 @@ uno::Sequence< beans::PropertyValue > PropertyMap::GetPropertyValues( bool bChar
{
uno::Sequence< beans::PropertyValue > aSeq;
rPropPair.second.getValue() >>= aSeq;
- for ( sal_Int32 i = 0; i < aSeq.getLength(); ++i )
- {
- pCellGrabBagValues[nCellGrabBagValue] = aSeq[i];
- ++nCellGrabBagValue;
- }
+ std::copy(aSeq.begin(), aSeq.end(), pCellGrabBagValues + nCellGrabBagValue);
+ nCellGrabBagValue += aSeq.getLength();
}
else
{
@@ -452,12 +449,11 @@ static OUString lcl_FindUnusedPageStyleName( const uno::Sequence< OUString >& rP
// find the highest number x in each style with the name "DEFAULT_STYLE+x" and
// return an incremented name
- const OUString* pStyleNames = rPageStyleNames.getConstArray();
- for ( sal_Int32 nStyle = 0; nStyle < rPageStyleNames.getLength(); ++nStyle )
+ for ( const auto& rStyleName : rPageStyleNames )
{
- if ( pStyleNames[nStyle].startsWith( DEFAULT_STYLE ) )
+ if ( rStyleName.startsWith( DEFAULT_STYLE ) )
{
- sal_Int32 nIndex = pStyleNames[nStyle].copy( strlen( DEFAULT_STYLE ) ).toInt32();
+ sal_Int32 nIndex = rStyleName.copy( strlen( DEFAULT_STYLE ) ).toInt32();
if ( nIndex > nMaxIndex )
nMaxIndex = nIndex;
}
@@ -1604,14 +1600,14 @@ void SectionPropertyMap::CloseSectionGroup( DomainMapper_Impl& rDM_Impl )
// Ignore write-only properties.
static const std::set<OUString> aBlacklist
= { "FooterBackGraphicURL", "BackGraphicURL", "HeaderBackGraphicURL" };
- for ( int i = 0; i < propertyList.getLength(); ++i )
+ for ( const auto& rProperty : propertyList )
{
- if ( (propertyList[i].Attributes & beans::PropertyAttribute::READONLY) == 0 )
+ if ( (rProperty.Attributes & beans::PropertyAttribute::READONLY) == 0 )
{
- if (aBlacklist.find(propertyList[i].Name) == aBlacklist.end())
+ if (aBlacklist.find(rProperty.Name) == aBlacklist.end())
evenOddStyle->setPropertyValue(
- propertyList[i].Name,
- pageProperties->getPropertyValue(propertyList[i].Name));
+ rProperty.Name,
+ pageProperties->getPropertyValue(rProperty.Name));
}
}
evenOddStyle->setPropertyValue( "FollowStyle", uno::makeAny( *pageStyle ) );
diff --git a/writerfilter/source/dmapper/StyleSheetTable.cxx b/writerfilter/source/dmapper/StyleSheetTable.cxx
index eef56e7db718..3e41aa93404e 100644
--- a/writerfilter/source/dmapper/StyleSheetTable.cxx
+++ b/writerfilter/source/dmapper/StyleSheetTable.cxx
@@ -360,10 +360,8 @@ void StyleSheetTable_Impl::SetPropertiesToDefault(const uno::Reference<style::XS
uno::Sequence<beans::Property> aProperties = xPropertySetInfo->getProperties();
std::vector<OUString> aPropertyNames;
aPropertyNames.reserve(aProperties.getLength());
- for (sal_Int32 i = 0; i < aProperties.getLength(); ++i)
- {
- aPropertyNames.push_back(aProperties[i].Name);
- }
+ std::transform(aProperties.begin(), aProperties.end(), std::back_inserter(aPropertyNames),
+ [](const beans::Property& rProp) { return rProp.Name; });
uno::Reference<beans::XPropertyState> xPropertyState(xStyle, uno::UNO_QUERY);
uno::Sequence<beans::PropertyState> aStates = xPropertyState->getPropertyStates(comphelper::containerToSequence(aPropertyNames));
@@ -1479,11 +1477,11 @@ void StyleSheetTable::applyDefaults(bool bParaProperties)
xParagraphStyles->getByName("Paragraph style") >>= xDefault;
uno::Sequence< beans::PropertyValue > aPropValues = m_pImpl->m_pDefaultParaProps->GetPropertyValues();
- for( sal_Int32 i = 0; i < aPropValues.getLength(); ++i )
+ for( const auto& rPropValue : aPropValues )
{
try
{
- xDefault->setPropertyValue(aPropValues[i].Name, aPropValues[i].Value);
+ xDefault->setPropertyValue(rPropValue.Name, rPropValue.Value);
}
catch( const uno::Exception& )
{
@@ -1494,11 +1492,11 @@ void StyleSheetTable::applyDefaults(bool bParaProperties)
if( !bParaProperties && m_pImpl->m_pDefaultCharProps.get())
{
uno::Sequence< beans::PropertyValue > aPropValues = m_pImpl->m_pDefaultCharProps->GetPropertyValues();
- for( sal_Int32 i = 0; i < aPropValues.getLength(); ++i )
+ for( const auto& rPropValue : aPropValues )
{
try
{
- m_pImpl->m_xTextDefaults->setPropertyValue( aPropValues[i].Name, aPropValues[i].Value );
+ m_pImpl->m_xTextDefaults->setPropertyValue( rPropValue.Name, rPropValue.Value );
}
catch( const uno::Exception& )
{
@@ -1528,11 +1526,10 @@ OUString StyleSheetTable::getOrCreateCharStyle( PropertyValueVector_t& rCharProp
//search for all character styles with the name sListLabel + <index>
sal_Int32 nStyleFound = 0;
uno::Sequence< OUString > aStyleNames = xCharStyles->getElementNames();
- const OUString* pStyleNames = aStyleNames.getConstArray();
- for( sal_Int32 nStyle = 0; nStyle < aStyleNames.getLength(); ++nStyle )
+ for( const auto& rStyleName : aStyleNames )
{
OUString sSuffix;
- if( pStyleNames[nStyle].startsWith( cListLabel, &sSuffix ) )
+ if( rStyleName.startsWith( cListLabel, &sSuffix ) )
{
sal_Int32 nSuffix = sSuffix.toInt32();
if( nSuffix > 0 && nSuffix > nStyleFound )
diff --git a/writerfilter/source/dmapper/ThemeTable.cxx b/writerfilter/source/dmapper/ThemeTable.cxx
index 2eac8d818112..754a278ea082 100644
--- a/writerfilter/source/dmapper/ThemeTable.cxx
+++ b/writerfilter/source/dmapper/ThemeTable.cxx
@@ -243,13 +243,13 @@ const OUString ThemeTable::getFontNameForTheme(const Id id) const
void ThemeTable::setThemeFontLangProperties(const uno::Sequence<beans::PropertyValue>& aPropSeq)
{
- for (sal_Int32 i = 0 ; i < aPropSeq.getLength() ; i ++)
+ for (const auto& rProp : aPropSeq)
{
OUString sLocaleName;
- aPropSeq.getConstArray()[i].Value >>= sLocaleName;
- if (aPropSeq.getConstArray()[i].Name == "eastAsia")
+ rProp.Value >>= sLocaleName;
+ if (rProp.Name == "eastAsia")
m_pImpl->m_themeFontLangEastAsia = fromLocaleToScriptTag(sLocaleName);
- if (aPropSeq.getConstArray()[i].Name == "bidi")
+ if (rProp.Name == "bidi")
m_pImpl->m_themeFontLangBidi = fromLocaleToScriptTag(sLocaleName);
}
diff --git a/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx b/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx
index 0d00b0eff303..9601a5311923 100644
--- a/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx
+++ b/writerfilter/source/ooxml/OOXMLDocumentImpl.cxx
@@ -560,12 +560,10 @@ void OOXMLDocumentImpl::resolveCustomXmlStream(Stream & rStream)
uno::Sequence<uno::Sequence< beans::StringPair>> aSeqs = xRelationshipAccess->getAllRelationships();
std::vector<uno::Reference<xml::dom::XDocument>> aCustomXmlDomList;
std::vector<uno::Reference<xml::dom::XDocument>> aCustomXmlDomPropsList;
- for (sal_Int32 j = 0; j < aSeqs.getLength(); j++)
+ for (const uno::Sequence<beans::StringPair>& aSeq : aSeqs)
{
- const uno::Sequence<beans::StringPair>& aSeq = aSeqs[j];
- for (sal_Int32 i = 0; i < aSeq.getLength(); i++)
+ for (const beans::StringPair& aPair : aSeq)
{
- const beans::StringPair& aPair = aSeq[i];
// Need to resolve only customxml files from document relationships.
// Skipping other files.
if (aPair.Second == sCustomType ||
@@ -629,10 +627,9 @@ void OOXMLDocumentImpl::resolveGlossaryStream(Stream & /*rStream*/)
uno::Sequence< uno::Sequence< beans::StringPair > >aSeqs = xRelationshipAccess->getAllRelationships();
std::vector< uno::Sequence<uno::Any> > aGlossaryDomList;
- for (sal_Int32 j = 0; j < aSeqs.getLength(); j++)
+ for (const uno::Sequence< beans::StringPair >& aSeq : aSeqs)
{
OOXMLStream::Pointer_t gStream;
- uno::Sequence< beans::StringPair > aSeq = aSeqs[j];
//Follows following aSeq[0] is Id, aSeq[1] is Type, aSeq[2] is Target
if (aSeq.getLength() < 3)
{
@@ -728,12 +725,10 @@ void OOXMLDocumentImpl::resolveEmbeddingsStream(const OOXMLStream::Pointer_t& pS
bool bHeaderFooterFound = false;
OOXMLStream::StreamType_t streamType = OOXMLStream::UNKNOWN;
uno::Sequence< uno::Sequence< beans::StringPair > >aSeqs = xRelationshipAccess->getAllRelationships();
- for (sal_Int32 j = 0; j < aSeqs.getLength(); j++)
+ for (const uno::Sequence< beans::StringPair >& aSeq : aSeqs)
{
- uno::Sequence< beans::StringPair > aSeq = aSeqs[j];
- for (sal_Int32 i = 0; i < aSeq.getLength(); i++)
+ for (const beans::StringPair& aPair : aSeq)
{
- beans::StringPair aPair = aSeq[i];
if (aPair.Second == sChartType ||
aPair.Second == sChartTypeStrict)
{
diff --git a/writerfilter/source/ooxml/OOXMLStreamImpl.cxx b/writerfilter/source/ooxml/OOXMLStreamImpl.cxx
index e4e53acc8f1f..cd9426fe1a41 100644
--- a/writerfilter/source/ooxml/OOXMLStreamImpl.cxx
+++ b/writerfilter/source/ooxml/OOXMLStreamImpl.cxx
@@ -96,15 +96,13 @@ bool OOXMLStreamImpl::lcl_getTarget(const uno::Reference<embed::XRelationshipAcc
{
// Cache is empty? Then let's build it!
uno::Sequence< uno::Sequence<beans::StringPair> >aSeqs = xRelationshipAccess->getAllRelationships();
- for (sal_Int32 i = 0; i < aSeqs.getLength(); ++i)
+ for (const uno::Sequence<beans::StringPair>& rSeq : aSeqs)
{
- const uno::Sequence<beans::StringPair>& rSeq = aSeqs[i];
OUString aId;
OUString aTarget;
bool bExternal = false;
- for (sal_Int32 j = 0; j < rSeq.getLength(); ++j)
+ for (const beans::StringPair& rPair : rSeq)
{
- const beans::StringPair& rPair = rSeq[j];
if (rPair.First == sId)
aId = rPair.Second;
else if (rPair.First == sTarget)
@@ -262,16 +260,12 @@ bool OOXMLStreamImpl::lcl_getTarget(const uno::Reference<embed::XRelationshipAcc
uno::Sequence< uno::Sequence< beans::StringPair > >aSeqs =
xRelationshipAccess->getAllRelationships();
- for (sal_Int32 j = 0; j < aSeqs.getLength(); j++)
+ for (const uno::Sequence< beans::StringPair > &rSeq : aSeqs)
{
- const uno::Sequence< beans::StringPair > &rSeq = aSeqs[j];
-
bool bExternalTarget = false;
OUString sMyTarget;
- for (sal_Int32 i = 0; i < rSeq.getLength(); i++)
+ for (const beans::StringPair &rPair : rSeq)
{
- const beans::StringPair &rPair = rSeq[i];
-
if (rPair.First == sType &&
( rPair.Second == sStreamType ||
rPair.Second == sStreamTypeStrict ))
@@ -301,7 +295,6 @@ bool OOXMLStreamImpl::lcl_getTarget(const uno::Reference<embed::XRelationshipAcc
else if (rPair.First == sTargetMode &&
rPair.Second == sExternal)
bExternalTarget = true;
-
}
if (bFound)
diff --git a/writerperfect/qa/unit/WpftLoader.cxx b/writerperfect/qa/unit/WpftLoader.cxx
index 79fc2a05dc68..4c5696c18067 100644
--- a/writerperfect/qa/unit/WpftLoader.cxx
+++ b/writerperfect/qa/unit/WpftLoader.cxx
@@ -181,22 +181,21 @@ void WpftLoader::impl_dispose()
void WpftLoader::impl_detectFilterName(uno::Sequence<beans::PropertyValue>& rDescriptor,
const OUString& rTypeName)
{
- const sal_Int32 nDescriptorLen = rDescriptor.getLength();
-
- for (sal_Int32 n = 0; nDescriptorLen != n; ++n)
- {
- if ("FilterName" == rDescriptor[n].Name)
- return;
- }
+ bool bHasFilterName
+ = std::any_of(rDescriptor.begin(), rDescriptor.end(),
+ [](const beans::PropertyValue& rProp) { return "FilterName" == rProp.Name; });
+ if (bHasFilterName)
+ return;
uno::Sequence<beans::PropertyValue> aTypes;
if (m_xTypeMap->getByName(rTypeName) >>= aTypes)
{
- for (sal_Int32 n = 0; aTypes.getLength() != n; ++n)
+ for (const auto& rType : aTypes)
{
OUString aFilterName;
- if (("PreferredFilter" == aTypes[n].Name) && (aTypes[n].Value >>= aFilterName))
+ if (("PreferredFilter" == rType.Name) && (rType.Value >>= aFilterName))
{
+ const sal_Int32 nDescriptorLen = rDescriptor.getLength();
rDescriptor.realloc(nDescriptorLen + 1);
rDescriptor[nDescriptorLen].Name = "FilterName";
rDescriptor[nDescriptorLen].Value <<= aFilterName;
diff --git a/writerperfect/source/calc/MSWorksCalcImportFilter.cxx b/writerperfect/source/calc/MSWorksCalcImportFilter.cxx
index 8a54381ac576..b62e8ff2d493 100644
--- a/writerperfect/source/calc/MSWorksCalcImportFilter.cxx
+++ b/writerperfect/source/calc/MSWorksCalcImportFilter.cxx
@@ -277,18 +277,16 @@ MSWorksCalcImportFilter::filter(const css::uno::Sequence<css::beans::PropertyVal
css::uno::Reference<ucb::XContent> xContent;
css::uno::Reference<css::awt::XWindow> xDialogParent;
- sal_Int32 nLength = rDescriptor.getLength();
- const css::beans::PropertyValue* pValue = rDescriptor.getConstArray();
- for (sal_Int32 i = 0; i < nLength; i++)
+ for (const auto& rValue : rDescriptor)
{
- if (pValue[i].Name == "InputStream")
- pValue[i].Value >>= xInputStream;
- else if (pValue[i].Name == "UCBContent")
- pValue[i].Value >>= xContent;
- else if (pValue[i].Name == "FileName" || pValue[i].Name == "URL")
- pValue[i].Value >>= sUrl;
- else if (pValue[i].Name == "ParentWindow")
- pValue[i].Value >>= xDialogParent;
+ if (rValue.Name == "InputStream")
+ rValue.Value >>= xInputStream;
+ else if (rValue.Name == "UCBContent")
+ rValue.Value >>= xContent;
+ else if (rValue.Name == "FileName" || rValue.Name == "URL")
+ rValue.Value >>= sUrl;
+ else if (rValue.Name == "ParentWindow")
+ rValue.Value >>= xDialogParent;
}
if (!getXContext().is() || !xInputStream.is())
diff --git a/writerperfect/source/common/WPXSvInputStream.cxx b/writerperfect/source/common/WPXSvInputStream.cxx
index 5daacca66904..4b57b25cbdad 100644
--- a/writerperfect/source/common/WPXSvInputStream.cxx
+++ b/writerperfect/source/common/WPXSvInputStream.cxx
@@ -367,12 +367,12 @@ void ZipStorageImpl::traverse(const Reference<container::XNameAccess>& rxContain
maStreams.reserve(lNames.getLength());
- for (sal_Int32 n = 0; n < lNames.getLength(); ++n)
+ for (const auto& rName : lNames)
{
- if (!lNames[n].endsWith("/")) // skip dirs
+ if (!rName.endsWith("/")) // skip dirs
{
- maStreams.emplace_back(OUStringToOString(lNames[n], RTL_TEXTENCODING_UTF8));
- maNameMap[lNames[n]] = maStreams.size() - 1;
+ maStreams.emplace_back(OUStringToOString(rName, RTL_TEXTENCODING_UTF8));
+ maNameMap[rName] = maStreams.size() - 1;
}
}
}
diff --git a/writerperfect/source/writer/EPUBExportFilter.cxx b/writerperfect/source/writer/EPUBExportFilter.cxx
index 695265be579c..36167b38d52c 100644
--- a/writerperfect/source/writer/EPUBExportFilter.cxx
+++ b/writerperfect/source/writer/EPUBExportFilter.cxx
@@ -58,25 +58,25 @@ sal_Bool EPUBExportFilter::filter(const uno::Sequence<beans::PropertyValue>& rDe
sal_Int32 nLayoutMethod = EPUBExportFilter::GetDefaultLayoutMethod();
uno::Sequence<beans::PropertyValue> aFilterData;
OUString aFilterOptions;
- for (sal_Int32 i = 0; i < rDescriptor.getLength(); ++i)
+ for (const auto& rProp : rDescriptor)
{
- if (rDescriptor[i].Name == "FilterData")
- rDescriptor[i].Value >>= aFilterData;
- else if (rDescriptor[i].Name == "FilterOptions")
- rDescriptor[i].Value >>= aFilterOptions;
+ if (rProp.Name == "FilterData")
+ rProp.Value >>= aFilterData;
+ else if (rProp.Name == "FilterOptions")
+ rProp.Value >>= aFilterOptions;
}
if (aFilterOptions == "layout=fixed")
nLayoutMethod = libepubgen::EPUB_LAYOUT_METHOD_FIXED;
- for (sal_Int32 i = 0; i < aFilterData.getLength(); ++i)
+ for (const auto& rProp : aFilterData)
{
- if (aFilterData[i].Name == "EPUBVersion")
- aFilterData[i].Value >>= nVersion;
- else if (aFilterData[i].Name == "EPUBSplitMethod")
- aFilterData[i].Value >>= nSplitMethod;
- else if (aFilterData[i].Name == "EPUBLayoutMethod")
- aFilterData[i].Value >>= nLayoutMethod;
+ if (rProp.Name == "EPUBVersion")
+ rProp.Value >>= nVersion;
+ else if (rProp.Name == "EPUBSplitMethod")
+ rProp.Value >>= nSplitMethod;
+ else if (rProp.Name == "EPUBLayoutMethod")
+ rProp.Value >>= nLayoutMethod;
}
// Build the export filter chain: the package has direct access to the ZIP
diff --git a/writerperfect/source/writer/WordPerfectImportFilter.cxx b/writerperfect/source/writer/WordPerfectImportFilter.cxx
index aee0d94f50f0..76baa0f21a92 100644
--- a/writerperfect/source/writer/WordPerfectImportFilter.cxx
+++ b/writerperfect/source/writer/WordPerfectImportFilter.cxx
@@ -92,16 +92,14 @@ static bool handleEmbeddedWPGImage(const librevenge::RVNGBinaryData& input,
bool WordPerfectImportFilter::importImpl(const Sequence<css::beans::PropertyValue>& aDescriptor)
{
- sal_Int32 nLength = aDescriptor.getLength();
- const PropertyValue* pValue = aDescriptor.getConstArray();
Reference<XInputStream> xInputStream;
Reference<XWindow> xDialogParent;
- for (sal_Int32 i = 0; i < nLength; i++)
+ for (const auto& rValue : aDescriptor)
{
- if (pValue[i].Name == "InputStream")
- pValue[i].Value >>= xInputStream;
- else if (pValue[i].Name == "ParentWindow")
- pValue[i].Value >>= xDialogParent;
+ if (rValue.Name == "InputStream")
+ rValue.Value >>= xInputStream;
+ else if (rValue.Name == "ParentWindow")
+ rValue.Value >>= xDialogParent;
}
if (!xInputStream.is())
{
diff --git a/writerperfect/source/writer/exp/xmlimp.cxx b/writerperfect/source/writer/exp/xmlimp.cxx
index dcb4d7641205..890e896d5fb9 100644
--- a/writerperfect/source/writer/exp/xmlimp.cxx
+++ b/writerperfect/source/writer/exp/xmlimp.cxx
@@ -59,14 +59,11 @@ OUString FindMediaDir(const OUString& rDocumentBaseURL,
OUString aMediaDir;
// See if filter data contains a media directory explicitly.
- for (sal_Int32 i = 0; i < rFilterData.getLength(); ++i)
- {
- if (rFilterData[i].Name == "RVNGMediaDir")
- {
- rFilterData[i].Value >>= aMediaDir;
- break;
- }
- }
+ auto pProp = std::find_if(
+ rFilterData.begin(), rFilterData.end(),
+ [](const beans::PropertyValue& rProp) { return rProp.Name == "RVNGMediaDir"; });
+ if (pProp != rFilterData.end())
+ pProp->Value >>= aMediaDir;
if (!aMediaDir.isEmpty())
return aMediaDir + "/";
@@ -91,14 +88,11 @@ OUString FindCoverImage(const OUString& rDocumentBaseURL, OUString& rMimeType,
OUString aRet;
// See if filter data contains a cover image explicitly.
- for (sal_Int32 i = 0; i < rFilterData.getLength(); ++i)
- {
- if (rFilterData[i].Name == "RVNGCoverImage")
- {
- rFilterData[i].Value >>= aRet;
- break;
- }
- }
+ auto pProp = std::find_if(
+ rFilterData.begin(), rFilterData.end(),
+ [](const beans::PropertyValue& rProp) { return rProp.Name == "RVNGCoverImage"; });
+ if (pProp != rFilterData.end())
+ pProp->Value >>= aRet;
if (!aRet.isEmpty())
{
@@ -143,35 +137,35 @@ void FindXMPMetadata(const uno::Reference<uno::XComponentContext>& xContext,
{
// See if filter data contains metadata explicitly.
OUString aValue;
- for (sal_Int32 i = 0; i < rFilterData.getLength(); ++i)
+ for (const auto& rProp : rFilterData)
{
- if (rFilterData[i].Name == "RVNGIdentifier")
+ if (rProp.Name == "RVNGIdentifier")
{
- rFilterData[i].Value >>= aValue;
+ rProp.Value >>= aValue;
if (!aValue.isEmpty())
rMetaData.insert("dc:identifier", aValue.toUtf8().getStr());
}
- else if (rFilterData[i].Name == "RVNGTitle")
+ else if (rProp.Name == "RVNGTitle")
{
- rFilterData[i].Value >>= aValue;
+ rProp.Value >>= aValue;
if (!aValue.isEmpty())
rMetaData.insert("dc:title", aValue.toUtf8().getStr());
}
- else if (rFilterData[i].Name == "RVNGInitialCreator")
+ else if (rProp.Name == "RVNGInitialCreator")
{
- rFilterData[i].Value >>= aValue;
+ rProp.Value >>= aValue;
if (!aValue.isEmpty())
rMetaData.insert("meta:initial-creator", aValue.toUtf8().getStr());
}
- else if (rFilterData[i].Name == "RVNGLanguage")
+ else if (rProp.Name == "RVNGLanguage")
{
- rFilterData[i].Value >>= aValue;
+ rProp.Value >>= aValue;
if (!aValue.isEmpty())
rMetaData.insert("dc:language", aValue.toUtf8().getStr());
}
- else if (rFilterData[i].Name == "RVNGDate")
+ else if (rProp.Name == "RVNGDate")
{
- rFilterData[i].Value >>= aValue;
+ rProp.Value >>= aValue;
if (!aValue.isEmpty())
rMetaData.insert("dc:date", aValue.toUtf8().getStr());
}
@@ -353,14 +347,11 @@ XMLImport::XMLImport(const uno::Reference<uno::XComponentContext>& xContext,
, mrPageMetafiles(rPageMetafiles)
{
uno::Sequence<beans::PropertyValue> aFilterData;
- for (sal_Int32 i = 0; i < rDescriptor.getLength(); ++i)
- {
- if (rDescriptor[i].Name == "FilterData")
- {
- rDescriptor[i].Value >>= aFilterData;
- break;
- }
- }
+ auto pDescriptor = std::find_if(
+ rDescriptor.begin(), rDescriptor.end(),
+ [](const beans::PropertyValue& rProp) { return rProp.Name == "FilterData"; });
+ if (pDescriptor != rDescriptor.end())
+ pDescriptor->Value >>= aFilterData;
maMediaDir = FindMediaDir(rURL, aFilterData);
diff --git a/xmlhelp/source/cxxhelp/provider/content.cxx b/xmlhelp/source/cxxhelp/provider/content.cxx
index 33a6bc6bf4cf..30c36cbf5414 100644
--- a/xmlhelp/source/cxxhelp/provider/content.cxx
+++ b/xmlhelp/source/cxxhelp/provider/content.cxx
@@ -234,14 +234,13 @@ uno::Any SAL_CALL Content::execute(
uno::Sequence< uno::Any > ret(propertyValues.getLength());
uno::Sequence< beans::Property > props(getProperties(Environment));
// No properties can be set
- for(sal_Int32 i = 0; i < ret.getLength(); ++i) {
- ret[i] <<= beans::UnknownPropertyException();
- for(sal_Int32 j = 0; j < props.getLength(); ++j)
- if(props[j].Name == propertyValues[i].Name) {
- ret[i] <<= lang::IllegalAccessException();
- break;
- }
- }
+ std::transform(propertyValues.begin(), propertyValues.end(), ret.begin(),
+ [&props](const beans::PropertyValue& rPropVal) {
+ if (std::any_of(props.begin(), props.end(),
+ [&rPropVal](const beans::Property& rProp) { return rProp.Name == rPropVal.Name; }))
+ return css::uno::toAny(lang::IllegalAccessException());
+ return css::uno::toAny(beans::UnknownPropertyException());
+ });
aRet <<= ret;
}
@@ -331,10 +330,8 @@ uno::Reference< sdbc::XRow > Content::getPropertyValues(
rtl::Reference< ::ucbhelper::PropertyValueSet > xRow =
new ::ucbhelper::PropertyValueSet( m_xContext );
- for ( sal_Int32 n = 0; n < rProperties.getLength(); ++n )
+ for ( const beans::Property& rProp : rProperties )
{
- const beans::Property& rProp = rProperties[n];
-
if ( rProp.Name == "ContentType" )
xRow->appendString(
rProp,
diff --git a/xmlhelp/source/cxxhelp/provider/databases.cxx b/xmlhelp/source/cxxhelp/provider/databases.cxx
index e12ae7930853..61756c23eeda 100644
--- a/xmlhelp/source/cxxhelp/provider/databases.cxx
+++ b/xmlhelp/source/cxxhelp/provider/databases.cxx
@@ -1160,19 +1160,16 @@ Reference< deployment::XPackage > ExtensionIteratorBase::implGetHelpPackageFromP
{
Sequence< Reference< deployment::XPackage > > aPkgSeq = xPackage->getBundle
( Reference<task::XAbortChannel>(), Reference<ucb::XCommandEnvironment>() );
- sal_Int32 nPkgCount = aPkgSeq.getLength();
- const Reference< deployment::XPackage >* pSeq = aPkgSeq.getConstArray();
- for( sal_Int32 iPkg = 0 ; iPkg < nPkgCount ; ++iPkg )
+ auto pSubPkg = std::find_if(aPkgSeq.begin(), aPkgSeq.end(),
+ [&aHelpMediaType](const Reference< deployment::XPackage >& xSubPkg) {
+ const Reference< deployment::XPackageTypeInfo > xPackageTypeInfo = xSubPkg->getPackageType();
+ OUString aMediaType = xPackageTypeInfo->getMediaType();
+ return aMediaType == aHelpMediaType;
+ });
+ if (pSubPkg != aPkgSeq.end())
{
- const Reference< deployment::XPackage > xSubPkg = pSeq[ iPkg ];
- const Reference< deployment::XPackageTypeInfo > xPackageTypeInfo = xSubPkg->getPackageType();
- OUString aMediaType = xPackageTypeInfo->getMediaType();
- if( aMediaType == aHelpMediaType )
- {
- xHelpPackage = xSubPkg;
- o_xParentPackageBundle = xPackage;
- break;
- }
+ xHelpPackage = *pSubPkg;
+ o_xParentPackageBundle = xPackage;
}
}
else
@@ -1319,11 +1316,8 @@ void ExtensionIteratorBase::implGetLanguageVectorFromPackage( ::std::vector< OUS
OUString aExtensionPath = xPackage->getURL();
Sequence< OUString > aEntrySeq = m_xSFA->getFolderContents( aExtensionPath, true );
- const OUString* pSeq = aEntrySeq.getConstArray();
- sal_Int32 nCount = aEntrySeq.getLength();
- for( sal_Int32 i = 0 ; i < nCount ; ++i )
+ for( const OUString& aEntry : aEntrySeq )
{
- OUString aEntry = pSeq[i];
if( m_xSFA->isFolder( aEntry ) )
{
sal_Int32 nLastSlash = aEntry.lastIndexOf( '/' );
diff --git a/xmlhelp/source/cxxhelp/provider/resultsetbase.cxx b/xmlhelp/source/cxxhelp/provider/resultsetbase.cxx
index c399d32c660c..fa9ac9ba6f84 100644
--- a/xmlhelp/source/cxxhelp/provider/resultsetbase.cxx
+++ b/xmlhelp/source/cxxhelp/provider/resultsetbase.cxx
@@ -370,18 +370,17 @@ public:
beans::Property SAL_CALL getPropertyByName( const OUString& aName ) override
{
- for( int i = 0; i < m_aSeq.getLength(); ++i )
- if( aName == m_aSeq[i].Name )
- return m_aSeq[i];
+ auto pProp = std::find_if(m_aSeq.begin(), m_aSeq.end(),
+ [&aName](const beans::Property& rProp) { return aName == rProp.Name; });
+ if (pProp != m_aSeq.end())
+ return *pProp;
throw beans::UnknownPropertyException();
}
sal_Bool SAL_CALL hasPropertyByName( const OUString& Name ) override
{
- for( int i = 0; i < m_aSeq.getLength(); ++i )
- if( Name == m_aSeq[i].Name )
- return true;
- return false;
+ return std::any_of(m_aSeq.begin(), m_aSeq.end(),
+ [&Name](const beans::Property& rProp) { return Name == rProp.Name; });
}
private:
diff --git a/xmlhelp/source/treeview/tvfactory.cxx b/xmlhelp/source/treeview/tvfactory.cxx
index 60a0596f9dc4..65e624433bf6 100644
--- a/xmlhelp/source/treeview/tvfactory.cxx
+++ b/xmlhelp/source/treeview/tvfactory.cxx
@@ -87,10 +87,10 @@ TVFactory::createInstanceWithArguments(
}
OUString hierview;
- for( int i = 0; i < Arguments.getLength(); ++i )
+ for( const auto& rArgument : Arguments )
{
PropertyValue pV;
- if( ! ( Arguments[i] >>= pV ) )
+ if( ! ( rArgument >>= pV ) )
continue;
if( pV.Name != "nodepath" )
diff --git a/xmlhelp/source/treeview/tvread.cxx b/xmlhelp/source/treeview/tvread.cxx
index 32be860859c0..f11ae69d948e 100644
--- a/xmlhelp/source/treeview/tvread.cxx
+++ b/xmlhelp/source/treeview/tvread.cxx
@@ -897,19 +897,16 @@ Reference< deployment::XPackage > ExtensionIteratorBase::implGetHelpPackageFromP
{
Sequence< Reference< deployment::XPackage > > aPkgSeq = xPackage->getBundle
( Reference<task::XAbortChannel>(), Reference<ucb::XCommandEnvironment>() );
- sal_Int32 nPkgCount = aPkgSeq.getLength();
- const Reference< deployment::XPackage >* pSeq = aPkgSeq.getConstArray();
- for( sal_Int32 iPkg = 0 ; iPkg < nPkgCount ; ++iPkg )
+ auto pSubPkg = std::find_if(aPkgSeq.begin(), aPkgSeq.end(),
+ [](const Reference< deployment::XPackage >& xSubPkg) {
+ const Reference< deployment::XPackageTypeInfo > xPackageTypeInfo = xSubPkg->getPackageType();
+ OUString aMediaType = xPackageTypeInfo->getMediaType();
+ return aMediaType == aHelpMediaType;
+ });
+ if (pSubPkg != aPkgSeq.end())
{
- const Reference< deployment::XPackage > xSubPkg = pSeq[ iPkg ];
- const Reference< deployment::XPackageTypeInfo > xPackageTypeInfo = xSubPkg->getPackageType();
- OUString aMediaType = xPackageTypeInfo->getMediaType();
- if( aMediaType == aHelpMediaType )
- {
- xHelpPackage = xSubPkg;
- o_xParentPackageBundle = xPackage;
- break;
- }
+ xHelpPackage = *pSubPkg;
+ o_xParentPackageBundle = xPackage;
}
}
else
@@ -1025,11 +1022,8 @@ void ExtensionIteratorBase::implGetLanguageVectorFromPackage( ::std::vector< OUS
OUString aExtensionPath = xPackage->getURL();
Sequence< OUString > aEntrySeq = m_xSFA->getFolderContents( aExtensionPath, true );
- const OUString* pSeq = aEntrySeq.getConstArray();
- sal_Int32 nCount = aEntrySeq.getLength();
- for( sal_Int32 i = 0 ; i < nCount ; ++i )
+ for( const OUString& aEntry : aEntrySeq )
{
- OUString aEntry = pSeq[i];
if( m_xSFA->isFolder( aEntry ) )
{
sal_Int32 nLastSlash = aEntry.lastIndexOf( '/' );
More information about the Libreoffice-commits
mailing list