diff options
author | Arkadiy Illarionov <qarkai@gmail.com> | 2019-06-12 11:21:20 +0300 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2019-06-13 19:43:13 +0200 |
commit | 54afdbd1b442d93313a01e58dba8fe3b84f596d1 (patch) | |
tree | 4564dd8bf6443521622b96b52e22caf65bb87d4d /writerperfect | |
parent | 8b3c861c46ae12d21b7b3a550e2daa21d2006b77 (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.cxx | 17 | ||||
-rw-r--r-- | writerperfect/source/calc/MSWorksCalcImportFilter.cxx | 20 | ||||
-rw-r--r-- | writerperfect/source/common/WPXSvInputStream.cxx | 8 | ||||
-rw-r--r-- | writerperfect/source/writer/EPUBExportFilter.cxx | 24 | ||||
-rw-r--r-- | writerperfect/source/writer/WordPerfectImportFilter.cxx | 12 | ||||
-rw-r--r-- | writerperfect/source/writer/exp/xmlimp.cxx | 61 |
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); |