summaryrefslogtreecommitdiff
path: root/writerperfect
diff options
context:
space:
mode:
authorArkadiy Illarionov <qarkai@gmail.com>2019-06-12 11:21:20 +0300
committerNoel Grandin <noel.grandin@collabora.co.uk>2019-06-13 19:43:13 +0200
commit54afdbd1b442d93313a01e58dba8fe3b84f596d1 (patch)
tree4564dd8bf6443521622b96b52e22caf65bb87d4d /writerperfect
parent8b3c861c46ae12d21b7b3a550e2daa21d2006b77 (diff)
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@collabora.co.uk>
Diffstat (limited to 'writerperfect')
-rw-r--r--writerperfect/qa/unit/WpftLoader.cxx17
-rw-r--r--writerperfect/source/calc/MSWorksCalcImportFilter.cxx20
-rw-r--r--writerperfect/source/common/WPXSvInputStream.cxx8
-rw-r--r--writerperfect/source/writer/EPUBExportFilter.cxx24
-rw-r--r--writerperfect/source/writer/WordPerfectImportFilter.cxx12
-rw-r--r--writerperfect/source/writer/exp/xmlimp.cxx61
6 files changed, 64 insertions, 78 deletions
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);