summaryrefslogtreecommitdiff
path: root/unotools/source/i18n/textsearch.cxx
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2017-02-23 16:15:18 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2017-03-01 07:28:03 +0000
commit4c09fc48e9fa9114f32f2973090cbe75177cdd37 (patch)
tree09d4ee3c2d75d038f45ba13a086a344d35aeadb6 /unotools/source/i18n/textsearch.cxx
parentd97380c66904328e9d706a0b03a6800dc048aa7d (diff)
typesafe wrappers for css::i18nutil::TransliterationModules
and related css::util::SearchOptions2 The TransliterationModules enum has it's constants spread over multiple UNO enum/constant-collections - TransliterationModules and TransliterationModulesExtra, which means that most code simply uses sal_Int32. Wrap them up into a better bundle so that only the lowest layer needs to deal directly with the UNO constants. Change-Id: I1edeab79fcc7817a4a97c933ef84ab7015bb849b Reviewed-on: https://gerrit.libreoffice.org/34582 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'unotools/source/i18n/textsearch.cxx')
-rw-r--r--unotools/source/i18n/textsearch.cxx27
1 files changed, 14 insertions, 13 deletions
diff --git a/unotools/source/i18n/textsearch.cxx b/unotools/source/i18n/textsearch.cxx
index d147765ca507..98dc9846083b 100644
--- a/unotools/source/i18n/textsearch.cxx
+++ b/unotools/source/i18n/textsearch.cxx
@@ -22,11 +22,12 @@
#include <cstdlib>
#include <i18nlangtag/languagetag.hxx>
+#include <i18nutil/searchopt.hxx>
+#include <i18nutil/transliteration.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/util/TextSearch2.hpp>
#include <com/sun/star/util/SearchAlgorithms2.hpp>
#include <com/sun/star/util/SearchFlags.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
#include <sal/log.hxx>
#include <unotools/charclass.hxx>
#include <comphelper/processfactory.hxx>
@@ -57,7 +58,7 @@ SearchParam::SearchParam( const OUString &rText,
m_bCaseSense = bCaseSensitive;
m_bWildMatchSel = bWildMatchSel;
- nTransliterationFlags = 0;
+ nTransliterationFlags = TransliterationFlags::NONE;
// Parameters for weighted Levenshtein distance
bLEV_Relaxed = true;
@@ -89,7 +90,7 @@ SearchParam::SearchParam( const SearchParam& rParam )
SearchParam::~SearchParam() {}
-static bool lcl_Equals( const SearchOptions2& rSO1, const SearchOptions2& rSO2 )
+static bool lcl_Equals( const i18nutil::SearchOptions2& rSO1, const i18nutil::SearchOptions2& rSO2 )
{
return
rSO1.AlgorithmType2 == rSO2.AlgorithmType2 &&
@@ -112,7 +113,7 @@ namespace
struct CachedTextSearch
{
::osl::Mutex mutex;
- css::util::SearchOptions2 Options;
+ i18nutil::SearchOptions2 Options;
css::uno::Reference< css::util::XTextSearch2 > xTextSearch;
};
@@ -120,7 +121,7 @@ namespace
: public rtl::Static< CachedTextSearch, theCachedTextSearch > {};
}
-Reference<XTextSearch2> TextSearch::getXTextSearch( const SearchOptions2& rPara )
+Reference<XTextSearch2> TextSearch::getXTextSearch( const i18nutil::SearchOptions2& rPara )
{
CachedTextSearch &rCache = theCachedTextSearch::get();
@@ -131,7 +132,7 @@ Reference<XTextSearch2> TextSearch::getXTextSearch( const SearchOptions2& rPara
Reference< XComponentContext > xContext = ::comphelper::getProcessComponentContext();
rCache.xTextSearch.set( ::TextSearch2::create(xContext) );
- rCache.xTextSearch->setOptions2( rPara );
+ rCache.xTextSearch->setOptions2( rPara.toUnoSearchOptions2() );
rCache.Options = rPara;
return rCache.xTextSearch;
@@ -151,12 +152,12 @@ TextSearch::TextSearch(const SearchParam & rParam, const CharClass& rCClass )
Init( rParam, rCClass.getLanguageTag().getLocale() );
}
-TextSearch::TextSearch( const SearchOptions2& rPara )
+TextSearch::TextSearch( const i18nutil::SearchOptions2& rPara )
{
xTextSearch = getXTextSearch( rPara );
}
-css::util::SearchOptions2 TextSearch::UpgradeToSearchOptions2( const css::util::SearchOptions& rOptions )
+i18nutil::SearchOptions2 TextSearch::UpgradeToSearchOptions2( const i18nutil::SearchOptions& rOptions )
{
sal_Int16 nAlgorithmType2;
switch (rOptions.algorithmType)
@@ -175,7 +176,7 @@ css::util::SearchOptions2 TextSearch::UpgradeToSearchOptions2( const css::util::
}
// It would be nice if an inherited struct had a ctor that takes an
// instance of the object the struct derived from..
- SearchOptions2 aOptions2(
+ i18nutil::SearchOptions2 aOptions2(
rOptions.algorithmType,
rOptions.searchFlag,
rOptions.searchString,
@@ -195,7 +196,7 @@ void TextSearch::Init( const SearchParam & rParam,
const css::lang::Locale& rLocale )
{
// convert SearchParam to the UNO SearchOptions2
- SearchOptions2 aSOpt;
+ i18nutil::SearchOptions2 aSOpt;
switch( rParam.GetSrchType() )
{
@@ -232,16 +233,16 @@ void TextSearch::Init( const SearchParam & rParam,
if( !rParam.IsCaseSensitive() )
{
aSOpt.searchFlag |= SearchFlags::ALL_IGNORE_CASE;
- aSOpt.transliterateFlags |= css::i18n::TransliterationModules_IGNORE_CASE;
+ aSOpt.transliterateFlags |= TransliterationFlags::IGNORE_CASE;
}
xTextSearch = getXTextSearch( aSOpt );
}
-void TextSearch::SetLocale( const css::util::SearchOptions2& rOptions,
+void TextSearch::SetLocale( const i18nutil::SearchOptions2& rOptions,
const css::lang::Locale& rLocale )
{
- SearchOptions2 aSOpt( rOptions );
+ i18nutil::SearchOptions2 aSOpt( rOptions );
aSOpt.Locale = rLocale;
xTextSearch = getXTextSearch( aSOpt );