filter/source/config/cache/filtercache.cxx | 177 ++++++----------------------- 1 file changed, 41 insertions(+), 136 deletions(-)
New commits: commit 3288065782544e7a2571c808f3ff17487018f762 Author: Hannah Meeks <hmeeks4...@gmail.com> AuthorDate: Fri Aug 18 21:41:41 2023 +0100 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Tue Oct 3 20:54:46 2023 +0200 Simplify long if statements Change-Id: I379fb5809e5e00788445bcf9cebdcaba563b1af4 Use structured binding, fixup Change-Id: Ibd52ff1313336aa8a082477dee3ea7fce0f1d3f9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157492 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/filter/source/config/cache/filtercache.cxx b/filter/source/config/cache/filtercache.cxx index aa0eff534cb4..534195893744 100644 --- a/filter/source/config/cache/filtercache.cxx +++ b/filter/source/config/cache/filtercache.cxx @@ -1809,6 +1809,37 @@ void FilterCache::impl_saveItem(const css::uno::Reference< css::container::XName } } +namespace { + constexpr struct { + SfxFilterFlags eFlag; + rtl::OUStringConstExpr aName; + } flagFilterSwitcher[] = { + { SfxFilterFlags::STARONEFILTER, FLAGNAME_3RDPARTYFILTER }, + { SfxFilterFlags::ALIEN, FLAGNAME_ALIEN }, + { SfxFilterFlags::CONSULTSERVICE, FLAGNAME_CONSULTSERVICE }, + { SfxFilterFlags::DEFAULT, FLAGNAME_DEFAULT }, + { SfxFilterFlags::ENCRYPTION, FLAGNAME_ENCRYPTION }, + { SfxFilterFlags::EXPORT, FLAGNAME_EXPORT }, + { SfxFilterFlags::IMPORT, FLAGNAME_IMPORT }, + { SfxFilterFlags::INTERNAL, FLAGNAME_INTERNAL }, + { SfxFilterFlags::NOTINFILEDLG, FLAGNAME_NOTINFILEDIALOG }, + { SfxFilterFlags::MUSTINSTALL, FLAGNAME_NOTINSTALLED }, + { SfxFilterFlags::OWN, FLAGNAME_OWN }, + { SfxFilterFlags::PACKED, FLAGNAME_PACKED }, + { SfxFilterFlags::PASSWORDTOMODIFY, FLAGNAME_PASSWORDTOMODIFY }, + { SfxFilterFlags::PREFERED, FLAGNAME_PREFERRED }, + { SfxFilterFlags::STARTPRESENTATION, FLAGNAME_STARTPRESENTATION }, + { SfxFilterFlags::OPENREADONLY, FLAGNAME_READONLY }, + { SfxFilterFlags::SUPPORTSSELECTION, FLAGNAME_SUPPORTSSELECTION }, + { SfxFilterFlags::TEMPLATE, FLAGNAME_TEMPLATE }, + { SfxFilterFlags::TEMPLATEPATH, FLAGNAME_TEMPLATEPATH }, + { SfxFilterFlags::COMBINED, FLAGNAME_COMBINED }, + { SfxFilterFlags::SUPPORTSSIGNING, FLAGNAME_SUPPORTSSIGNING }, + { SfxFilterFlags::GPGENCRYPTION, FLAGNAME_GPGENCRYPTION }, + { SfxFilterFlags::EXOTIC, FLAGNAME_EXOTIC }, + }; +} + /*----------------------------------------------- static! => no locks necessary -----------------------------------------------*/ @@ -1816,29 +1847,11 @@ css::uno::Sequence< OUString > FilterCache::impl_convertFlagField2FlagNames(SfxF { std::vector<OUString> lFlagNames; - if (nFlags & SfxFilterFlags::STARONEFILTER ) lFlagNames.emplace_back(FLAGNAME_3RDPARTYFILTER ); - if (nFlags & SfxFilterFlags::ALIEN ) lFlagNames.emplace_back(FLAGNAME_ALIEN ); - if (nFlags & SfxFilterFlags::CONSULTSERVICE ) lFlagNames.emplace_back(FLAGNAME_CONSULTSERVICE ); - if (nFlags & SfxFilterFlags::DEFAULT ) lFlagNames.emplace_back(FLAGNAME_DEFAULT ); - if (nFlags & SfxFilterFlags::ENCRYPTION ) lFlagNames.emplace_back(FLAGNAME_ENCRYPTION ); - if (nFlags & SfxFilterFlags::EXPORT ) lFlagNames.emplace_back(FLAGNAME_EXPORT ); - if (nFlags & SfxFilterFlags::IMPORT ) lFlagNames.emplace_back(FLAGNAME_IMPORT ); - if (nFlags & SfxFilterFlags::INTERNAL ) lFlagNames.emplace_back(FLAGNAME_INTERNAL ); - if (nFlags & SfxFilterFlags::NOTINFILEDLG ) lFlagNames.emplace_back(FLAGNAME_NOTINFILEDIALOG ); - if (nFlags & SfxFilterFlags::MUSTINSTALL ) lFlagNames.emplace_back(FLAGNAME_NOTINSTALLED ); - if (nFlags & SfxFilterFlags::OWN ) lFlagNames.emplace_back(FLAGNAME_OWN ); - if (nFlags & SfxFilterFlags::PACKED ) lFlagNames.emplace_back(FLAGNAME_PACKED ); - if (nFlags & SfxFilterFlags::PASSWORDTOMODIFY ) lFlagNames.emplace_back(FLAGNAME_PASSWORDTOMODIFY ); - if (nFlags & SfxFilterFlags::PREFERED ) lFlagNames.emplace_back(FLAGNAME_PREFERRED ); - if (nFlags & SfxFilterFlags::STARTPRESENTATION) lFlagNames.emplace_back(FLAGNAME_STARTPRESENTATION); - if (nFlags & SfxFilterFlags::OPENREADONLY ) lFlagNames.emplace_back(FLAGNAME_READONLY ); - if (nFlags & SfxFilterFlags::SUPPORTSSELECTION) lFlagNames.emplace_back(FLAGNAME_SUPPORTSSELECTION); - if (nFlags & SfxFilterFlags::TEMPLATE ) lFlagNames.emplace_back(FLAGNAME_TEMPLATE ); - if (nFlags & SfxFilterFlags::TEMPLATEPATH ) lFlagNames.emplace_back(FLAGNAME_TEMPLATEPATH ); - if (nFlags & SfxFilterFlags::COMBINED ) lFlagNames.emplace_back(FLAGNAME_COMBINED ); - if (nFlags & SfxFilterFlags::SUPPORTSSIGNING) lFlagNames.emplace_back(FLAGNAME_SUPPORTSSIGNING); - if (nFlags & SfxFilterFlags::GPGENCRYPTION) lFlagNames.emplace_back(FLAGNAME_GPGENCRYPTION); - if (nFlags & SfxFilterFlags::EXOTIC) lFlagNames.emplace_back(FLAGNAME_EXOTIC); + for (const auto& [eFlag, aName] : flagFilterSwitcher) + { + if (nFlags & eFlag) + lFlagNames.emplace_back(aName); + } return comphelper::containerToSequence(lFlagNames); } @@ -1854,120 +1867,12 @@ SfxFilterFlags FilterCache::impl_convertFlagNames2FlagField(const css::uno::Sequ sal_Int32 c = lNames.getLength(); for (sal_Int32 i=0; i<c; ++i) { - if (pNames[i] == FLAGNAME_3RDPARTYFILTER) - { - nField |= SfxFilterFlags::STARONEFILTER; - continue; - } - if (pNames[i] == FLAGNAME_ALIEN) - { - nField |= SfxFilterFlags::ALIEN; - continue; - } - if (pNames[i] == FLAGNAME_CONSULTSERVICE) - { - nField |= SfxFilterFlags::CONSULTSERVICE; - continue; - } - if (pNames[i] == FLAGNAME_DEFAULT) - { - nField |= SfxFilterFlags::DEFAULT; - continue; - } - if (pNames[i] == FLAGNAME_ENCRYPTION) - { - nField |= SfxFilterFlags::ENCRYPTION; - continue; - } - if (pNames[i] == FLAGNAME_EXOTIC) - { - nField |= SfxFilterFlags::EXOTIC; - continue; - } - if (pNames[i] == FLAGNAME_EXPORT) - { - nField |= SfxFilterFlags::EXPORT; - continue; - } - if (pNames[i] == FLAGNAME_GPGENCRYPTION) - { - nField |= SfxFilterFlags::GPGENCRYPTION; - continue; - } - if (pNames[i] == FLAGNAME_IMPORT) - { - nField |= SfxFilterFlags::IMPORT; - continue; - } - if (pNames[i] == FLAGNAME_INTERNAL) - { - nField |= SfxFilterFlags::INTERNAL; - continue; - } - if (pNames[i] == FLAGNAME_NOTINFILEDIALOG) - { - nField |= SfxFilterFlags::NOTINFILEDLG; - continue; - } - if (pNames[i] == FLAGNAME_NOTINSTALLED) + for (const auto& [eFlag, aName] : flagFilterSwitcher) { - nField |= SfxFilterFlags::MUSTINSTALL; - continue; - } - if (pNames[i] == FLAGNAME_OWN) - { - nField |= SfxFilterFlags::OWN; - continue; - } - if (pNames[i] == FLAGNAME_PACKED) - { - nField |= SfxFilterFlags::PACKED; - continue; - } - if (pNames[i] == FLAGNAME_PASSWORDTOMODIFY) - { - nField |= SfxFilterFlags::PASSWORDTOMODIFY; - continue; - } - if (pNames[i] == FLAGNAME_PREFERRED) - { - nField |= SfxFilterFlags::PREFERED; - continue; - } - if (pNames[i] == FLAGNAME_STARTPRESENTATION) - { - nField |= SfxFilterFlags::STARTPRESENTATION; - continue; - } - if (pNames[i] == FLAGNAME_SUPPORTSSIGNING) - { - nField |= SfxFilterFlags::SUPPORTSSIGNING; - continue; - } - if (pNames[i] == FLAGNAME_READONLY) - { - nField |= SfxFilterFlags::OPENREADONLY; - continue; - } - if (pNames[i] == FLAGNAME_SUPPORTSSELECTION) - { - nField |= SfxFilterFlags::SUPPORTSSELECTION; - continue; - } - if (pNames[i] == FLAGNAME_TEMPLATE) - { - nField |= SfxFilterFlags::TEMPLATE; - continue; - } - if (pNames[i] == FLAGNAME_TEMPLATEPATH) - { - nField |= SfxFilterFlags::TEMPLATEPATH; - continue; - } - if (pNames[i] == FLAGNAME_COMBINED) - { - nField |= SfxFilterFlags::COMBINED; - continue; + if (pNames[i] == aName) { + nField |= eFlag; + break; + } } }