summaryrefslogtreecommitdiff
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
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>
-rw-r--r--basic/source/classes/global.cxx3
-rw-r--r--basic/source/runtime/methods.cxx22
-rw-r--r--basic/source/runtime/runtime.cxx6
-rw-r--r--cui/source/dialogs/cuifmsearch.cxx3
-rw-r--r--cui/source/factory/dlgfact.cxx4
-rw-r--r--cui/source/factory/dlgfact.hxx4
-rw-r--r--cui/source/inc/cuisrchdlg.hxx6
-rw-r--r--cui/source/options/cuisrchdlg.cxx5
-rw-r--r--cui/source/options/optaboutconfig.cxx3
-rw-r--r--cui/source/options/optaboutconfig.hxx4
-rw-r--r--cui/source/options/optjsearch.cxx88
-rw-r--r--cui/source/options/optjsearch.hxx13
-rw-r--r--editeng/source/editeng/editeng.cxx4
-rw-r--r--editeng/source/editeng/editundo.cxx2
-rw-r--r--editeng/source/editeng/editundo.hxx6
-rw-r--r--editeng/source/editeng/editview.cxx2
-rw-r--r--editeng/source/editeng/impedit.hxx2
-rw-r--r--editeng/source/editeng/impedit4.cxx10
-rw-r--r--editeng/source/misc/svxacorr.cxx5
-rw-r--r--editeng/source/outliner/outlvw.cxx2
-rw-r--r--forms/source/xforms/computedexpression.cxx4
-rw-r--r--i18npool/inc/transliteration_caseignore.hxx2
-rw-r--r--i18npool/qa/cppunit/test_textsearch.cxx5
-rw-r--r--i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx1
-rw-r--r--i18npool/source/search/textsearch.cxx77
-rw-r--r--i18npool/source/transliteration/transliteration_caseignore.cxx5
-rw-r--r--i18nutil/source/utility/casefolding.cxx9
-rw-r--r--include/editeng/editeng.hxx6
-rw-r--r--include/editeng/editview.hxx3
-rw-r--r--include/editeng/outliner.hxx16
-rw-r--r--include/i18nutil/casefolding.hxx5
-rw-r--r--include/i18nutil/searchopt.hxx142
-rw-r--r--include/i18nutil/transliteration.hxx132
-rw-r--r--include/svl/ondemand.hxx8
-rw-r--r--include/svl/srchitem.hxx25
-rw-r--r--include/svx/fmsrccfg.hxx9
-rw-r--r--include/svx/fmsrcimp.hxx9
-rw-r--r--include/svx/srchdlg.hxx9
-rw-r--r--include/svx/svxdlg.hxx17
-rw-r--r--include/unotools/caserotate.hxx5
-rw-r--r--include/unotools/searchopt.hxx3
-rw-r--r--include/unotools/textsearch.hxx18
-rw-r--r--include/unotools/transliterationwrapper.hxx7
-rw-r--r--include/vcl/textview.hxx7
-rw-r--r--include/vcl/xtextedt.hxx2
-rw-r--r--reportdesign/source/ui/inspection/GeometryHandler.cxx6
-rw-r--r--sc/inc/document.hxx2
-rw-r--r--sc/inc/global.hxx8
-rw-r--r--sc/inc/viewutil.hxx6
-rw-r--r--sc/qa/unit/ucalc.cxx4
-rw-r--r--sc/source/core/data/documen8.cxx6
-rw-r--r--sc/source/core/data/table6.cxx8
-rw-r--r--sc/source/core/tool/cellkeytranslator.cxx5
-rw-r--r--sc/source/core/tool/interpr1.cxx4
-rw-r--r--sc/source/ui/docshell/docfunc.cxx2
-rw-r--r--sc/source/ui/drawfunc/drtxtob.cxx4
-rw-r--r--sc/source/ui/inc/docfunc.hxx7
-rw-r--r--sc/source/ui/inc/undoblk.hxx5
-rw-r--r--sc/source/ui/inc/viewfunc.hxx2
-rw-r--r--sc/source/ui/undo/undoblk.cxx2
-rw-r--r--sc/source/ui/view/cellsh1.cxx6
-rw-r--r--sc/source/ui/view/editsh.cxx4
-rw-r--r--sc/source/ui/view/viewfun2.cxx2
-rw-r--r--sc/source/ui/view/viewutil.cxx25
-rw-r--r--sd/source/ui/view/drviewse.cxx24
-rw-r--r--sd/source/ui/view/outlnvsh.cxx23
-rw-r--r--svl/source/items/srchitem.cxx84
-rw-r--r--svx/source/dialog/srchdlg.cxx44
-rw-r--r--svx/source/form/fmsrccfg.cxx107
-rw-r--r--svx/source/form/fmsrcimp.cxx21
-rw-r--r--svx/source/tbxctrls/tbunosearchcontrollers.cxx15
-rw-r--r--sw/inc/PostItMgr.hxx6
-rw-r--r--sw/inc/crsrsh.hxx12
-rw-r--r--sw/inc/editsh.hxx9
-rw-r--r--sw/inc/pam.hxx10
-rw-r--r--sw/inc/swcrsr.hxx9
-rw-r--r--sw/inc/unosrch.hxx7
-rw-r--r--sw/qa/core/macros-test.cxx6
-rw-r--r--sw/qa/core/uwriter.cxx17
-rw-r--r--sw/qa/extras/uiwriter/uiwriter.cxx12
-rw-r--r--sw/source/core/bastyp/init.cxx6
-rw-r--r--sw/source/core/crsr/crsrsh.cxx5
-rw-r--r--sw/source/core/crsr/findattr.cxx10
-rw-r--r--sw/source/core/crsr/findtxt.cxx13
-rw-r--r--sw/source/core/edit/editsh.cxx2
-rw-r--r--sw/source/core/edit/edtox.cxx13
-rw-r--r--sw/source/core/inc/UndoOverwrite.hxx4
-rw-r--r--sw/source/core/txtnode/txtedt.cxx7
-rw-r--r--sw/source/core/unocore/unosrch.cxx7
-rw-r--r--sw/source/ui/index/swuiidxmrk.cxx9
-rw-r--r--sw/source/uibase/docvw/PostItMgr.cxx4
-rw-r--r--sw/source/uibase/inc/wrtsh.hxx8
-rw-r--r--sw/source/uibase/shells/annotsh.cxx25
-rw-r--r--sw/source/uibase/shells/drwtxtsh.cxx25
-rw-r--r--sw/source/uibase/shells/textsh.cxx24
-rw-r--r--sw/source/uibase/uiview/srcview.cxx4
-rw-r--r--sw/source/uibase/uiview/view2.cxx7
-rw-r--r--sw/source/uibase/uiview/viewsrch.cxx5
-rw-r--r--sw/source/uibase/uno/unotxdoc.cxx6
-rw-r--r--sw/source/uibase/wrtsh/select.cxx4
-rw-r--r--unotools/source/config/searchopt.cxx50
-rw-r--r--unotools/source/i18n/caserotate.cxx15
-rw-r--r--unotools/source/i18n/textsearch.cxx27
-rw-r--r--unotools/source/i18n/transliterationwrapper.cxx21
-rw-r--r--vcl/source/app/i18nhelp.cxx8
-rw-r--r--vcl/source/edit/textview.cxx5
-rw-r--r--vcl/source/edit/xtextedt.cxx7
107 files changed, 911 insertions, 644 deletions
diff --git a/basic/source/classes/global.cxx b/basic/source/classes/global.cxx
index 0c45b282f094..8f5472daae66 100644
--- a/basic/source/classes/global.cxx
+++ b/basic/source/classes/global.cxx
@@ -9,6 +9,7 @@
#include <comphelper/processfactory.hxx>
#include <i18nlangtag/lang.h>
+#include <i18nutil/transliteration.hxx>
#include <rtl/instance.hxx>
#include <unotools/transliterationwrapper.hxx>
#include <vcl/svapp.hxx>
@@ -26,7 +27,7 @@ namespace
lclTransliterationWrapper()
: m_aTransliteration(
comphelper::getProcessComponentContext(),
- css::i18n::TransliterationModules_IGNORE_CASE )
+ TransliterationFlags::IGNORE_CASE )
{
const LanguageType eOfficeLanguage = Application::GetSettings().GetLanguageTag().getLanguageType();
m_aTransliteration.loadModuleIfNeeded( eOfficeLanguage );
diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index 3447bff32949..33e4f3640a40 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -1667,9 +1667,9 @@ RTLFUNC(StrComp)
uno::Reference< uno::XComponentContext > xContext = getProcessComponentContext();
pTransliterationWrapper = GetSbData()->pTransliterationWrapper =
new ::utl::TransliterationWrapper( xContext,
- i18n::TransliterationModules_IGNORE_CASE |
- i18n::TransliterationModules_IGNORE_KANA |
- i18n::TransliterationModules_IGNORE_WIDTH );
+ TransliterationFlags::IGNORE_CASE |
+ TransliterationFlags::IGNORE_KANA |
+ TransliterationFlags::IGNORE_WIDTH );
}
LanguageType eLangType = Application::GetSettings().GetLanguageTag().getLanguageType();
@@ -4266,7 +4266,7 @@ RTLFUNC(StrConv)
return;
}
- sal_Int32 nType = 0;
+ TransliterationFlags nType = TransliterationFlags::NONE;
if ( (nConversion & 0x03) == 3 ) // vbProperCase
{
const CharClass& rCharClass = GetCharClass();
@@ -4274,30 +4274,30 @@ RTLFUNC(StrConv)
}
else if ( (nConversion & 0x01) == 1 ) // vbUpperCase
{
- nType |= i18n::TransliterationModules_LOWERCASE_UPPERCASE;
+ nType |= TransliterationFlags::LOWERCASE_UPPERCASE;
}
else if ( (nConversion & 0x02) == 2 ) // vbLowerCase
{
- nType |= i18n::TransliterationModules_UPPERCASE_LOWERCASE;
+ nType |= TransliterationFlags::UPPERCASE_LOWERCASE;
}
if ( (nConversion & 0x04) == 4 ) // vbWide
{
- nType |= i18n::TransliterationModules_HALFWIDTH_FULLWIDTH;
+ nType |= TransliterationFlags::HALFWIDTH_FULLWIDTH;
}
else if ( (nConversion & 0x08) == 8 ) // vbNarrow
{
- nType |= i18n::TransliterationModules_FULLWIDTH_HALFWIDTH;
+ nType |= TransliterationFlags::FULLWIDTH_HALFWIDTH;
}
if ( (nConversion & 0x10) == 16) // vbKatakana
{
- nType |= i18n::TransliterationModules_HIRAGANA_KATAKANA;
+ nType |= TransliterationFlags::HIRAGANA_KATAKANA;
}
else if ( (nConversion & 0x20) == 32 ) // vbHiragana
{
- nType |= i18n::TransliterationModules_KATAKANA_HIRAGANA;
+ nType |= TransliterationFlags::KATAKANA_HIRAGANA;
}
OUString aNewStr( aOldStr );
- if( nType != 0 )
+ if( nType != TransliterationFlags::NONE )
{
uno::Reference< uno::XComponentContext > xContext = getProcessComponentContext();
::utl::TransliterationWrapper aTransliterationWrapper( xContext, nType );
diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx
index 2f9284ef8254..e3615b13fc12 100644
--- a/basic/source/runtime/runtime.cxx
+++ b/basic/source/runtime/runtime.cxx
@@ -28,7 +28,6 @@
#include <com/sun/star/container/XIndexAccess.hpp>
#include <com/sun/star/script/XDefaultMethod.hpp>
#include <com/sun/star/uno/Any.hxx>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/util/SearchAlgorithms2.hpp>
#include <comphelper/processfactory.hxx>
@@ -48,6 +47,7 @@
#include <svl/zforlist.hxx>
+#include <i18nutil/searchopt.hxx>
#include <unotools/syslocale.hxx>
#include <unotools/textsearch.hxx>
@@ -1503,7 +1503,7 @@ void SbiRuntime::StepLIKE()
OUString pattern = VBALikeToRegexp(refVar1->GetOUString());
OUString value = refVar2->GetOUString();
- css::util::SearchOptions2 aSearchOpt;
+ i18nutil::SearchOptions2 aSearchOpt;
aSearchOpt.AlgorithmType2 = css::util::SearchAlgorithms2::REGEXP;
@@ -1518,7 +1518,7 @@ void SbiRuntime::StepLIKE()
}
if( bTextMode )
{
- aSearchOpt.transliterateFlags |= css::i18n::TransliterationModules_IGNORE_CASE;
+ aSearchOpt.transliterateFlags |= TransliterationFlags::IGNORE_CASE;
}
SbxVariable* pRes = new SbxVariable;
utl::TextSearch aSearch( aSearchOpt);
diff --git a/cui/source/dialogs/cuifmsearch.cxx b/cui/source/dialogs/cuifmsearch.cxx
index 8d404c4cfee2..81d008dd60f0 100644
--- a/cui/source/dialogs/cuifmsearch.cxx
+++ b/cui/source/dialogs/cuifmsearch.cxx
@@ -31,7 +31,6 @@
#include "cuifmsearch.hxx"
#include <svx/srchdlg.hxx>
#include <svl/cjkoptions.hxx>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
#include <comphelper/processfactory.hxx>
#include <comphelper/string.hxx>
#include <svx/svxdlg.hxx>
@@ -382,7 +381,7 @@ IMPL_LINK(FmSearchDialog, OnClickedSpecialSettings, Button*, pButton, void )
aDlg->Execute();
- sal_Int32 nFlags = aDlg->GetTransliterationFlags();
+ TransliterationFlags nFlags = aDlg->GetTransliterationFlags();
m_pSearchEngine->SetTransliterationFlags(nFlags);
m_pcbCase->Check(m_pSearchEngine->GetCaseSensitive());
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index 354554dcc0dc..6b9640122360 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -551,7 +551,7 @@ void AbstractSvxCaptionDialog_Impl::SetValidateFramePosLink( const Link<SvxSwFra
pDlg->SetValidateFramePosLink( rLink );
}
-sal_Int32 AbstractSvxJSearchOptionsDialog_Impl::GetTransliterationFlags() const
+TransliterationFlags AbstractSvxJSearchOptionsDialog_Impl::GetTransliterationFlags() const
{
return pDlg->GetTransliterationFlags();
}
@@ -1089,7 +1089,7 @@ VclPtr<SfxAbstractTabDialog> AbstractDialogFactory_Impl::CreateSchTransformTabDi
VclPtr<AbstractSvxJSearchOptionsDialog> AbstractDialogFactory_Impl::CreateSvxJSearchOptionsDialog( vcl::Window* pParent,
const SfxItemSet& rOptionsSet,
- sal_Int32 nInitialFlags)
+ TransliterationFlags nInitialFlags)
{
VclPtrInstance<SvxJSearchOptionsDialog> pDlg( pParent, rOptionsSet, nInitialFlags );
return VclPtr<AbstractSvxJSearchOptionsDialog_Impl>::Create( pDlg );
diff --git a/cui/source/factory/dlgfact.hxx b/cui/source/factory/dlgfact.hxx
index 2160c8a0c81c..2cf6761d6dc1 100644
--- a/cui/source/factory/dlgfact.hxx
+++ b/cui/source/factory/dlgfact.hxx
@@ -254,7 +254,7 @@ class SvxJSearchOptionsDialog;
class AbstractSvxJSearchOptionsDialog_Impl :public AbstractSvxJSearchOptionsDialog
{
DECL_ABSTDLG_BASE(AbstractSvxJSearchOptionsDialog_Impl,SvxJSearchOptionsDialog)
- virtual sal_Int32 GetTransliterationFlags() const override;
+ virtual TransliterationFlags GetTransliterationFlags() const override;
};
class AbstractSvxTransformTabDialog_Impl : public AbstractSvxTransformTabDialog
@@ -549,7 +549,7 @@ public:
sal_uInt16 nLonger) override;
virtual VclPtr<AbstractSvxJSearchOptionsDialog> CreateSvxJSearchOptionsDialog( vcl::Window* pParent,
const SfxItemSet& rOptionsSet,
- sal_Int32 nInitialFlags) override;
+ TransliterationFlags nInitialFlags) override;
virtual VclPtr<AbstractFmInputRecordNoDialog> CreateFmInputRecordNoDialog() override;
virtual VclPtr<AbstractSvxNewDictionaryDialog> CreateSvxNewDictionaryDialog( vcl::Window* pParent ) override;
virtual VclPtr<VclAbstractDialog> CreateSvxEditDictionaryDialog( vcl::Window* pParent,
diff --git a/cui/source/inc/cuisrchdlg.hxx b/cui/source/inc/cuisrchdlg.hxx
index c3d664946c17..8edf7623fa0e 100644
--- a/cui/source/inc/cuisrchdlg.hxx
+++ b/cui/source/inc/cuisrchdlg.hxx
@@ -35,7 +35,7 @@ class SvxJSearchOptionsPage;
class SvxJSearchOptionsDialog : public SfxSingleTabDialog
{
- sal_Int32 nInitialTlFlags;
+ TransliterationFlags nInitialTlFlags;
VclPtr<SvxJSearchOptionsPage> pPage;
SvxJSearchOptionsDialog( const SvxJSearchOptionsDialog & ) = delete;
@@ -43,14 +43,14 @@ class SvxJSearchOptionsDialog : public SfxSingleTabDialog
public:
SvxJSearchOptionsDialog(vcl::Window *pParent,
- const SfxItemSet& rOptionsSet, sal_Int32 nInitialFlags);
+ const SfxItemSet& rOptionsSet, TransliterationFlags nInitialFlags);
virtual ~SvxJSearchOptionsDialog() override;
virtual void dispose() override;
// Window
virtual void Activate() override;
- sal_Int32 GetTransliterationFlags() const;
+ TransliterationFlags GetTransliterationFlags() const;
};
#endif
diff --git a/cui/source/options/cuisrchdlg.cxx b/cui/source/options/cuisrchdlg.cxx
index bff4d1a74c8e..0b3bf50120df 100644
--- a/cui/source/options/cuisrchdlg.cxx
+++ b/cui/source/options/cuisrchdlg.cxx
@@ -30,7 +30,6 @@
#include <sfx2/viewsh.hxx>
#include <sfx2/basedlgs.hxx>
#include <svl/cjkoptions.hxx>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
#include "cuisrchdlg.hxx"
@@ -48,7 +47,7 @@
// class SvxJSearchOptionsDialog -----------------------------------------
SvxJSearchOptionsDialog::SvxJSearchOptionsDialog(vcl::Window *pParent,
- const SfxItemSet& rOptionsSet, sal_Int32 nInitialFlags)
+ const SfxItemSet& rOptionsSet, TransliterationFlags nInitialFlags)
: SfxSingleTabDialog(pParent, rOptionsSet)
, nInitialTlFlags( nInitialFlags )
{
@@ -77,7 +76,7 @@ void SvxJSearchOptionsDialog::Activate()
pPage->SetTransliterationFlags( nInitialTlFlags );
}
-sal_Int32 SvxJSearchOptionsDialog::GetTransliterationFlags() const
+TransliterationFlags SvxJSearchOptionsDialog::GetTransliterationFlags() const
{
return pPage->GetTransliterationFlags();
}
diff --git a/cui/source/options/optaboutconfig.cxx b/cui/source/options/optaboutconfig.cxx
index 99fcc3fd9393..38c30f1bf820 100644
--- a/cui/source/options/optaboutconfig.cxx
+++ b/cui/source/options/optaboutconfig.cxx
@@ -25,7 +25,6 @@
#include <com/sun/star/container/XHierarchicalName.hpp>
#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
#include <com/sun/star/util/XChangesBatch.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
#include <com/sun/star/util/SearchFlags.hpp>
#include <com/sun/star/util/SearchAlgorithms2.hpp>
#include <unotools/textsearch.hxx>
@@ -175,7 +174,7 @@ CuiAboutConfigTabPage::CuiAboutConfigTabPage( vcl::Window* pParent/*, const SfxI
aTabs[4] = aTabs[3] + fWidth * 8;
m_options.AlgorithmType2 = util::SearchAlgorithms2::ABSOLUTE;
- m_options.transliterateFlags |= i18n::TransliterationModules_IGNORE_CASE;
+ m_options.transliterateFlags |= TransliterationFlags::IGNORE_CASE;
m_options.searchFlag |= (util::SearchFlags::REG_NOT_BEGINOFLINE |
util::SearchFlags::REG_NOT_ENDOFLINE);
diff --git a/cui/source/options/optaboutconfig.hxx b/cui/source/options/optaboutconfig.hxx
index 91641d1616b7..b33be6505207 100644
--- a/cui/source/options/optaboutconfig.hxx
+++ b/cui/source/options/optaboutconfig.hxx
@@ -12,8 +12,8 @@
#include <com/sun/star/container/XNameAccess.hpp>
#include <com/sun/star/beans/NamedValue.hpp>
-#include <com/sun/star/util/SearchOptions2.hpp>
+#include <i18nutil/searchopt.hxx>
#include <sfx2/tabdlg.hxx>
#include <svtools/simptabl.hxx>
#include <vcl/edit.hxx>
@@ -52,7 +52,7 @@ private:
VclPtr< SvSimpleTable > m_pPrefBox;
//for search
- css::util::SearchOptions2 m_options;
+ i18nutil::SearchOptions2 m_options;
SvTreeListEntries m_prefBoxEntries;
void AddToModifiedVector( const std::shared_ptr< Prop_Impl >& rProp );
diff --git a/cui/source/options/optjsearch.cxx b/cui/source/options/optjsearch.cxx
index ce5f61aecd2a..bbe587a61a67 100644
--- a/cui/source/options/optjsearch.cxx
+++ b/cui/source/options/optjsearch.cxx
@@ -18,7 +18,7 @@
*/
#include <unotools/searchopt.hxx>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
+#include <i18nutil/transliteration.hxx>
#include <cuires.hrc>
#include <dialmgr.hxx>
#include <optjsearch.hxx>
@@ -51,7 +51,7 @@ SvxJSearchOptionsPage::SvxJSearchOptionsPage( vcl::Window* pParent, const SfxIte
get( m_pIgnoreMiddleDot, "ignoremiddledot");
bSaveOptions = true;
- nTransliterationFlags = 0x00000000;
+ nTransliterationFlags = TransliterationFlags::NONE;
}
SvxJSearchOptionsPage::~SvxJSearchOptionsPage()
@@ -89,92 +89,92 @@ VclPtr<SfxTabPage> SvxJSearchOptionsPage::Create( vcl::Window* pParent, const Sf
}
-void SvxJSearchOptionsPage::SetTransliterationFlags( sal_Int32 nSettings )
+void SvxJSearchOptionsPage::SetTransliterationFlags( TransliterationFlags nSettings )
{
- bool bVal = 0 != (nSettings & TransliterationModules_IGNORE_CASE);
+ bool bVal(nSettings & TransliterationFlags::IGNORE_CASE);
m_pMatchCase ->Check( bVal ); //! treat as equal uppercase/lowercase
- bVal = 0 != (nSettings & TransliterationModules_IGNORE_WIDTH);
+ bVal = bool(nSettings & TransliterationFlags::IGNORE_WIDTH);
m_pMatchFullHalfWidth ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_IGNORE_KANA);
+ bVal = bool(nSettings & TransliterationFlags::IGNORE_KANA);
m_pMatchHiraganaKatakana ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreSize_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreSize_ja_JP);
m_pMatchContractions ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreMinusSign_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreMinusSign_ja_JP);
m_pMatchMinusDashChoon ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreIterationMark_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreIterationMark_ja_JP);
m_pMatchRepeatCharMarks ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreTraditionalKanji_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreTraditionalKanji_ja_JP);
m_pMatchVariantFormKanji ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreTraditionalKana_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreTraditionalKana_ja_JP);
m_pMatchOldKanaForms ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreZiZu_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreZiZu_ja_JP);
m_pMatchDiziDuzu ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreBaFa_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreBaFa_ja_JP);
m_pMatchBavaHafa ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreTiJi_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreTiJi_ja_JP);
m_pMatchTsithichiDhizi ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreHyuByu_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreHyuByu_ja_JP);
m_pMatchHyuiyuByuvyu ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreSeZe_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreSeZe_ja_JP);
m_pMatchSesheZeje ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreIandEfollowedByYa_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreIandEfollowedByYa_ja_JP);
m_pMatchIaiya ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreKiKuFollowedBySa_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreKiKuFollowedBySa_ja_JP);
m_pMatchKiku ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreSeparator_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreSeparator_ja_JP);
m_pIgnorePunctuation ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreSpace_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreSpace_ja_JP);
m_pIgnoreWhitespace ->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreProlongedSoundMark_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreProlongedSoundMark_ja_JP);
m_pMatchProlongedSoundMark->Check( bVal );
- bVal = 0 != (nSettings & TransliterationModules_ignoreMiddleDot_ja_JP);
+ bVal = bool(nSettings & TransliterationFlags::ignoreMiddleDot_ja_JP);
m_pIgnoreMiddleDot ->Check( bVal );
nTransliterationFlags = nSettings;
}
-sal_Int32 SvxJSearchOptionsPage::GetTransliterationFlags_Impl()
+TransliterationFlags SvxJSearchOptionsPage::GetTransliterationFlags_Impl()
{
- sal_Int32 nTmp = 0;
+ TransliterationFlags nTmp = TransliterationFlags::NONE;
if (m_pMatchCase->IsChecked()) //! treat as equal uppercase/lowercase
- nTmp |= TransliterationModules_IGNORE_CASE;
+ nTmp |= TransliterationFlags::IGNORE_CASE;
if (m_pMatchFullHalfWidth->IsChecked())
- nTmp |= TransliterationModules_IGNORE_WIDTH;
+ nTmp |= TransliterationFlags::IGNORE_WIDTH;
if (m_pMatchHiraganaKatakana->IsChecked())
- nTmp |= TransliterationModules_IGNORE_KANA;
+ nTmp |= TransliterationFlags::IGNORE_KANA;
if (m_pMatchContractions->IsChecked())
- nTmp |= TransliterationModules_ignoreSize_ja_JP;
+ nTmp |= TransliterationFlags::ignoreSize_ja_JP;
if (m_pMatchMinusDashChoon->IsChecked())
- nTmp |= TransliterationModules_ignoreMinusSign_ja_JP;
+ nTmp |= TransliterationFlags::ignoreMinusSign_ja_JP;
if (m_pMatchRepeatCharMarks->IsChecked())
- nTmp |= TransliterationModules_ignoreIterationMark_ja_JP;
+ nTmp |= TransliterationFlags::ignoreIterationMark_ja_JP;
if (m_pMatchVariantFormKanji->IsChecked())
- nTmp |= TransliterationModules_ignoreTraditionalKanji_ja_JP;
+ nTmp |= TransliterationFlags::ignoreTraditionalKanji_ja_JP;
if (m_pMatchOldKanaForms->IsChecked())
- nTmp |= TransliterationModules_ignoreTraditionalKana_ja_JP;
+ nTmp |= TransliterationFlags::ignoreTraditionalKana_ja_JP;
if (m_pMatchDiziDuzu->IsChecked())
- nTmp |= TransliterationModules_ignoreZiZu_ja_JP;
+ nTmp |= TransliterationFlags::ignoreZiZu_ja_JP;
if (m_pMatchBavaHafa->IsChecked())
- nTmp |= TransliterationModules_ignoreBaFa_ja_JP;
+ nTmp |= TransliterationFlags::ignoreBaFa_ja_JP;
if (m_pMatchTsithichiDhizi->IsChecked())
- nTmp |= TransliterationModules_ignoreTiJi_ja_JP;
+ nTmp |= TransliterationFlags::ignoreTiJi_ja_JP;
if (m_pMatchHyuiyuByuvyu->IsChecked())
- nTmp |= TransliterationModules_ignoreHyuByu_ja_JP;
+ nTmp |= TransliterationFlags::ignoreHyuByu_ja_JP;
if (m_pMatchSesheZeje->IsChecked())
- nTmp |= TransliterationModules_ignoreSeZe_ja_JP;
+ nTmp |= TransliterationFlags::ignoreSeZe_ja_JP;
if (m_pMatchIaiya->IsChecked())
- nTmp |= TransliterationModules_ignoreIandEfollowedByYa_ja_JP;
+ nTmp |= TransliterationFlags::ignoreIandEfollowedByYa_ja_JP;
if (m_pMatchKiku->IsChecked())
- nTmp |= TransliterationModules_ignoreKiKuFollowedBySa_ja_JP;
+ nTmp |= TransliterationFlags::ignoreKiKuFollowedBySa_ja_JP;
if (m_pIgnorePunctuation->IsChecked())
- nTmp |= TransliterationModules_ignoreSeparator_ja_JP;
+ nTmp |= TransliterationFlags::ignoreSeparator_ja_JP;
if (m_pIgnoreWhitespace->IsChecked())
- nTmp |= TransliterationModules_ignoreSpace_ja_JP;
+ nTmp |= TransliterationFlags::ignoreSpace_ja_JP;
if (m_pMatchProlongedSoundMark->IsChecked())
- nTmp |= TransliterationModules_ignoreProlongedSoundMark_ja_JP;
+ nTmp |= TransliterationFlags::ignoreProlongedSoundMark_ja_JP;
if (m_pIgnoreMiddleDot->IsChecked())
- nTmp |= TransliterationModules_ignoreMiddleDot_ja_JP;
+ nTmp |= TransliterationFlags::ignoreMiddleDot_ja_JP;
nTransliterationFlags = nTmp;
return nTransliterationFlags;
@@ -234,7 +234,7 @@ void SvxJSearchOptionsPage::Reset( const SfxItemSet* )
bool SvxJSearchOptionsPage::FillItemSet( SfxItemSet* )
{
- sal_Int32 nOldVal = nTransliterationFlags;
+ TransliterationFlags nOldVal = nTransliterationFlags;
nTransliterationFlags = GetTransliterationFlags_Impl();
bool bModified = nOldVal != nTransliterationFlags;
diff --git a/cui/source/options/optjsearch.hxx b/cui/source/options/optjsearch.hxx
index 542e1c1a9b9f..b6d768044da7 100644
--- a/cui/source/options/optjsearch.hxx
+++ b/cui/source/options/optjsearch.hxx
@@ -52,10 +52,12 @@ private:
VclPtr<CheckBox> m_pIgnoreWhitespace;
VclPtr<CheckBox> m_pIgnoreMiddleDot;
- sal_Int32 nTransliterationFlags;
- bool bSaveOptions;
+ TransliterationFlags
+ nTransliterationFlags;
+ bool bSaveOptions;
- sal_Int32 GetTransliterationFlags_Impl();
+ TransliterationFlags
+ GetTransliterationFlags_Impl();
public:
SvxJSearchOptionsPage( vcl::Window* pParent, const SfxItemSet& rSet );
@@ -68,8 +70,9 @@ public:
void EnableSaveOptions( bool bVal ) { bSaveOptions = bVal; }
- sal_Int32 GetTransliterationFlags() const { return nTransliterationFlags; }
- void SetTransliterationFlags( sal_Int32 nSettings );
+ TransliterationFlags
+ GetTransliterationFlags() const { return nTransliterationFlags; }
+ void SetTransliterationFlags( TransliterationFlags nSettings );
};
diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx
index dccbed4dbe64..d8a1341f3aa6 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -472,12 +472,12 @@ LanguageType EditEngine::GetLanguage( sal_Int32 nPara, sal_Int32 nPos ) const
}
-void EditEngine::TransliterateText( const ESelection& rSelection, sal_Int32 nTransliterationMode )
+void EditEngine::TransliterateText( const ESelection& rSelection, TransliterationFlags nTransliterationMode )
{
pImpEditEngine->TransliterateText( pImpEditEngine->CreateSel( rSelection ), nTransliterationMode );
}
-EditSelection EditEngine::TransliterateText(const EditSelection& rSelection, sal_Int32 nTransliterationMode)
+EditSelection EditEngine::TransliterateText(const EditSelection& rSelection, TransliterationFlags nTransliterationMode)
{
return pImpEditEngine->TransliterateText(rSelection, nTransliterationMode);
}
diff --git a/editeng/source/editeng/editundo.cxx b/editeng/source/editeng/editundo.cxx
index 925cf1f03752..30650d129d70 100644
--- a/editeng/source/editeng/editundo.cxx
+++ b/editeng/source/editeng/editundo.cxx
@@ -586,7 +586,7 @@ void EditUndoSetAttribs::ImpSetSelection( EditView* /*pView*/ )
pEE->GetActiveView()->GetImpEditView()->SetEditSelection(aSel);
}
-EditUndoTransliteration::EditUndoTransliteration(EditEngine* pEE, const ESelection& rESel, sal_Int32 nM) :
+EditUndoTransliteration::EditUndoTransliteration(EditEngine* pEE, const ESelection& rESel, TransliterationFlags nM) :
EditUndo(EDITUNDO_TRANSLITERATE, pEE),
aOldESel(rESel), nMode(nM), pTxtObj(nullptr) {}
diff --git a/editeng/source/editeng/editundo.hxx b/editeng/source/editeng/editundo.hxx
index 9e798a7dd2b4..a21d609e70c5 100644
--- a/editeng/source/editeng/editundo.hxx
+++ b/editeng/source/editeng/editundo.hxx
@@ -29,6 +29,7 @@
class EditEngine;
class EditView;
enum class SetAttribsMode;
+enum class TransliterationFlags;
// EditUndoDelContent
@@ -250,13 +251,14 @@ private:
ESelection aOldESel;
ESelection aNewESel;
- sal_Int32 nMode;
+ TransliterationFlags
+ nMode;
std::unique_ptr<EditTextObject>
pTxtObj;
OUString aText;
public:
- EditUndoTransliteration(EditEngine* pEE, const ESelection& rESel, sal_Int32 nMode);
+ EditUndoTransliteration(EditEngine* pEE, const ESelection& rESel, TransliterationFlags nMode);
virtual ~EditUndoTransliteration() override;
void SetText( const OUString& rText ) { aText = rText; }
diff --git a/editeng/source/editeng/editview.cxx b/editeng/source/editeng/editview.cxx
index 553fe192cec8..e328805895ff 100644
--- a/editeng/source/editeng/editview.cxx
+++ b/editeng/source/editeng/editview.cxx
@@ -734,7 +734,7 @@ EVAnchorMode EditView::GetAnchorMode() const
return pImpEditView->GetAnchorMode();
}
-void EditView::TransliterateText( sal_Int32 nTransliterationMode )
+void EditView::TransliterateText( TransliterationFlags nTransliterationMode )
{
EditSelection aOldSel( pImpEditView->GetEditSelection() );
EditSelection aNewSel = pImpEditView->pEditEngine->TransliterateText( pImpEditView->GetEditSelection(), nTransliterationMode );
diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx
index 51452ad7ed27..c047f51c1dcf 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -995,7 +995,7 @@ public:
const OUString& GetAutoCompleteText() const { return aAutoCompleteText; }
void SetAutoCompleteText(const OUString& rStr, bool bUpdateTipWindow);
- EditSelection TransliterateText( const EditSelection& rSelection, sal_Int32 nTransliterationMode );
+ EditSelection TransliterateText( const EditSelection& rSelection, TransliterationFlags nTransliterationMode );
short ReplaceTextOnly( ContentNode* pNode, sal_Int32 nCurrentStart, sal_Int32 nLen, const OUString& rText, const css::uno::Sequence< sal_Int32 >& rOffsets );
void SetAsianCompressionMode( CharCompressType n );
diff --git a/editeng/source/editeng/impedit4.cxx b/editeng/source/editeng/impedit4.cxx
index 7d5227845100..80cfabf8e2d7 100644
--- a/editeng/source/editeng/impedit4.cxx
+++ b/editeng/source/editeng/impedit4.cxx
@@ -67,8 +67,6 @@
#include <com/sun/star/linguistic2/XMeaning.hpp>
#include <com/sun/star/i18n/ScriptType.hpp>
#include <com/sun/star/i18n/WordType.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
#include <unotools/transliterationwrapper.hxx>
#include <unotools/textsearch.hxx>
#include <comphelper/processfactory.hxx>
@@ -2603,7 +2601,7 @@ bool ImpEditEngine::Search( const SvxSearchItem& rSearchItem, EditView* pEditVie
bool ImpEditEngine::ImpSearch( const SvxSearchItem& rSearchItem,
const EditSelection& rSearchSelection, const EditPaM& rStartPos, EditSelection& rFoundSel )
{
- util::SearchOptions2 aSearchOptions( rSearchItem.GetSearchOptions() );
+ i18nutil::SearchOptions2 aSearchOptions( rSearchItem.GetSearchOptions() );
aSearchOptions.Locale = GetLocale( rStartPos );
bool bBack = rSearchItem.GetBackward();
@@ -2710,7 +2708,7 @@ namespace
};
}
-EditSelection ImpEditEngine::TransliterateText( const EditSelection& rSelection, sal_Int32 nTransliterationMode )
+EditSelection ImpEditEngine::TransliterateText( const EditSelection& rSelection, TransliterationFlags nTransliterationMode )
{
uno::Reference < i18n::XBreakIterator > _xBI( ImplGetBreakIterator() );
if (!_xBI.is())
@@ -2761,7 +2759,7 @@ EditSelection ImpEditEngine::TransliterateText( const EditSelection& rSelection,
std::vector< eeTransliterationChgData > aChanges;
eeTransliterationChgData aChgData;
- if (nTransliterationMode == i18n::TransliterationModulesExtra::TITLE_CASE)
+ if (nTransliterationMode == TransliterationFlags::TITLE_CASE)
{
// for 'capitalize every word' we need to iterate over each word
@@ -2826,7 +2824,7 @@ EditSelection ImpEditEngine::TransliterateText( const EditSelection& rSelection,
}
DBG_ASSERT( nCurrentEnd >= aEndBndry.endPos, "failed to reach end of transliteration" );
}
- else if (nTransliterationMode == i18n::TransliterationModulesExtra::SENTENCE_CASE)
+ else if (nTransliterationMode == TransliterationFlags::SENTENCE_CASE)
{
// for 'sentence case' we need to iterate sentence by sentence
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index fdd66c356ad8..dbf222d004a3 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -24,6 +24,7 @@
#include <com/sun/star/lang/Locale.hpp>
#include <tools/urlobj.hxx>
#include <i18nlangtag/mslangid.hxx>
+#include <i18nutil/transliteration.hxx>
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
#include <sot/storinfo.hxx>
@@ -214,8 +215,8 @@ static TransliterationWrapper& GetIgnoreTranslWrapper()
{
static int bIsInit = 0;
static TransliterationWrapper aWrp( ::comphelper::getProcessComponentContext(),
- css::i18n::TransliterationModules_IGNORE_KANA |
- css::i18n::TransliterationModules_IGNORE_WIDTH );
+ TransliterationFlags::IGNORE_KANA |
+ TransliterationFlags::IGNORE_WIDTH );
if( !bIsInit )
{
aWrp.loadModuleIfNeeded( GetAppLang().getLanguageType() );
diff --git a/editeng/source/outliner/outlvw.cxx b/editeng/source/outliner/outlvw.cxx
index bf061d340fff..a08eb17d641b 100644
--- a/editeng/source/outliner/outlvw.cxx
+++ b/editeng/source/outliner/outlvw.cxx
@@ -1293,7 +1293,7 @@ sal_Int32 OutlinerView::StartSearchAndReplace( const SvxSearchItem& rSearchItem
return pEditView->StartSearchAndReplace( rSearchItem );
}
-void OutlinerView::TransliterateText( sal_Int32 nTransliterationMode )
+void OutlinerView::TransliterateText( TransliterationFlags nTransliterationMode )
{
pEditView->TransliterateText( nTransliterationMode );
}
diff --git a/forms/source/xforms/computedexpression.cxx b/forms/source/xforms/computedexpression.cxx
index 68975c26e028..96d981224c09 100644
--- a/forms/source/xforms/computedexpression.cxx
+++ b/forms/source/xforms/computedexpression.cxx
@@ -31,6 +31,7 @@
#include <osl/diagnose.h>
+#include <i18nutil/searchopt.hxx>
#include <unotools/textsearch.hxx>
#include <comphelper/processfactory.hxx>
@@ -40,7 +41,6 @@ using com::sun::star::xml::xpath::XXPathAPI;
using com::sun::star::xml::xpath::XPathExtension;
using com::sun::star::xml::xpath::XXPathExtension;
using com::sun::star::xml::xpath::XPathObjectType_XPATH_UNDEFINED;
-using com::sun::star::util::SearchOptions2;
namespace xforms
@@ -74,7 +74,7 @@ bool ComputedExpression::_checkExpression( const sal_Char* pExpression ) const
assert(pExpression && "no expression?");
// call RegExp engine
- SearchOptions2 aSearchOptions;
+ i18nutil::SearchOptions2 aSearchOptions;
aSearchOptions.AlgorithmType2 = css::util::SearchAlgorithms2::REGEXP;
aSearchOptions.searchString = OUString( pExpression, strlen(pExpression), RTL_TEXTENCODING_ASCII_US );
utl::TextSearch aTextSearch( aSearchOptions );
diff --git a/i18npool/inc/transliteration_caseignore.hxx b/i18npool/inc/transliteration_caseignore.hxx
index 93c91ea05703..dff9a94b7f63 100644
--- a/i18npool/inc/transliteration_caseignore.hxx
+++ b/i18npool/inc/transliteration_caseignore.hxx
@@ -49,7 +49,7 @@ public:
const OUString& s2) override;
protected:
- TransliterationModules moduleLoaded;
+ TransliterationFlags moduleLoaded;
private:
/// @throws css::uno::RuntimeException
sal_Int32 SAL_CALL compare(
diff --git a/i18npool/qa/cppunit/test_textsearch.cxx b/i18npool/qa/cppunit/test_textsearch.cxx
index a5a62436535d..1118b5a427e5 100644
--- a/i18npool/qa/cppunit/test_textsearch.cxx
+++ b/i18npool/qa/cppunit/test_textsearch.cxx
@@ -25,6 +25,7 @@
#include <com/sun/star/util/XTextSearch2.hpp>
#include <com/sun/star/i18n/Transliteration.hpp>
#include <unotest/bootstrapfixturebase.hxx>
+#include <i18nutil/transliteration.hxx>
#include <unicode/regex.h>
@@ -127,8 +128,8 @@ void TestTextSearch::testSearches()
CPPUNIT_ASSERT_EQUAL( bStartRes, aRes.startOffset[0] );
CPPUNIT_ASSERT_EQUAL( bEndRes, aRes.endOffset[0] );
- aOptions.transliterateFlags = ::css::i18n::TransliterationModules::TransliterationModules_IGNORE_CASE
- | ::css::i18n::TransliterationModules::TransliterationModules_IGNORE_WIDTH;
+ aOptions.transliterateFlags = (sal_Int32) (TransliterationFlags::IGNORE_CASE
+ | TransliterationFlags::IGNORE_WIDTH);
aOptions.searchString = "([^ ]*)[ ]*([^ ]*)";
m_xSearch->setOptions(aOptions);
aRes = m_xSearch->searchForward("11 22 33", 2, 7);
diff --git a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
index 847434dc594d..e9a3e299bccc 100644
--- a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
+++ b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
@@ -56,7 +56,6 @@
#include <rtl/ustrbuf.hxx>
#include <com/sun/star/i18n/XTransliteration.hpp>
#include <com/sun/star/i18n/TransliterationType.hpp>
-#include <com/sun/star/i18n/TransliterationModulesNew.hpp>
#include <com/sun/star/i18n/XLocaleData.hpp>
#include <bullet.h>
diff --git a/i18npool/source/search/textsearch.cxx b/i18npool/source/search/textsearch.cxx
index f1e09da1d075..6eef20d8aafb 100644
--- a/i18npool/source/search/textsearch.cxx
+++ b/i18npool/source/search/textsearch.cxx
@@ -36,6 +36,7 @@
#include <cppuhelper/factory.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <cppuhelper/weak.hxx>
+#include <i18nutil/transliteration.hxx>
#include <rtl/ustrbuf.hxx>
#include <sal/log.hxx>
@@ -54,56 +55,56 @@ using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::i18n;
using namespace ::com::sun::star;
-const sal_Int32 COMPLEX_TRANS_MASK =
- TransliterationModules_ignoreBaFa_ja_JP |
- TransliterationModules_ignoreIterationMark_ja_JP |
- TransliterationModules_ignoreTiJi_ja_JP |
- TransliterationModules_ignoreHyuByu_ja_JP |
- TransliterationModules_ignoreSeZe_ja_JP |
- TransliterationModules_ignoreIandEfollowedByYa_ja_JP |
- TransliterationModules_ignoreKiKuFollowedBySa_ja_JP |
- TransliterationModules_ignoreProlongedSoundMark_ja_JP;
+const TransliterationFlags COMPLEX_TRANS_MASK =
+ TransliterationFlags::ignoreBaFa_ja_JP |
+ TransliterationFlags::ignoreIterationMark_ja_JP |
+ TransliterationFlags::ignoreTiJi_ja_JP |
+ TransliterationFlags::ignoreHyuByu_ja_JP |
+ TransliterationFlags::ignoreSeZe_ja_JP |
+ TransliterationFlags::ignoreIandEfollowedByYa_ja_JP |
+ TransliterationFlags::ignoreKiKuFollowedBySa_ja_JP |
+ TransliterationFlags::ignoreProlongedSoundMark_ja_JP;
namespace
{
-sal_Int32 maskComplexTrans( sal_Int32 n )
+TransliterationFlags maskComplexTrans( TransliterationFlags n )
{
// IGNORE_KANA and FULLWIDTH_HALFWIDTH are simple but need to take effect
// in complex transliteration.
return
n & (COMPLEX_TRANS_MASK | // all set ignore bits
- TransliterationModules_IGNORE_KANA | // plus IGNORE_KANA bit
- TransliterationModules_FULLWIDTH_HALFWIDTH); // and the FULLWIDTH_HALFWIDTH value
+ TransliterationFlags::IGNORE_KANA | // plus IGNORE_KANA bit
+ TransliterationFlags::FULLWIDTH_HALFWIDTH); // and the FULLWIDTH_HALFWIDTH value
}
-bool isComplexTrans( sal_Int32 n )
+bool isComplexTrans( TransliterationFlags n )
{
- return n & COMPLEX_TRANS_MASK;
+ return bool(n & COMPLEX_TRANS_MASK);
}
-sal_Int32 maskSimpleTrans( sal_Int32 n )
+TransliterationFlags maskSimpleTrans( TransliterationFlags n )
{
return n & ~COMPLEX_TRANS_MASK;
}
-bool isSimpleTrans( sal_Int32 n )
+bool isSimpleTrans( TransliterationFlags n )
{
- return maskSimpleTrans(n) != 0;
+ return bool(maskSimpleTrans(n));
}
// Regex patterns are case sensitive.
-sal_Int32 maskSimpleRegexTrans( sal_Int32 n )
+TransliterationFlags maskSimpleRegexTrans( TransliterationFlags n )
{
- sal_Int32 m = (n & TransliterationModules_IGNORE_MASK) & ~TransliterationModules_IGNORE_CASE;
- sal_Int32 v = n & TransliterationModules_NON_IGNORE_MASK;
- if (v == TransliterationModules_UPPERCASE_LOWERCASE || v == TransliterationModules_LOWERCASE_UPPERCASE)
- v = 0;
+ TransliterationFlags m = (n & TransliterationFlags::IGNORE_MASK) & ~TransliterationFlags::IGNORE_CASE;
+ TransliterationFlags v = n & TransliterationFlags::NON_IGNORE_MASK;
+ if (v == TransliterationFlags::UPPERCASE_LOWERCASE || v == TransliterationFlags::LOWERCASE_UPPERCASE)
+ v = TransliterationFlags::NONE;
return (m | v) & ~COMPLEX_TRANS_MASK;
}
-bool isSimpleRegexTrans( sal_Int32 n )
+bool isSimpleRegexTrans( TransliterationFlags n )
{
- return maskSimpleRegexTrans(n) != 0;
+ return bool(maskSimpleRegexTrans(n));
}
};
@@ -144,27 +145,28 @@ void TextSearch::setOptions2( const SearchOptions2& rOptions )
pJumpTable2 = nullptr;
maWildcardReversePattern.clear();
maWildcardReversePattern2.clear();
+ TransliterationFlags transliterateFlags = (TransliterationFlags) aSrchPara.transliterateFlags;
// Create Transliteration class
- if( isSimpleTrans( aSrchPara.transliterateFlags) )
+ if( isSimpleTrans( transliterateFlags) )
{
if( !xTranslit.is() )
xTranslit.set( Transliteration::create( m_xContext ) );
xTranslit->loadModule(
- (TransliterationModules) maskSimpleTrans( aSrchPara.transliterateFlags),
+ (TransliterationModules)maskSimpleTrans(transliterateFlags),
aSrchPara.Locale);
}
else if( xTranslit.is() )
xTranslit = nullptr;
// Create Transliteration for 2<->1, 2<->2 transliteration
- if ( isComplexTrans( aSrchPara.transliterateFlags) )
+ if ( isComplexTrans( transliterateFlags) )
{
if( !xTranslit2.is() )
xTranslit2.set( Transliteration::create( m_xContext ) );
// Load transliteration module
xTranslit2->loadModule(
- (TransliterationModules) maskComplexTrans( aSrchPara.transliterateFlags),
+ (TransliterationModules) maskComplexTrans(transliterateFlags),
aSrchPara.Locale);
}
@@ -176,17 +178,17 @@ void TextSearch::setOptions2( const SearchOptions2& rOptions )
// Transliterate search string.
if (aSrchPara.AlgorithmType2 == SearchAlgorithms2::REGEXP)
{
- if (isSimpleRegexTrans( aSrchPara.transliterateFlags))
+ if (isSimpleRegexTrans(transliterateFlags))
{
- if (maskSimpleRegexTrans( aSrchPara.transliterateFlags) !=
- maskSimpleTrans( aSrchPara.transliterateFlags))
+ if (maskSimpleRegexTrans(transliterateFlags) !=
+ maskSimpleTrans(transliterateFlags))
{
css::uno::Reference< XExtendedTransliteration > xTranslitPattern(
Transliteration::create( m_xContext ));
if (xTranslitPattern.is())
{
xTranslitPattern->loadModule(
- (TransliterationModules) maskSimpleRegexTrans( aSrchPara.transliterateFlags),
+ (TransliterationModules) maskSimpleRegexTrans(transliterateFlags),
aSrchPara.Locale);
sSrchStr = xTranslitPattern->transliterateString2String(
aSrchPara.searchString, 0, aSrchPara.searchString.getLength());
@@ -205,11 +207,11 @@ void TextSearch::setOptions2( const SearchOptions2& rOptions )
}
else
{
- if ( xTranslit.is() && isSimpleTrans( aSrchPara.transliterateFlags) )
+ if ( xTranslit.is() && isSimpleTrans(transliterateFlags) )
sSrchStr = xTranslit->transliterateString2String(
aSrchPara.searchString, 0, aSrchPara.searchString.getLength());
- if ( xTranslit2.is() && isComplexTrans( aSrchPara.transliterateFlags) )
+ if ( xTranslit2.is() && isComplexTrans(transliterateFlags) )
sSrchStr2 = xTranslit2->transliterateString2String(
aSrchPara.searchString, 0, aSrchPara.searchString.getLength());
}
@@ -827,10 +829,11 @@ SearchResult TextSearch::NSrchBkwrd( const OUString& searchStr, sal_Int32 startP
void TextSearch::RESrchPrepare( const css::util::SearchOptions2& rOptions)
{
+ TransliterationFlags transliterateFlags = (TransliterationFlags)rOptions.transliterateFlags;
// select the transliterated pattern string
const OUString& rPatternStr =
- (isSimpleTrans( rOptions.transliterateFlags) ? sSrchStr
- : (isComplexTrans( rOptions.transliterateFlags) ? sSrchStr2 : rOptions.searchString));
+ (isSimpleTrans(transliterateFlags) ? sSrchStr
+ : (isComplexTrans(transliterateFlags) ? sSrchStr2 : rOptions.searchString));
sal_uInt32 nIcuSearchFlags = UREGEX_UWORD; // request UAX#29 unicode capability
// map css::util::SearchFlags to ICU uregex.h flags
@@ -842,7 +845,7 @@ void TextSearch::RESrchPrepare( const css::util::SearchOptions2& rOptions)
// Note that the search flag ALL_IGNORE_CASE is deprecated in UNO
// probably because the transliteration flag IGNORE_CASE handles it as well.
if( (rOptions.searchFlag & css::util::SearchFlags::ALL_IGNORE_CASE) != 0
- || (rOptions.transliterateFlags & TransliterationModules_IGNORE_CASE) != 0)
+ || (transliterateFlags & TransliterationFlags::IGNORE_CASE))
nIcuSearchFlags |= UREGEX_CASE_INSENSITIVE;
UErrorCode nIcuErr = U_ZERO_ERROR;
// assumption: transliteration didn't mangle regexp control chars
diff --git a/i18npool/source/transliteration/transliteration_caseignore.cxx b/i18npool/source/transliteration/transliteration_caseignore.cxx
index e6f0061efc8a..9ac4712ba233 100644
--- a/i18npool/source/transliteration/transliteration_caseignore.cxx
+++ b/i18npool/source/transliteration/transliteration_caseignore.cxx
@@ -22,6 +22,7 @@
#include <i18nutil/oneToOneMapping.hxx>
#include <i18nutil/casefolding.hxx>
+#include <i18nutil/transliteration.hxx>
#include "transliteration_caseignore.hxx"
@@ -33,7 +34,7 @@ namespace com { namespace sun { namespace star { namespace i18n {
Transliteration_caseignore::Transliteration_caseignore()
{
nMappingType = MappingType::FullFolding;
- moduleLoaded = (TransliterationModules)0;
+ moduleLoaded = TransliterationFlags::NONE;
transliterationName = "case ignore (generic)";
implementationName = "com.sun.star.i18n.Transliteration.Transliteration_caseignore";
}
@@ -41,7 +42,7 @@ Transliteration_caseignore::Transliteration_caseignore()
void SAL_CALL
Transliteration_caseignore::loadModule( TransliterationModules modName, const Locale& rLocale )
{
- moduleLoaded = (TransliterationModules) (moduleLoaded|modName);
+ moduleLoaded |= (TransliterationFlags)modName;
aLocale = rLocale;
}
diff --git a/i18nutil/source/utility/casefolding.cxx b/i18nutil/source/utility/casefolding.cxx
index 22bce0925594..1f6c0608471a 100644
--- a/i18nutil/source/utility/casefolding.cxx
+++ b/i18nutil/source/utility/casefolding.cxx
@@ -20,6 +20,7 @@
#include "i18nutil/casefolding.hxx"
#include "casefolding_data.h"
#include "i18nutil/widthfolding.hxx"
+#include "i18nutil/transliteration.hxx"
using namespace com::sun::star::lang;
using namespace com::sun::star::uno;
@@ -129,7 +130,7 @@ is_ja_voice_sound_mark(sal_Unicode& current, sal_Unicode next)
return c != 0;
}
-sal_Unicode casefolding::getNextChar(const sal_Unicode *str, sal_Int32& idx, sal_Int32 len, MappingElement& e, Locale& aLocale, MappingType nMappingType, TransliterationModules moduleLoaded)
+sal_Unicode casefolding::getNextChar(const sal_Unicode *str, sal_Int32& idx, sal_Int32 len, MappingElement& e, Locale& aLocale, MappingType nMappingType, TransliterationFlags moduleLoaded)
{
if( idx >= len )
{
@@ -139,7 +140,7 @@ sal_Unicode casefolding::getNextChar(const sal_Unicode *str, sal_Int32& idx, sal
sal_Unicode c;
- if (moduleLoaded & TransliterationModules_IGNORE_CASE) {
+ if (moduleLoaded & TransliterationFlags::IGNORE_CASE) {
if( e.current >= e.element.nmap ) {
e.element = getValue(str, idx++, len, aLocale, nMappingType);
e.current = 0;
@@ -149,13 +150,13 @@ sal_Unicode casefolding::getNextChar(const sal_Unicode *str, sal_Int32& idx, sal
c = *(str + idx++);
}
- if (moduleLoaded & TransliterationModules_IGNORE_KANA) {
+ if (moduleLoaded & TransliterationFlags::IGNORE_KANA) {
if ((0x3040 <= c && c <= 0x3094) || (0x309d <= c && c <= 0x309f))
c += 0x60;
}
// composition: KA + voice-mark --> GA. see halfwidthToFullwidth.cxx for detail
- if (moduleLoaded & TransliterationModules_IGNORE_WIDTH) {
+ if (moduleLoaded & TransliterationFlags::IGNORE_WIDTH) {
static oneToOneMapping& half2fullTable = widthfolding::gethalf2fullTable();
c = half2fullTable[c];
if (0x3040 <= c && c <= 0x30ff && idx < len &&
diff --git a/include/editeng/editeng.hxx b/include/editeng/editeng.hxx
index 921b60f2c954..b9ce5226543b 100644
--- a/include/editeng/editeng.hxx
+++ b/include/editeng/editeng.hxx
@@ -110,7 +110,7 @@ struct EPaM;
class DeletedNodeInfo;
class ParaPortionList;
enum class CharCompressType;
-
+enum class TransliterationFlags;
/** values for:
SfxItemSet GetAttribs( const ESelection& rSel, EditEngineAttribs nOnlyHardAttrib = EditEngineAttribs::All );
@@ -253,8 +253,8 @@ public:
LanguageType GetLanguage(const EditPaM& rPaM) const;
LanguageType GetLanguage( sal_Int32 nPara, sal_Int32 nPos ) const;
- void TransliterateText( const ESelection& rSelection, sal_Int32 nTransliterationMode );
- EditSelection TransliterateText( const EditSelection& rSelection, sal_Int32 nTransliterationMode );
+ void TransliterateText( const ESelection& rSelection, TransliterationFlags nTransliterationMode );
+ EditSelection TransliterateText( const EditSelection& rSelection, TransliterationFlags nTransliterationMode );
void SetAsianCompressionMode( CharCompressType nCompression );
diff --git a/include/editeng/editview.hxx b/include/editeng/editview.hxx
index adabc65dbf1b..15e53a141eb6 100644
--- a/include/editeng/editview.hxx
+++ b/include/editeng/editview.hxx
@@ -58,6 +58,7 @@ class SfxStyleSheet;
namespace vcl { class Font; }
class FontList;
class OutputDevice;
+enum class TransliterationFlags;
namespace com {
namespace sun {
@@ -224,7 +225,7 @@ public:
// for text conversion
void StartTextConversion( LanguageType nSrcLang, LanguageType nDestLang, const vcl::Font *pDestFont, sal_Int32 nOptions, bool bIsInteractive, bool bMultipleDoc );
- void TransliterateText( sal_Int32 nTransliterationMode );
+ void TransliterateText( TransliterationFlags nTransliterationMode );
bool IsCursorAtWrongSpelledWord();
bool IsWrongSpelledWordAtPos( const Point& rPosPixel, bool bMarkIfWrong = false );
diff --git a/include/editeng/outliner.hxx b/include/editeng/outliner.hxx
index 2c1f7810e85e..034de4776bfc 100644
--- a/include/editeng/outliner.hxx
+++ b/include/editeng/outliner.hxx
@@ -47,7 +47,6 @@
#include <editeng/paragraphdata.hxx>
#include <o3tl/typed_flags_set.hxx>
-
#include <functional>
#include <vector>
@@ -84,26 +83,25 @@ class OverflowingText;
class NonOverflowingText;
class OutlinerViewShell;
enum class CharCompressType;
+enum class TransliterationFlags;
+class SvxFieldData;
namespace svl
{
class IUndoManager;
}
-
-class SvxFieldData;
-
-
namespace com { namespace sun { namespace star { namespace linguistic2 {
class XSpellChecker1;
class XHyphenator;
}}}}
namespace svx{
-struct SpellPortion;
-typedef std::vector<SpellPortion> SpellPortions;
+ struct SpellPortion;
+ typedef std::vector<SpellPortion> SpellPortions;
}
-
namespace basegfx { class B2DPolyPolygon; }
+
+
// internal use only!
enum class ParaFlag
{
@@ -300,7 +298,7 @@ public:
// for text conversion
void StartTextConversion( LanguageType nSrcLang, LanguageType nDestLang, const vcl::Font *pDestFont, sal_Int32 nOptions, bool bIsInteractive, bool bMultipleDoc );
- void TransliterateText( sal_Int32 nTransliterationMode );
+ void TransliterateText( TransliterationFlags nTransliterationMode );
ESelection GetSelection();
diff --git a/include/i18nutil/casefolding.hxx b/include/i18nutil/casefolding.hxx
index 31a6d4ffe586..493875a340a4 100644
--- a/include/i18nutil/casefolding.hxx
+++ b/include/i18nutil/casefolding.hxx
@@ -20,12 +20,13 @@
#define INCLUDED_I18NUTIL_CASEFOLDING_HXX
#include <sal/types.h>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
#include <com/sun/star/lang/Locale.hpp>
#include <com/sun/star/uno/RuntimeException.hpp>
#include <i18nutil/i18nutildllapi.h>
#include <o3tl/typed_flags_set.hxx>
+enum class TransliterationFlags;
+
enum class MappingType {
NONE = 0x00,
LowerToUpper = 0x01, // Upper to Lower mapping
@@ -77,7 +78,7 @@ public:
/// @throws css::uno::RuntimeException
static Mapping& getConditionalValue(const sal_Unicode* str, sal_Int32 pos, sal_Int32 len, css::lang::Locale& aLocale, MappingType nMappingType);
/// @throws css::uno::RuntimeException
- static sal_Unicode getNextChar(const sal_Unicode *str, sal_Int32& idx, sal_Int32 len, MappingElement& e, css::lang::Locale& aLocale, MappingType nMappingtype, TransliterationModules moduleLoaded);
+ static sal_Unicode getNextChar(const sal_Unicode *str, sal_Int32& idx, sal_Int32 len, MappingElement& e, css::lang::Locale& aLocale, MappingType nMappingtype, TransliterationFlags moduleLoaded);
};
diff --git a/include/i18nutil/searchopt.hxx b/include/i18nutil/searchopt.hxx
new file mode 100644
index 000000000000..5fc8b1a9afdf
--- /dev/null
+++ b/include/i18nutil/searchopt.hxx
@@ -0,0 +1,142 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef INCLUDED_I18NUTIL_SEARCHOPT_HXX
+#define INCLUDED_I18NUTIL_SEARCHOPT_HXX
+
+#include <sal/types.h>
+#include "com/sun/star/lang/Locale.hpp"
+#include "com/sun/star/util/SearchAlgorithms.hpp"
+#include "com/sun/star/util/SearchOptions2.hpp"
+#include <i18nutil/i18nutildllapi.h>
+#include <i18nutil/transliteration.hxx>
+
+namespace i18nutil
+{
+
+/**
+ * This is a wrapper around com::sun::star::util::SearchOptions
+ * but using the more type-safe TransliterationFlags enum.
+ */
+struct I18NUTIL_DLLPUBLIC SAL_WARN_UNUSED SearchOptions {
+ css::util::SearchAlgorithms algorithmType;
+ sal_Int32 searchFlag;
+ OUString searchString;
+ OUString replaceString;
+ css::lang::Locale Locale;
+ sal_Int32 changedChars;
+ sal_Int32 deletedChars;
+ sal_Int32 insertedChars;
+ TransliterationFlags transliterateFlags;
+
+ SearchOptions& operator=(css::util::SearchOptions const & other)
+ {
+ algorithmType = other.algorithmType;
+ searchFlag = other.searchFlag;
+ searchString = other.searchString;
+ replaceString = other.replaceString;
+ Locale = other.Locale;
+ changedChars = other.changedChars;
+ deletedChars = other.deletedChars;
+ insertedChars = other.insertedChars;
+ transliterateFlags = (TransliterationFlags)other.transliterateFlags;
+ return *this;
+ }
+
+ SearchOptions()
+ : algorithmType(::css::util::SearchAlgorithms_ABSOLUTE)
+ , searchFlag(0)
+ , searchString()
+ , replaceString()
+ , Locale()
+ , changedChars(0)
+ , deletedChars(0)
+ , insertedChars(0)
+ , transliterateFlags(TransliterationFlags::NONE)
+ {
+ }
+
+ SearchOptions(const css::util::SearchAlgorithms& algorithmType_, const sal_Int32 searchFlag_,
+ const OUString& searchString_, const OUString& replaceString_,
+ const css::lang::Locale& Locale_,
+ const sal_Int32 changedChars_, const sal_Int32 deletedChars_, const sal_Int32 insertedChars_,
+ const TransliterationFlags& transliterateFlags_)
+ : algorithmType(algorithmType_)
+ , searchFlag(searchFlag_)
+ , searchString(searchString_)
+ , replaceString(replaceString_)
+ , Locale(Locale_)
+ , changedChars(changedChars_)
+ , deletedChars(deletedChars_)
+ , insertedChars(insertedChars_)
+ , transliterateFlags(transliterateFlags_)
+ {
+ }
+};
+
+/**
+ * This is a wrapper around com::sun::star::util::SearchOptions and SearchOptions2,
+ * but using the more type-safe TransliterationFlags enum.
+ */
+struct I18NUTIL_DLLPUBLIC SAL_WARN_UNUSED SearchOptions2 : public SearchOptions {
+
+ sal_Int16 AlgorithmType2;
+ sal_Int32 WildcardEscapeCharacter;
+
+ SearchOptions2& operator=(css::util::SearchOptions2 const & other)
+ {
+ SearchOptions::operator=(other);
+ AlgorithmType2 = other.AlgorithmType2;
+ WildcardEscapeCharacter = other.WildcardEscapeCharacter;
+ return *this;
+ }
+
+
+ css::util::SearchOptions2 toUnoSearchOptions2() const
+ {
+ return css::util::SearchOptions2(algorithmType, searchFlag,
+ searchString, replaceString,
+ Locale,
+ changedChars, deletedChars, insertedChars,
+ (sal_Int32)transliterateFlags,
+ AlgorithmType2, WildcardEscapeCharacter);
+ }
+
+ SearchOptions2()
+ : SearchOptions()
+ , AlgorithmType2(0)
+ , WildcardEscapeCharacter(0)
+ {}
+
+ SearchOptions2(const css::util::SearchAlgorithms& algorithmType_, const sal_Int32 searchFlag_,
+ const OUString& searchString_, const OUString& replaceString_,
+ const css::lang::Locale& Locale_,
+ const sal_Int32 changedChars_, const sal_Int32 deletedChars_, const sal_Int32 insertedChars_,
+ const TransliterationFlags& transliterateFlags_,
+ const sal_Int16 AlgorithmType2_, const sal_Int32 WildcardEscapeCharacter_)
+ : SearchOptions(algorithmType_, searchFlag_, searchString_, replaceString_, Locale_, changedChars_, deletedChars_, insertedChars_, transliterateFlags_)
+ , AlgorithmType2(AlgorithmType2_)
+ , WildcardEscapeCharacter(WildcardEscapeCharacter_)
+ {}
+};
+
+}; // namespace
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/i18nutil/transliteration.hxx b/include/i18nutil/transliteration.hxx
new file mode 100644
index 000000000000..b8cafa68f14f
--- /dev/null
+++ b/include/i18nutil/transliteration.hxx
@@ -0,0 +1,132 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+#ifndef INCLUDED_I18NUTIL_TRANSLITERATION_HXX
+#define INCLUDED_I18NUTIL_TRANSLITERATION_HXX
+
+#include <sal/types.h>
+#include <com/sun/star/i18n/TransliterationModules.hpp>
+#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
+#include <o3tl/typed_flags_set.hxx>
+
+/**
+ * This is a superset type of the com::sun::star::i18n::TransliterationModules and TransliterationModulesExtra,
+ * with some extra type checking
+ */
+enum class TransliterationFlags {
+ NONE = 0,
+ /// Transliterate a string from upper case to lower case
+ UPPERCASE_LOWERCASE = css::i18n::TransliterationModules_UPPERCASE_LOWERCASE,
+ /// Transliterate a string from lower case to upper case
+ LOWERCASE_UPPERCASE = css::i18n::TransliterationModules_LOWERCASE_UPPERCASE,
+ /// Transliterate a string from half width character to full width character
+ HALFWIDTH_FULLWIDTH = css::i18n::TransliterationModules_HALFWIDTH_FULLWIDTH,
+ /// Transliterate a string from full width character to half width character
+ FULLWIDTH_HALFWIDTH = css::i18n::TransliterationModules_FULLWIDTH_HALFWIDTH,
+ /// Transliterate a Japanese string from Katakana to Hiragana
+ KATAKANA_HIRAGANA = css::i18n::TransliterationModules_KATAKANA_HIRAGANA,
+ /// Transliterate a Japanese string from Hiragana to Katakana
+ HIRAGANA_KATAKANA = css::i18n::TransliterationModules_HIRAGANA_KATAKANA,
+ /// Transliterate an ASCII number string to Simplified Chinese lower case number string in spellout format
+ NumToTextLower_zh_CN = css::i18n::TransliterationModules_NumToTextLower_zh_CN,
+ /// Transliterate an ASCII number string to Simplified Chinese upper case number string in spellout format
+ NumToTextUpper_zh_CN = css::i18n::TransliterationModules_NumToTextUpper_zh_CN,
+ /// Transliterate an ASCII number string to Traditional Chinese lower case number string in spellout format
+ NumToTextLower_zh_TW = css::i18n::TransliterationModules_NumToTextLower_zh_TW,
+ /// Transliterate an ASCII number string to Traditional Chinese upper case number string in spellout format
+ NumToTextUpper_zh_TW = css::i18n::TransliterationModules_NumToTextUpper_zh_TW,
+ /// Transliterate an ASCII number string to formal Korean Hangul number string in spellout format
+ NumToTextFormalHangul_ko = css::i18n::TransliterationModules_NumToTextFormalHangul_ko,
+ /// Transliterate an ASCII number string to formal Korean Hanja lower case number string in spellout format
+ NumToTextFormalLower_ko = css::i18n::TransliterationModules_NumToTextFormalLower_ko,
+ /// Transliterate an ASCII number string to formal Korean Hanja upper case number string in spellout format
+ NumToTextFormalUpper_ko = css::i18n::TransliterationModules_NumToTextFormalUpper_ko,
+
+ /** The first character of the sentence is put in upper case
+ */
+ SENTENCE_CASE = css::i18n::TransliterationModulesExtra::SENTENCE_CASE,
+
+
+ /** The first character of the word is put in upper case.
+ * This one is part
+ */
+ TITLE_CASE = css::i18n::TransliterationModulesExtra::TITLE_CASE,
+
+
+ /** All characters of the word are to change their case from small letters
+ * to capital letters and vice versa.
+ */
+ TOGGLE_CASE = css::i18n::TransliterationModulesExtra::TOGGLE_CASE,
+
+ NON_IGNORE_MASK = css::i18n::TransliterationModules_NON_IGNORE_MASK,
+ IGNORE_MASK = 0x7fffff00,
+
+ /// Ignore case when comparing strings by transliteration service
+ IGNORE_CASE = css::i18n::TransliterationModules_IGNORE_CASE,
+ /// Ignore Hiragana and Katakana when comparing strings by transliteration service
+ IGNORE_KANA = css::i18n::TransliterationModules_IGNORE_KANA, // ja_JP
+ /// Ignore full width and half width character when comparing strings by transliteration service
+ IGNORE_WIDTH = css::i18n::TransliterationModules_IGNORE_WIDTH, // ja_JP
+ /// Ignore Japanese traditional Kanji character in Japanese fuzzy search
+ ignoreTraditionalKanji_ja_JP = css::i18n::TransliterationModules_ignoreTraditionalKanji_ja_JP,
+ /// Ignore Japanese traditional Katakana and Hiragana character in Japanese fuzzy search
+ ignoreTraditionalKana_ja_JP = css::i18n::TransliterationModules_ignoreTraditionalKana_ja_JP,
+ /// Ignore dash or minus sign in Japanese fuzzy search
+ ignoreMinusSign_ja_JP = css::i18n::TransliterationModules_ignoreMinusSign_ja_JP,
+ /// Ignore Hiragana and Katakana iteration mark in Japanese fuzzy search
+ ignoreIterationMark_ja_JP = css::i18n::TransliterationModules_ignoreIterationMark_ja_JP,
+ /// Ignore separator punctuations in Japanese fuzzy search
+ ignoreSeparator_ja_JP = css::i18n::TransliterationModules_ignoreSeparator_ja_JP,
+ /// Ignore Katakana and Hiragana Zi/Zi and Zu/Zu in Japanese fuzzy search
+ ignoreZiZu_ja_JP = css::i18n::TransliterationModules_ignoreZiZu_ja_JP,
+ /// Ignore Katakana and Hiragana Ba/Gua and Ha/Fa in Japanese fuzzy search
+ ignoreBaFa_ja_JP = css::i18n::TransliterationModules_ignoreBaFa_ja_JP,
+ /// Ignore Katakana and Hiragana Tsui/Tea/Ti and Dyi/Ji in Japanese fuzzy search
+ ignoreTiJi_ja_JP = css::i18n::TransliterationModules_ignoreTiJi_ja_JP,
+ /// Ignore Katakana and Hiragana Hyu/Fyu and Byu/Gyu in Japanese fuzzy search
+ ignoreHyuByu_ja_JP = css::i18n::TransliterationModules_ignoreHyuByu_ja_JP,
+ /// Ignore Katakana and Hiragana Se/Sye and Ze/Je in Japanese fuzzy search
+ ignoreSeZe_ja_JP = css::i18n::TransliterationModules_ignoreSeZe_ja_JP,
+ /// Ignore Katakana YA/A which follows the character in either I or E row in Japanese fuzzy search
+ ignoreIandEfollowedByYa_ja_JP = css::i18n::TransliterationModules_ignoreIandEfollowedByYa_ja_JP,
+ /// Ignore Katakana KI/KU which follows the character in SA column in Japanese fuzzy search
+ ignoreKiKuFollowedBySa_ja_JP = css::i18n::TransliterationModules_ignoreKiKuFollowedBySa_ja_JP,
+ /// Ignore Japanese normal and small sized character in Japanese fuzzy search
+ ignoreSize_ja_JP = css::i18n::TransliterationModules_ignoreSize_ja_JP,
+ /// Ignore Japanese prolonged sound mark in Japanese fuzzy search
+ ignoreProlongedSoundMark_ja_JP = css::i18n::TransliterationModules_ignoreProlongedSoundMark_ja_JP,
+ /// Ignore middle dot in Japanese fuzzy search
+ ignoreMiddleDot_ja_JP = css::i18n::TransliterationModules_ignoreMiddleDot_ja_JP,
+ /// Ignore white space characters, include space, TAB, return, etc. in Japanese fuzzy search
+ ignoreSpace_ja_JP = css::i18n::TransliterationModules_ignoreSpace_ja_JP,
+ /// transliterate Japanese small sized character to normal sized character
+ smallToLarge_ja_JP = css::i18n::TransliterationModules_smallToLarge_ja_JP,
+ /// transliterate Japanese normal sized character to small sized character
+ largeToSmall_ja_JP = css::i18n::TransliterationModules_largeToSmall_ja_JP,
+
+ IGNORE_DIACRITICS_CTL = css::i18n::TransliterationModulesExtra::IGNORE_DIACRITICS_CTL,
+ IGNORE_KASHIDA_CTL = css::i18n::TransliterationModulesExtra::IGNORE_KASHIDA_CTL
+};
+namespace o3tl {
+ template<> struct typed_flags<TransliterationFlags> : is_typed_flags<TransliterationFlags, 0x7fffffff> {};
+}
+
+
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/svl/ondemand.hxx b/include/svl/ondemand.hxx
index 69139b9cb119..2eeebdad2137 100644
--- a/include/svl/ondemand.hxx
+++ b/include/svl/ondemand.hxx
@@ -27,11 +27,11 @@
#include <unotools/collatorwrapper.hxx>
#include <com/sun/star/i18n/CollatorOptions.hpp>
#include <unotools/transliterationwrapper.hxx>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
#include <unotools/nativenumberwrapper.hxx>
#include <com/sun/star/uno/Reference.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <comphelper/processfactory.hxx>
+#include <i18nutil/transliteration.hxx>
/*
On demand instantiation and initialization of several i18n wrappers,
@@ -190,7 +190,7 @@ class OnDemandTransliterationWrapper
{
css::uno::Reference< css::uno::XComponentContext > m_xContext;
LanguageType eLanguage;
- css::i18n::TransliterationModules nType;
+ TransliterationFlags nType;
mutable std::unique_ptr<::utl::TransliterationWrapper>
pPtr;
mutable bool bValid;
@@ -199,7 +199,7 @@ class OnDemandTransliterationWrapper
public:
OnDemandTransliterationWrapper()
: eLanguage( LANGUAGE_SYSTEM )
- , nType(css::i18n::TransliterationModules_END_OF_MODULE)
+ , nType(TransliterationFlags::NONE)
, pPtr(nullptr)
, bValid(false)
, bInitialized(false)
@@ -213,7 +213,7 @@ public:
)
{
m_xContext = rxContext;
- nType = css::i18n::TransliterationModules_IGNORE_CASE;
+ nType = TransliterationFlags::IGNORE_CASE;
changeLocale( eLang );
pPtr.reset();
bInitialized = true;
diff --git a/include/svl/srchitem.hxx b/include/svl/srchitem.hxx
index 2be6271dc8a2..1f6d5553d336 100644
--- a/include/svl/srchitem.hxx
+++ b/include/svl/srchitem.hxx
@@ -22,10 +22,10 @@
#include <sal/config.h>
#include <svl/svldllapi.h>
#include <com/sun/star/util/XSearchDescriptor.hpp>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/util/SearchAlgorithms2.hpp>
#include <com/sun/star/util/SearchFlags.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
+#include <i18nutil/transliteration.hxx>
+#include <i18nutil/searchopt.hxx>
#include <unotools/configitem.hxx>
#include <rsc/rscsfx.hxx>
#include <svl/poolitem.hxx>
@@ -63,7 +63,7 @@ class SVL_DLLPUBLIC SvxSearchItem :
public SfxPoolItem,
public utl::ConfigItem
{
- css::util::SearchOptions2 m_aSearchOpt;
+ i18nutil::SearchOptions2 m_aSearchOpt;
SfxStyleFamily m_eFamily; // style family
@@ -180,12 +180,13 @@ public:
inline sal_uInt16 GetLEVLonger() const;
inline void SetLEVLonger(sal_uInt16 nSet);
- inline const css::util::SearchOptions2 &
+ inline const i18nutil::SearchOptions2 &
GetSearchOptions() const;
- inline void SetSearchOptions( const css::util::SearchOptions2 &rOpt );
+ inline void SetSearchOptions( const i18nutil::SearchOptions2 &rOpt );
- inline sal_Int32 GetTransliterationFlags() const;
- void SetTransliterationFlags( sal_Int32 nFlags );
+ inline TransliterationFlags
+ GetTransliterationFlags() const;
+ void SetTransliterationFlags( TransliterationFlags nFlags );
inline bool IsMatchFullHalfWidthForms() const;
void SetMatchFullHalfWidthForms( bool bVal );
@@ -227,7 +228,7 @@ bool SvxSearchItem::GetWordOnly() const
bool SvxSearchItem::GetExact() const
{
- return 0 == (m_aSearchOpt.transliterateFlags & css::i18n::TransliterationModules_IGNORE_CASE);
+ return !(m_aSearchOpt.transliterateFlags & TransliterationFlags::IGNORE_CASE);
}
bool SvxSearchItem::GetSelection() const
@@ -298,24 +299,24 @@ bool SvxSearchItem::IsLevenshtein() const
return m_aSearchOpt.AlgorithmType2 == css::util::SearchAlgorithms2::APPROXIMATE;
}
-const css::util::SearchOptions2 & SvxSearchItem::GetSearchOptions() const
+const i18nutil::SearchOptions2 & SvxSearchItem::GetSearchOptions() const
{
return m_aSearchOpt;
}
-void SvxSearchItem::SetSearchOptions( const css::util::SearchOptions2 &rOpt )
+void SvxSearchItem::SetSearchOptions( const i18nutil::SearchOptions2 &rOpt )
{
m_aSearchOpt = rOpt;
}
-sal_Int32 SvxSearchItem::GetTransliterationFlags() const
+TransliterationFlags SvxSearchItem::GetTransliterationFlags() const
{
return m_aSearchOpt.transliterateFlags;
}
bool SvxSearchItem::IsMatchFullHalfWidthForms() const
{
- return 0 != (m_aSearchOpt.transliterateFlags & css::i18n::TransliterationModules_IGNORE_WIDTH);
+ return bool(m_aSearchOpt.transliterateFlags & TransliterationFlags::IGNORE_WIDTH);
}
#endif
diff --git a/include/svx/fmsrccfg.hxx b/include/svx/fmsrccfg.hxx
index 55dbdf9f7b6e..2366d5b34ca2 100644
--- a/include/svx/fmsrccfg.hxx
+++ b/include/svx/fmsrccfg.hxx
@@ -24,6 +24,7 @@
#include <com/sun/star/uno/Sequence.hxx>
#include <svx/svxdllapi.h>
+enum class TransliterationFlags;
#define MATCHING_ANYWHERE 0
#define MATCHING_BEGINNING 1
@@ -46,7 +47,8 @@ namespace svxform
struct SVX_DLLPUBLIC FmSearchParams
{
protected:
- sal_Int32 nTransliterationFlags;
+ TransliterationFlags
+ nTransliterationFlags;
// they're way too sensitive for direct access ....
public:
@@ -77,8 +79,9 @@ namespace svxform
bool isIgnoreWidthCJK( ) const;
- sal_Int32 getTransliterationFlags( ) const { return nTransliterationFlags; }
- void setTransliterationFlags( sal_Int32 _nFlags ) { nTransliterationFlags = _nFlags; }
+ TransliterationFlags
+ getTransliterationFlags( ) const { return nTransliterationFlags; }
+ void setTransliterationFlags( TransliterationFlags _nFlags ) { nTransliterationFlags = _nFlags; }
bool isCaseSensitive( ) const;
void setCaseSensitive( bool _bCase );
diff --git a/include/svx/fmsrcimp.hxx b/include/svx/fmsrcimp.hxx
index 5eaaf4eff01d..a56933533b63 100644
--- a/include/svx/fmsrcimp.hxx
+++ b/include/svx/fmsrcimp.hxx
@@ -38,6 +38,8 @@
#include <deque>
#include <vector>
+enum class TransliterationFlags;
+
/**
* struct FmSearchProgress - the owner of SearchEngine receives this structure for status updates
* (at the end of the search)
@@ -211,7 +213,7 @@ class SAL_WARN_UNUSED SVX_DLLPUBLIC FmSearchEngine final
sal_uInt16 m_nPosition; // if not regular or levenshtein, then one of the MATCHING_... values
- sal_Int32 m_nTransliterationFlags;
+ TransliterationFlags m_nTransliterationFlags;
// member access
@@ -253,8 +255,9 @@ public:
sal_uInt16 GetLevLonger() const { return m_nLevLonger; }
// all Lev. values will only be considered in case of m_bLevenshtein==sal_True
- void SetTransliterationFlags(sal_Int32 _nFlags) { m_nTransliterationFlags = _nFlags; }
- sal_Int32 GetTransliterationFlags() const { return m_nTransliterationFlags; }
+ void SetTransliterationFlags(TransliterationFlags _nFlags) { m_nTransliterationFlags = _nFlags; }
+ TransliterationFlags
+ GetTransliterationFlags() const { return m_nTransliterationFlags; }
void SetPosition(sal_uInt16 nValue) { m_nPosition = nValue; }
sal_uInt16 GetPosition() const { return m_nPosition; }
diff --git a/include/svx/srchdlg.hxx b/include/svx/srchdlg.hxx
index 25798fd0837c..3a0b1f953e2c 100644
--- a/include/svx/srchdlg.hxx
+++ b/include/svx/srchdlg.hxx
@@ -40,6 +40,8 @@ class SvxJSearchOptionsPage;
class SvxSearchController;
struct SearchDlg_Impl;
enum class ModifyFlags;
+enum class TransliterationFlags;
+
struct SearchAttrItem
{
@@ -133,7 +135,7 @@ public:
const SearchAttrItemList* GetReplaceItemList() const
{ return pReplaceList; }
- sal_Int32 GetTransliterationFlags() const;
+ TransliterationFlags GetTransliterationFlags() const;
void SetDocWin( vcl::Window* pDocWin ) { mpDocWin = pDocWin; }
vcl::Window* GetDocWin() { return mpDocWin; }
@@ -231,7 +233,8 @@ private:
SvxSearchController* pSearchSetController;
SvxSearchController* pReplaceSetController;
- mutable sal_Int32 nTransliterationFlags;
+ mutable TransliterationFlags
+ nTransliterationFlags;
DECL_LINK( ModifyHdl_Impl, Edit&, void );
DECL_LINK( FlagHdl_Impl, Button*, void );
@@ -264,7 +267,7 @@ private:
void SetModifyFlag_Impl( const Control* pCtrl );
void SaveToModule_Impl();
- void ApplyTransliterationFlags_Impl( sal_Int32 nSettings );
+ void ApplyTransliterationFlags_Impl( TransliterationFlags nSettings );
};
#endif
diff --git a/include/svx/svxdlg.hxx b/include/svx/svxdlg.hxx
index b9e6eb4257f6..a88bed567381 100644
--- a/include/svx/svxdlg.hxx
+++ b/include/svx/svxdlg.hxx
@@ -24,9 +24,6 @@
#include <svx/zoom_def.hxx>
#include <editeng/edtdlg.hxx>
-class SdrModel;
-class SdrView;
-
#include <svx/dstribut_enum.hxx>
#include <svx/rectenum.hxx>
#include <com/sun/star/container/XIndexContainer.hpp>
@@ -42,11 +39,10 @@ namespace linguistic2{
class XThesaurus;
class XHyphenator;
}}}}
-
+class SdrModel;
+class SdrView;
class SvxSpellWrapper;
-typedef VclPtr<SfxTabPage> (*CreateSvxDistributePage)(vcl::Window *pParent, const SfxItemSet &rAttrSet, SvxDistributeHorizontal eHor, SvxDistributeVertical eVer);
-typedef const sal_uInt16* (*DialogGetRanges)();
-
+enum class TransliterationFlags;
struct ExchangeData;
class INetURLObject;
class GalleryTheme;
@@ -58,6 +54,9 @@ class SdrObject;
class SvxSpellWrapper;
struct FmSearchContext;
+typedef VclPtr<SfxTabPage> (*CreateSvxDistributePage)(vcl::Window *pParent, const SfxItemSet &rAttrSet, SvxDistributeHorizontal eHor, SvxDistributeVertical eVer);
+typedef const sal_uInt16* (*DialogGetRanges)();
+
typedef ::std::vector< OUString > TargetList;
namespace svx{ class SpellDialogChildWindow;}
@@ -163,7 +162,7 @@ class AbstractSvxJSearchOptionsDialog :public VclAbstractDialog
protected:
virtual ~AbstractSvxJSearchOptionsDialog() override = default;
public:
- virtual sal_Int32 GetTransliterationFlags() const = 0;
+ virtual TransliterationFlags GetTransliterationFlags() const = 0;
};
class AbstractFmInputRecordNoDialog :public VclAbstractDialog
@@ -396,7 +395,7 @@ public:
)=0;
virtual VclPtr<AbstractSvxJSearchOptionsDialog> CreateSvxJSearchOptionsDialog( vcl::Window* pParent,
const SfxItemSet& rOptionsSet,
- sal_Int32 nInitialFlags )=0;
+ TransliterationFlags nInitialFlags )=0;
virtual VclPtr<AbstractFmInputRecordNoDialog> CreateFmInputRecordNoDialog() = 0;
virtual VclPtr<AbstractSvxNewDictionaryDialog> CreateSvxNewDictionaryDialog( vcl::Window* pParent ) = 0;
virtual VclPtr<VclAbstractDialog> CreateSvxEditDictionaryDialog( vcl::Window* pParent,
diff --git a/include/unotools/caserotate.hxx b/include/unotools/caserotate.hxx
index 36a93b1ee0d2..adc26a6eec8a 100644
--- a/include/unotools/caserotate.hxx
+++ b/include/unotools/caserotate.hxx
@@ -10,9 +10,10 @@
#define INCLUDED_UNOTOOLS_CASEROTATE_HXX
#include <sal/config.h>
-
#include <unotools/unotoolsdllapi.h>
+enum class TransliterationFlags;
+
//TODO Use XCharacterClassification::getStringType to determine the current
//(possibly mixed) case type and rotate to the next one
@@ -24,7 +25,7 @@ public:
RotateTransliteration() : nF3ShiftCounter(0)
{
}
- sal_uInt32 getNextMode();
+ TransliterationFlags getNextMode();
};
#endif
diff --git a/include/unotools/searchopt.hxx b/include/unotools/searchopt.hxx
index fe8509b0cb42..6b43219094ac 100644
--- a/include/unotools/searchopt.hxx
+++ b/include/unotools/searchopt.hxx
@@ -24,6 +24,7 @@
#include <memory>
class SvtSearchOptions_Impl;
+enum class TransliterationFlags;
class UNOTOOLS_DLLPUBLIC SvtSearchOptions
{
@@ -38,7 +39,7 @@ public:
void Commit();
- sal_Int32 GetTransliterationFlags() const;
+ TransliterationFlags GetTransliterationFlags() const;
// General Options
diff --git a/include/unotools/textsearch.hxx b/include/unotools/textsearch.hxx
index 145e6607d49c..71048c226f0d 100644
--- a/include/unotools/textsearch.hxx
+++ b/include/unotools/textsearch.hxx
@@ -26,7 +26,6 @@
#include <com/sun/star/uno/Reference.h>
#include <com/sun/star/lang/Locale.hpp>
#include <com/sun/star/util/XTextSearch2.hpp>
-#include <com/sun/star/util/SearchOptions2.hpp>
class CharClass;
@@ -39,6 +38,11 @@ namespace com {
}
}
}
+namespace i18nutil {
+ struct SearchOptions;
+ struct SearchOptions2;
+}
+enum class TransliterationFlags;
namespace utl
{
@@ -107,7 +111,7 @@ private:
int nLEV_LongerZ;
// asian flags - used for the transliteration
- long nTransliterationFlags;
+ TransliterationFlags nTransliterationFlags;
public:
SearchParam( const OUString &rText,
@@ -132,7 +136,7 @@ public:
// signed return for API use
sal_Int32 GetWildEscChar() const { return static_cast<sal_Int32>(m_cWildEscChar); }
- long GetTransliterationFlags() const { return nTransliterationFlags; }
+ TransliterationFlags GetTransliterationFlags() const { return nTransliterationFlags; }
};
// Utility class for searching a substring in a string.
@@ -147,7 +151,7 @@ public:
class UNOTOOLS_DLLPUBLIC TextSearch
{
static css::uno::Reference< css::util::XTextSearch2 >
- getXTextSearch( const css::util::SearchOptions2& rPara );
+ getXTextSearch( const i18nutil::SearchOptions2& rPara );
css::uno::Reference < css::util::XTextSearch2 >
xTextSearch;
@@ -161,7 +165,7 @@ public:
TextSearch( const SearchParam & rPara, LanguageType nLanguage );
TextSearch( const SearchParam & rPara, const CharClass& rCClass );
- TextSearch( const css::util::SearchOptions2& rPara );
+ TextSearch( const i18nutil::SearchOptions2& rPara );
~TextSearch();
/* search in the (selected) text the search string:
@@ -190,7 +194,7 @@ public:
sal_Int32* pStart, sal_Int32* pEnd,
css::util::SearchResult* pRes = nullptr );
- void SetLocale( const css::util::SearchOptions2& rOpt,
+ void SetLocale( const i18nutil::SearchOptions2& rOpt,
const css::lang::Locale& rLocale );
/* replace back references in the replace string by the sub expressions from the search result */
@@ -200,7 +204,7 @@ public:
SearchOptions2 yet. Better fix your module if you want to support
wildcard search.
*/
- static css::util::SearchOptions2 UpgradeToSearchOptions2( const css::util::SearchOptions& rOptions );
+ static i18nutil::SearchOptions2 UpgradeToSearchOptions2( const i18nutil::SearchOptions& rOptions );
};
diff --git a/include/unotools/transliterationwrapper.hxx b/include/unotools/transliterationwrapper.hxx
index 2c2caa785dba..7508386bf3b7 100644
--- a/include/unotools/transliterationwrapper.hxx
+++ b/include/unotools/transliterationwrapper.hxx
@@ -30,6 +30,7 @@ namespace com { namespace sun { namespace star {
class XComponentContext;
}
}}}
+enum class TransliterationFlags;
namespace utl
{
@@ -38,7 +39,7 @@ class UNOTOOLS_DLLPUBLIC TransliterationWrapper
{
css::uno::Reference< css::i18n::XExtendedTransliteration > xTrans;
LanguageTag aLanguageTag;
- sal_uInt32 nType;
+ TransliterationFlags nType;
mutable bool bFirstCall;
TransliterationWrapper( const TransliterationWrapper& ) = delete;
@@ -49,11 +50,11 @@ class UNOTOOLS_DLLPUBLIC TransliterationWrapper
public:
TransliterationWrapper( const css::uno::Reference< css::uno::XComponentContext > & rxContext,
- sal_uInt32 nType );
+ TransliterationFlags nType );
~TransliterationWrapper();
- sal_uInt32 getType() const { return nType; }
+ TransliterationFlags getType() const { return nType; }
bool needLanguageForTheMode() const;
diff --git a/include/vcl/textview.hxx b/include/vcl/textview.hxx
index 5937e9066f44..435295d177fe 100644
--- a/include/vcl/textview.hxx
+++ b/include/vcl/textview.hxx
@@ -47,6 +47,9 @@ namespace com { namespace sun { namespace star {
struct SearchOptions;
}
}}}
+namespace i18nutil {
+ struct SearchOptions;
+}
struct ImpTextView;
@@ -204,8 +207,8 @@ public:
bool MatchGroup();
- bool Search( const css::util::SearchOptions& rSearchOptions, bool bForward );
- sal_uInt16 Replace( const css::util::SearchOptions& rSearchOptions, bool bAll, bool bForward );
+ bool Search( const i18nutil::SearchOptions& rSearchOptions, bool bForward );
+ sal_uInt16 Replace( const i18nutil::SearchOptions& rSearchOptions, bool bAll, bool bForward );
bool IndentBlock();
bool UnindentBlock();
diff --git a/include/vcl/xtextedt.hxx b/include/vcl/xtextedt.hxx
index 3db5f6c7e313..23b0d05bf336 100644
--- a/include/vcl/xtextedt.hxx
+++ b/include/vcl/xtextedt.hxx
@@ -40,7 +40,7 @@ public:
virtual ~ExtTextEngine() override;
TextSelection MatchGroup( const TextPaM& rCursor ) const;
- bool Search( TextSelection& rSel, const css::util::SearchOptions& rSearchOptions, bool bForward = true );
+ bool Search( TextSelection& rSel, const i18nutil::SearchOptions& rSearchOptions, bool bForward = true );
};
#endif // INCLUDED_VCL_XTEXTEDT_HXX
diff --git a/reportdesign/source/ui/inspection/GeometryHandler.cxx b/reportdesign/source/ui/inspection/GeometryHandler.cxx
index bb111ce12f8f..32c4801bc250 100644
--- a/reportdesign/source/ui/inspection/GeometryHandler.cxx
+++ b/reportdesign/source/ui/inspection/GeometryHandler.cxx
@@ -32,6 +32,7 @@
#include "uistrings.hrc"
#include "reportformula.hxx"
+#include <i18nutil/searchopt.hxx>
#include <unotools/textsearch.hxx>
#include <unotools/configmgr.hxx>
@@ -58,7 +59,6 @@
#include <com/sun/star/sdb/FilterDialog.hpp>
#include <com/sun/star/sdb/SQLContext.hpp>
#include <com/sun/star/sdbc/XConnection.hpp>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/util/SearchAlgorithms2.hpp>
#include <com/sun/star/util/MeasureUnit.hpp>
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
@@ -1889,7 +1889,7 @@ bool GeometryHandler::impl_isDefaultFunction_nothrow( const uno::Reference< repo
try
{
const OUString sFormula( _xFunction->getFormula() );
- util::SearchOptions2 aSearchOptions;
+ i18nutil::SearchOptions2 aSearchOptions;
aSearchOptions.AlgorithmType2 = util::SearchAlgorithms2::REGEXP;
aSearchOptions.searchFlag = 0x00000100;
::std::vector< DefaultFunction >::const_iterator aIter = m_aDefaultFunctions.begin();
@@ -2108,7 +2108,7 @@ bool GeometryHandler::impl_isCounterFunction_throw(const OUString& _sQuotedFunct
if ( aInitalFormula.IsPresent )
{
const OUString sFormula( aFind.first->second.first->getFormula() );
- util::SearchOptions2 aSearchOptions;
+ i18nutil::SearchOptions2 aSearchOptions;
aSearchOptions.AlgorithmType2 = util::SearchAlgorithms2::REGEXP;
aSearchOptions.searchFlag = 0x00000100;
aSearchOptions.searchString = m_aCounterFunction.m_sSearchString;
diff --git a/sc/inc/document.hxx b/sc/inc/document.hxx
index a18b2eac1314..4b05b6ada4ca 100644
--- a/sc/inc/document.hxx
+++ b/sc/inc/document.hxx
@@ -1496,7 +1496,7 @@ public:
InsertDeleteFlags nFlags, ScPasteFunc nFunction,
bool bSkipEmpty, bool bAsLink );
- void TransliterateText( const ScMarkData& rMultiMark, sal_Int32 nType );
+ void TransliterateText( const ScMarkData& rMultiMark, TransliterationFlags nType );
SC_DLLPUBLIC void InitUndo( ScDocument* pSrcDoc, SCTAB nTab1, SCTAB nTab2,
bool bColInfo = false, bool bRowInfo = false );
diff --git a/sc/inc/global.hxx b/sc/inc/global.hxx
index 77f929f0b1da..dd3fadf06bbf 100644
--- a/sc/inc/global.hxx
+++ b/sc/inc/global.hxx
@@ -37,12 +37,10 @@ struct ScCalcConfig;
enum class SvtScriptType;
enum class FormulaError : sal_uInt16;
-#define SC_COLLATOR_IGNORES ( \
- css::i18n::CollatorOptions::CollatorOptions_IGNORE_CASE )
+#define SC_COLLATOR_IGNORES css::i18n::CollatorOptions::CollatorOptions_IGNORE_CASE
-#define SC_TRANSLITERATION_IGNORECASE ( \
- css::i18n::TransliterationModules_IGNORE_CASE )
-#define SC_TRANSLITERATION_CASESENSE 0
+#define SC_TRANSLITERATION_IGNORECASE TransliterationFlags::IGNORE_CASE
+#define SC_TRANSLITERATION_CASESENSE TransliterationFlags::NONE
// Calc has lots of names...
// Clipboard names are in so3/soapp.hxx now
diff --git a/sc/inc/viewutil.hxx b/sc/inc/viewutil.hxx
index 2819ace34952..af37b9620edb 100644
--- a/sc/inc/viewutil.hxx
+++ b/sc/inc/viewutil.hxx
@@ -27,7 +27,6 @@ class SfxBindings;
class SvxFontItem;
class SfxViewShell;
class SfxViewFrame;
-
class ScChangeAction;
class ScChangeViewSettings;
class ScDocument;
@@ -35,6 +34,9 @@ class ScAddress;
class ScRange;
class ScMarkData;
enum class SvtScriptType;
+enum class TransliterationFlags;
+
+
enum class ScUpdateMode { All, Marks };
class SC_DLLPUBLIC ScViewUtil
@@ -54,7 +56,7 @@ public:
static sal_uInt16 GetEffLanguage( ScDocument* pDoc, const ScAddress& rPos );
- static sal_Int32 GetTransliterationType( sal_uInt16 nSlotID );
+ static TransliterationFlags GetTransliterationType( sal_uInt16 nSlotID );
static bool HasFiltered( const ScRange& rRange, ScDocument* pDoc );
/** Fit a range to cover nRows number of unfiltered rows.
diff --git a/sc/qa/unit/ucalc.cxx b/sc/qa/unit/ucalc.cxx
index c715c5e76675..cf0e984ed83d 100644
--- a/sc/qa/unit/ucalc.cxx
+++ b/sc/qa/unit/ucalc.cxx
@@ -94,8 +94,6 @@
#include <utility>
#include <vector>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-
struct TestImpl
{
ScDocShellRef m_xDocShell;
@@ -5912,7 +5910,7 @@ void Test::testTransliterateText()
aMark.SetMarkArea(ScRange(0,0,0,0,2,0));
ScDocFunc& rFunc = getDocShell().GetDocFunc();
rFunc.TransliterateText(
- aMark, i18n::TransliterationModules_LOWERCASE_UPPERCASE, true);
+ aMark, TransliterationFlags::LOWERCASE_UPPERCASE, true);
CPPUNIT_ASSERT_EQUAL(OUString("MIKE"), m_pDoc->GetString(ScAddress(0,0,0)));
CPPUNIT_ASSERT_EQUAL(OUString("NOAH"), m_pDoc->GetString(ScAddress(0,1,0)));
diff --git a/sc/source/core/data/documen8.cxx b/sc/source/core/data/documen8.cxx
index 30bcf9833114..59c611e62b5c 100644
--- a/sc/source/core/data/documen8.cxx
+++ b/sc/source/core/data/documen8.cxx
@@ -45,8 +45,6 @@
#include <vcl/virdev.hxx>
#include <vcl/msgbox.hxx>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
-
#include "inputopt.hxx"
#include "global.hxx"
#include "table.hxx"
@@ -1184,7 +1182,7 @@ SfxBindings* ScDocument::GetViewBindings()
return nullptr;
}
-void ScDocument::TransliterateText( const ScMarkData& rMultiMark, sal_Int32 nType )
+void ScDocument::TransliterateText( const ScMarkData& rMultiMark, TransliterationFlags nType )
{
OSL_ENSURE( rMultiMark.IsMultiMarked(), "TransliterateText: no selection" );
@@ -1216,7 +1214,7 @@ void ScDocument::TransliterateText( const ScMarkData& rMultiMark, sal_Int32 nTyp
// for performance reasons.
if (aCell.meType == CELLTYPE_EDIT ||
(aCell.meType == CELLTYPE_STRING &&
- ( nType == i18n::TransliterationModulesExtra::SENTENCE_CASE || nType == i18n::TransliterationModulesExtra::TITLE_CASE)))
+ ( nType == TransliterationFlags::SENTENCE_CASE || nType == TransliterationFlags::TITLE_CASE)))
{
if (!pEngine)
pEngine.reset(new ScFieldEditEngine(this, GetEnginePool(), GetEditPool()));
diff --git a/sc/source/core/data/table6.cxx b/sc/source/core/data/table6.cxx
index 7cf155714c8f..2d38b7b3b606 100644
--- a/sc/source/core/data/table6.cxx
+++ b/sc/source/core/data/table6.cxx
@@ -17,8 +17,6 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-
#include <unotools/textsearch.hxx>
#include <svl/srchitem.hxx>
#include <editeng/editobj.hxx>
@@ -800,7 +798,7 @@ bool ScTable::SearchAndReplace(
else
{
// SearchParam no longer needed - SearchOptions contains all settings
- css::util::SearchOptions2 aSearchOptions = rSearchItem.GetSearchOptions();
+ i18nutil::SearchOptions2 aSearchOptions = rSearchItem.GetSearchOptions();
aSearchOptions.Locale = *ScGlobal::GetLocale();
if (aSearchOptions.searchString.isEmpty() || ( rSearchItem.GetRegExp() && aSearchOptions.searchString == "^$" ) )
@@ -814,8 +812,8 @@ bool ScTable::SearchAndReplace(
// This is also done in SvxSearchDialog CommandHdl, but not in API object.
if ( !rSearchItem.IsUseAsianOptions() )
aSearchOptions.transliterateFlags &=
- ( css::i18n::TransliterationModules_IGNORE_CASE |
- css::i18n::TransliterationModules_IGNORE_WIDTH );
+ ( TransliterationFlags::IGNORE_CASE |
+ TransliterationFlags::IGNORE_WIDTH );
pSearchText = new utl::TextSearch( aSearchOptions );
diff --git a/sc/source/core/tool/cellkeytranslator.cxx b/sc/source/core/tool/cellkeytranslator.cxx
index 013e640c6f86..8ccae176afd1 100644
--- a/sc/source/core/tool/cellkeytranslator.cxx
+++ b/sc/source/core/tool/cellkeytranslator.cxx
@@ -21,11 +21,10 @@
#include <comphelper/processfactory.hxx>
#include <i18nlangtag/mslangid.hxx>
#include <i18nlangtag/lang.h>
+#include <i18nutil/transliteration.hxx>
#include <rtl/ustring.hxx>
#include <unotools/syslocale.hxx>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-
using ::com::sun::star::uno::Sequence;
using ::std::list;
@@ -171,7 +170,7 @@ void ScCellKeywordTranslator::transKeyword(OUString& rName, const lang::Locale*
ScCellKeywordTranslator::ScCellKeywordTranslator() :
maTransWrapper( ::comphelper::getProcessComponentContext(),
- i18n::TransliterationModules_LOWERCASE_UPPERCASE )
+ TransliterationFlags::LOWERCASE_UPPERCASE )
{
init();
}
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 626c9b34a955..57c15865716c 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -3338,7 +3338,7 @@ void ScInterpreter::ScChar()
static OUString lcl_convertIntoHalfWidth( const OUString & rStr )
{
static bool bFirstASCCall = true;
- static utl::TransliterationWrapper aTrans( ::comphelper::getProcessComponentContext(), 0 );
+ static utl::TransliterationWrapper aTrans( ::comphelper::getProcessComponentContext(), TransliterationFlags::NONE );
if( bFirstASCCall )
{
@@ -3352,7 +3352,7 @@ static OUString lcl_convertIntoHalfWidth( const OUString & rStr )
static OUString lcl_convertIntoFullWidth( const OUString & rStr )
{
static bool bFirstJISCall = true;
- static utl::TransliterationWrapper aTrans( ::comphelper::getProcessComponentContext(), 0 );
+ static utl::TransliterationWrapper aTrans( ::comphelper::getProcessComponentContext(), TransliterationFlags::NONE );
if( bFirstJISCall )
{
diff --git a/sc/source/ui/docshell/docfunc.cxx b/sc/source/ui/docshell/docfunc.cxx
index 5273985bd960..f2d85bcfaa5b 100644
--- a/sc/source/ui/docshell/docfunc.cxx
+++ b/sc/source/ui/docshell/docfunc.cxx
@@ -714,7 +714,7 @@ bool ScDocFunc::DeleteCell(
return true;
}
-bool ScDocFunc::TransliterateText( const ScMarkData& rMark, sal_Int32 nType,
+bool ScDocFunc::TransliterateText( const ScMarkData& rMark, TransliterationFlags nType,
bool bApi )
{
ScDocShellModificator aModificator( rDocShell );
diff --git a/sc/source/ui/drawfunc/drtxtob.cxx b/sc/source/ui/drawfunc/drtxtob.cxx
index 34e2f3b81637..7d35de73891d 100644
--- a/sc/source/ui/drawfunc/drtxtob.cxx
+++ b/sc/source/ui/drawfunc/drtxtob.cxx
@@ -1188,8 +1188,8 @@ void ScDrawTextObjectBar::GetAttrState( SfxItemSet& rDestSet )
void ScDrawTextObjectBar::ExecuteTrans( SfxRequest& rReq )
{
- sal_Int32 nType = ScViewUtil::GetTransliterationType( rReq.GetSlot() );
- if ( nType )
+ TransliterationFlags nType = ScViewUtil::GetTransliterationType( rReq.GetSlot() );
+ if ( nType != TransliterationFlags::NONE )
{
ScDrawView* pView = pViewData->GetScDrawView();
OutlinerView* pOutView = pView->GetTextEditOutlinerView();
diff --git a/sc/source/ui/inc/docfunc.hxx b/sc/source/ui/inc/docfunc.hxx
index 0c5f19899d84..d3ec7e935ef1 100644
--- a/sc/source/ui/inc/docfunc.hxx
+++ b/sc/source/ui/inc/docfunc.hxx
@@ -46,11 +46,10 @@ struct ScCellMergeOption;
class ScConditionalFormat;
class ScConditionalFormatList;
class ScUndoRemoveMerge;
+enum class TransliterationFlags;
namespace sc {
-
-struct ColRowSpan;
-
+ struct ColRowSpan;
}
class ScDocFunc
@@ -92,7 +91,7 @@ public:
bool DeleteCell(
const ScAddress& rPos, const ScMarkData& rMark, InsertDeleteFlags nFlags, bool bRecord );
- bool TransliterateText( const ScMarkData& rMark, sal_Int32 nType,
+ bool TransliterateText( const ScMarkData& rMark, TransliterationFlags nType,
bool bApi );
bool SetNormalString( bool& o_rbNumFmtSet, const ScAddress& rPos, const OUString& rText, bool bApi );
diff --git a/sc/source/ui/inc/undoblk.hxx b/sc/source/ui/inc/undoblk.hxx
index 4be768e47de1..76e4433d7e80 100644
--- a/sc/source/ui/inc/undoblk.hxx
+++ b/sc/source/ui/inc/undoblk.hxx
@@ -846,7 +846,7 @@ class ScUndoTransliterate: public ScBlockUndo
{
public:
ScUndoTransliterate( ScDocShell* pNewDocShell, const ScMarkData& rMark,
- ScDocument* pNewUndoDoc, sal_Int32 nType );
+ ScDocument* pNewUndoDoc, TransliterationFlags nType );
virtual ~ScUndoTransliterate() override;
virtual void Undo() override;
@@ -860,7 +860,8 @@ private:
ScMarkData aMarkData;
std::unique_ptr<ScDocument>
pUndoDoc;
- sal_Int32 nTransliterationType;
+ TransliterationFlags
+ nTransliterationType;
};
class ScUndoClearItems: public ScBlockUndo
diff --git a/sc/source/ui/inc/viewfunc.hxx b/sc/source/ui/inc/viewfunc.hxx
index 59f7af27de2c..57f9a277d369 100644
--- a/sc/source/ui/inc/viewfunc.hxx
+++ b/sc/source/ui/inc/viewfunc.hxx
@@ -231,7 +231,7 @@ public:
void FillCrossDblClick();
void ConvertFormulaToValue();
- void TransliterateText( sal_Int32 nType );
+ void TransliterateText( TransliterationFlags nType );
ScAutoFormatData* CreateAutoFormatData();
void AutoFormat( sal_uInt16 nFormatNo );
diff --git a/sc/source/ui/undo/undoblk.cxx b/sc/source/ui/undo/undoblk.cxx
index 46b5d47fa3ee..8ab8095a52da 100644
--- a/sc/source/ui/undo/undoblk.cxx
+++ b/sc/source/ui/undo/undoblk.cxx
@@ -1913,7 +1913,7 @@ bool ScUndoIndent::CanRepeat(SfxRepeatTarget& rTarget) const
}
ScUndoTransliterate::ScUndoTransliterate( ScDocShell* pNewDocShell, const ScMarkData& rMark,
- ScDocument* pNewUndoDoc, sal_Int32 nType ) :
+ ScDocument* pNewUndoDoc, TransliterationFlags nType ) :
ScBlockUndo( pNewDocShell, lcl_GetMultiMarkRange(rMark), SC_UNDO_AUTOHEIGHT ),
aMarkData( rMark ),
pUndoDoc( pNewUndoDoc ),
diff --git a/sc/source/ui/view/cellsh1.cxx b/sc/source/ui/view/cellsh1.cxx
index 88c6fbc49db9..a6810dbd125d 100644
--- a/sc/source/ui/view/cellsh1.cxx
+++ b/sc/source/ui/view/cellsh1.cxx
@@ -98,8 +98,6 @@
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <cppuhelper/bootstrap.hxx>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
#include <memory>
@@ -2593,8 +2591,8 @@ void ScCellShell::ExecuteEdit( SfxRequest& rReq )
void ScCellShell::ExecuteTrans( SfxRequest& rReq )
{
- sal_Int32 nType = ScViewUtil::GetTransliterationType( rReq.GetSlot() );
- if ( nType )
+ TransliterationFlags nType = ScViewUtil::GetTransliterationType( rReq.GetSlot() );
+ if ( nType != TransliterationFlags::NONE )
{
GetViewData()->GetView()->TransliterateText( nType );
rReq.Done();
diff --git a/sc/source/ui/view/editsh.cxx b/sc/source/ui/view/editsh.cxx
index 49d20e7ab526..03a0c6d15b9c 100644
--- a/sc/source/ui/view/editsh.cxx
+++ b/sc/source/ui/view/editsh.cxx
@@ -1287,8 +1287,8 @@ void ScEditShell::GetUndoState(SfxItemSet &rSet)
void ScEditShell::ExecuteTrans( SfxRequest& rReq )
{
- sal_Int32 nType = ScViewUtil::GetTransliterationType( rReq.GetSlot() );
- if ( nType )
+ TransliterationFlags nType = ScViewUtil::GetTransliterationType( rReq.GetSlot() );
+ if ( nType != TransliterationFlags::NONE )
{
ScInputHandler* pHdl = GetMyInputHdl();
assert(pHdl && "no ScInputHandler");
diff --git a/sc/source/ui/view/viewfun2.cxx b/sc/source/ui/view/viewfun2.cxx
index 0965e89b8b2b..e0d381df6419 100644
--- a/sc/source/ui/view/viewfun2.cxx
+++ b/sc/source/ui/view/viewfun2.cxx
@@ -1608,7 +1608,7 @@ void ScViewFunc::ConvertFormulaToValue()
pDocSh->PostPaint(aRange, PaintPartFlags::Grid);
}
-void ScViewFunc::TransliterateText( sal_Int32 nType )
+void ScViewFunc::TransliterateText( TransliterationFlags nType )
{
ScMarkData aFuncMark = GetViewData().GetMarkData();
if ( !aFuncMark.IsMarked() && !aFuncMark.IsMultiMarked() )
diff --git a/sc/source/ui/view/viewutil.cxx b/sc/source/ui/view/viewutil.cxx
index fcd0e5c621a3..bd4afc6e47e3 100644
--- a/sc/source/ui/view/viewutil.cxx
+++ b/sc/source/ui/view/viewutil.cxx
@@ -37,9 +37,6 @@
#include <svl/stritem.hxx>
#include <svl/eitem.hxx>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
-
#include "viewutil.hxx"
#include "global.hxx"
#include "chgtrack.hxx"
@@ -101,37 +98,37 @@ sal_uInt16 ScViewUtil::GetEffLanguage( ScDocument* pDoc, const ScAddress& rPos )
return eLnge;
}
-sal_Int32 ScViewUtil::GetTransliterationType( sal_uInt16 nSlotID )
+TransliterationFlags ScViewUtil::GetTransliterationType( sal_uInt16 nSlotID )
{
- sal_Int32 nType = 0;
+ TransliterationFlags nType = TransliterationFlags::NONE;
switch ( nSlotID )
{
case SID_TRANSLITERATE_SENTENCE_CASE:
- nType = css::i18n::TransliterationModulesExtra::SENTENCE_CASE;
+ nType = TransliterationFlags::SENTENCE_CASE;
break;
case SID_TRANSLITERATE_TITLE_CASE:
- nType = css::i18n::TransliterationModulesExtra::TITLE_CASE;
+ nType = TransliterationFlags::TITLE_CASE;
break;
case SID_TRANSLITERATE_TOGGLE_CASE:
- nType = css::i18n::TransliterationModulesExtra::TOGGLE_CASE;
+ nType = TransliterationFlags::TOGGLE_CASE;
break;
case SID_TRANSLITERATE_UPPER:
- nType = css::i18n::TransliterationModules_LOWERCASE_UPPERCASE;
+ nType = TransliterationFlags::LOWERCASE_UPPERCASE;
break;
case SID_TRANSLITERATE_LOWER:
- nType = css::i18n::TransliterationModules_UPPERCASE_LOWERCASE;
+ nType = TransliterationFlags::UPPERCASE_LOWERCASE;
break;
case SID_TRANSLITERATE_HALFWIDTH:
- nType = css::i18n::TransliterationModules_FULLWIDTH_HALFWIDTH;
+ nType = TransliterationFlags::FULLWIDTH_HALFWIDTH;
break;
case SID_TRANSLITERATE_FULLWIDTH:
- nType = css::i18n::TransliterationModules_HALFWIDTH_FULLWIDTH;
+ nType = TransliterationFlags::HALFWIDTH_FULLWIDTH;
break;
case SID_TRANSLITERATE_HIRAGANA:
- nType = css::i18n::TransliterationModules_KATAKANA_HIRAGANA;
+ nType = TransliterationFlags::KATAKANA_HIRAGANA;
break;
case SID_TRANSLITERATE_KATAGANA:
- nType = css::i18n::TransliterationModules_HIRAGANA_KATAKANA;
+ nType = TransliterationFlags::HIRAGANA_KATAKANA;
break;
}
return nType;
diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
index 59795acc7ed2..fd9c2b9089fd 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -20,9 +20,8 @@
#include <com/sun/star/presentation/XPresentation2.hpp>
#include <com/sun/star/form/FormButtonType.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
#include <i18nutil/unicode.hxx>
+#include <i18nutil/transliteration.hxx>
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/uno/Any.hxx>
@@ -1344,37 +1343,36 @@ void DrawViewShell::FuSupport(SfxRequest& rReq)
OutlinerView* pOLV = GetView()->GetTextEditOutlinerView();
if( pOLV )
{
- using namespace ::com::sun::star::i18n;
- sal_Int32 nType = 0;
+ TransliterationFlags nType = TransliterationFlags::NONE;
switch( nSId )
{
case SID_TRANSLITERATE_SENTENCE_CASE:
- nType = TransliterationModulesExtra::SENTENCE_CASE;
+ nType = TransliterationFlags::SENTENCE_CASE;
break;
case SID_TRANSLITERATE_TITLE_CASE:
- nType = TransliterationModulesExtra::TITLE_CASE;
+ nType = TransliterationFlags::TITLE_CASE;
break;
case SID_TRANSLITERATE_TOGGLE_CASE:
- nType = TransliterationModulesExtra::TOGGLE_CASE;
+ nType = TransliterationFlags::TOGGLE_CASE;
break;
case SID_TRANSLITERATE_UPPER:
- nType = TransliterationModules_LOWERCASE_UPPERCASE;
+ nType = TransliterationFlags::LOWERCASE_UPPERCASE;
break;
case SID_TRANSLITERATE_LOWER:
- nType = TransliterationModules_UPPERCASE_LOWERCASE;
+ nType = TransliterationFlags::UPPERCASE_LOWERCASE;
break;
case SID_TRANSLITERATE_HALFWIDTH:
- nType = TransliterationModules_FULLWIDTH_HALFWIDTH;
+ nType = TransliterationFlags::FULLWIDTH_HALFWIDTH;
break;
case SID_TRANSLITERATE_FULLWIDTH:
- nType = TransliterationModules_HALFWIDTH_FULLWIDTH;
+ nType = TransliterationFlags::HALFWIDTH_FULLWIDTH;
break;
case SID_TRANSLITERATE_HIRAGANA:
- nType = TransliterationModules_KATAKANA_HIRAGANA;
+ nType = TransliterationFlags::KATAKANA_HIRAGANA;
break;
case SID_TRANSLITERATE_KATAGANA:
- nType = TransliterationModules_HIRAGANA_KATAKANA;
+ nType = TransliterationFlags::HIRAGANA_KATAKANA;
break;
}
diff --git a/sd/source/ui/view/outlnvsh.cxx b/sd/source/ui/view/outlnvsh.cxx
index 3c1903637ca8..b499eb02a334 100644
--- a/sd/source/ui/view/outlnvsh.cxx
+++ b/sd/source/ui/view/outlnvsh.cxx
@@ -51,8 +51,6 @@
#include <svx/svdorect.hxx>
#include <sot/formats.hxx>
#include <com/sun/star/linguistic2/XThesaurus.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
#include <editeng/unolingu.hxx>
#include <comphelper/processfactory.hxx>
#include <editeng/outlobj.hxx>
@@ -593,37 +591,36 @@ void OutlineViewShell::FuSupport(SfxRequest &rReq)
OutlinerView* pOLV = pOlView ? pOlView->GetViewByWindow( GetActiveWindow() ) : nullptr;
if( pOLV )
{
- using namespace ::com::sun::star::i18n;
- sal_Int32 nType = 0;
+ TransliterationFlags nType = TransliterationFlags::NONE;
switch( nSlot )
{
case SID_TRANSLITERATE_SENTENCE_CASE:
- nType = TransliterationModulesExtra::SENTENCE_CASE;
+ nType = TransliterationFlags::SENTENCE_CASE;
break;
case SID_TRANSLITERATE_TITLE_CASE:
- nType = TransliterationModulesExtra::TITLE_CASE;
+ nType = TransliterationFlags::TITLE_CASE;
break;
case SID_TRANSLITERATE_TOGGLE_CASE:
- nType = TransliterationModulesExtra::TOGGLE_CASE;
+ nType = TransliterationFlags::TOGGLE_CASE;
break;
case SID_TRANSLITERATE_UPPER:
- nType = TransliterationModules_LOWERCASE_UPPERCASE;
+ nType = TransliterationFlags::LOWERCASE_UPPERCASE;
break;
case SID_TRANSLITERATE_LOWER:
- nType = TransliterationModules_UPPERCASE_LOWERCASE;
+ nType = TransliterationFlags::UPPERCASE_LOWERCASE;
break;
case SID_TRANSLITERATE_HALFWIDTH:
- nType = TransliterationModules_FULLWIDTH_HALFWIDTH;
+ nType = TransliterationFlags::FULLWIDTH_HALFWIDTH;
break;
case SID_TRANSLITERATE_FULLWIDTH:
- nType = TransliterationModules_HALFWIDTH_FULLWIDTH;
+ nType = TransliterationFlags::HALFWIDTH_FULLWIDTH;
break;
case SID_TRANSLITERATE_HIRAGANA:
- nType = TransliterationModules_KATAKANA_HIRAGANA;
+ nType = TransliterationFlags::KATAKANA_HIRAGANA;
break;
case SID_TRANSLITERATE_KATAGANA:
- nType = TransliterationModules_HIRAGANA_KATAKANA;
+ nType = TransliterationFlags::HIRAGANA_KATAKANA;
break;
}
diff --git a/svl/source/items/srchitem.cxx b/svl/source/items/srchitem.cxx
index d60f07b6645b..32806948fc29 100644
--- a/svl/source/items/srchitem.cxx
+++ b/svl/source/items/srchitem.cxx
@@ -33,12 +33,10 @@
#include <com/sun/star/lang/Locale.hpp>
#include <svl/memberid.hrc>
#include <i18nlangtag/languagetag.hxx>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
using namespace utl;
using namespace com::sun::star;
using namespace com::sun::star::beans;
-using namespace com::sun::star::i18n;
using namespace com::sun::star::uno;
using namespace com::sun::star::util;
@@ -105,14 +103,14 @@ SvxSearchItem::SvxSearchItem( const sal_uInt16 nId ) :
SfxPoolItem( nId ),
ConfigItem( CFG_ROOT_NODE ),
- m_aSearchOpt ( SearchAlgorithms_ABSOLUTE,
+ m_aSearchOpt ( SearchAlgorithms_ABSOLUTE,
SearchFlags::LEV_RELAXED,
OUString(),
OUString(),
lang::Locale(),
- 2, 2, 2,
- TransliterationModules_IGNORE_CASE,
- SearchAlgorithms2::ABSOLUTE, '\\' ),
+ 2, 2, 2,
+ TransliterationFlags::IGNORE_CASE,
+ SearchAlgorithms2::ABSOLUTE, '\\' ),
m_eFamily ( SfxStyleFamily::Para ),
m_nCommand ( SvxSearchCmd::FIND ),
m_nCellType ( SvxSearchCellType::FORMULA ),
@@ -155,54 +153,53 @@ SvxSearchItem::SvxSearchItem( const sal_uInt16 nId ) :
if (aOpt.IsWholeWordsOnly())
m_aSearchOpt.searchFlag |= SearchFlags::NORM_WORD_ONLY;
- sal_Int32 &rFlags = m_aSearchOpt.transliterateFlags;
+ TransliterationFlags& rFlags = m_aSearchOpt.transliterateFlags;
if (!aOpt.IsMatchCase())
- rFlags |= TransliterationModules_IGNORE_CASE;
+ rFlags |= TransliterationFlags::IGNORE_CASE;
if ( aOpt.IsMatchFullHalfWidthForms())
- rFlags |= TransliterationModules_IGNORE_WIDTH;
+ rFlags |= TransliterationFlags::IGNORE_WIDTH;
if ( aOpt.IsIgnoreDiacritics_CTL())
- rFlags |= TransliterationModulesExtra::IGNORE_DIACRITICS_CTL ;
+ rFlags |= TransliterationFlags::IGNORE_DIACRITICS_CTL ;
if ( aOpt.IsIgnoreKashida_CTL())
- rFlags |= TransliterationModulesExtra::IGNORE_KASHIDA_CTL ;
+ rFlags |= TransliterationFlags::IGNORE_KASHIDA_CTL ;
if ( m_bAsianOptions )
{
if ( aOpt.IsMatchHiraganaKatakana())
- rFlags |= TransliterationModules_IGNORE_KANA;
+ rFlags |= TransliterationFlags::IGNORE_KANA;
if ( aOpt.IsMatchContractions())
- rFlags |= TransliterationModules_ignoreSize_ja_JP;
+ rFlags |= TransliterationFlags::ignoreSize_ja_JP;
if ( aOpt.IsMatchMinusDashChoon())
- rFlags |= TransliterationModules_ignoreMinusSign_ja_JP;
+ rFlags |= TransliterationFlags::ignoreMinusSign_ja_JP;
if ( aOpt.IsMatchRepeatCharMarks())
- rFlags |= TransliterationModules_ignoreIterationMark_ja_JP;
+ rFlags |= TransliterationFlags::ignoreIterationMark_ja_JP;
if ( aOpt.IsMatchVariantFormKanji())
- rFlags |= TransliterationModules_ignoreTraditionalKanji_ja_JP;
+ rFlags |= TransliterationFlags::ignoreTraditionalKanji_ja_JP;
if ( aOpt.IsMatchOldKanaForms())
- rFlags |= TransliterationModules_ignoreTraditionalKana_ja_JP;
+ rFlags |= TransliterationFlags::ignoreTraditionalKana_ja_JP;
if ( aOpt.IsMatchDiziDuzu())
- rFlags |= TransliterationModules_ignoreZiZu_ja_JP;
+ rFlags |= TransliterationFlags::ignoreZiZu_ja_JP;
if ( aOpt.IsMatchBavaHafa())
- rFlags |= TransliterationModules_ignoreBaFa_ja_JP;
+ rFlags |= TransliterationFlags::ignoreBaFa_ja_JP;
if ( aOpt.IsMatchTsithichiDhizi())
- rFlags |= TransliterationModules_ignoreTiJi_ja_JP;
+ rFlags |= TransliterationFlags::ignoreTiJi_ja_JP;
if ( aOpt.IsMatchHyuiyuByuvyu())
- rFlags |= TransliterationModules_ignoreHyuByu_ja_JP;
+ rFlags |= TransliterationFlags::ignoreHyuByu_ja_JP;
if ( aOpt.IsMatchSesheZeje())
- rFlags |= TransliterationModules_ignoreSeZe_ja_JP;
+ rFlags |= TransliterationFlags::ignoreSeZe_ja_JP;
if ( aOpt.IsMatchIaiya())
- rFlags |= TransliterationModules_ignoreIandEfollowedByYa_ja_JP;
+ rFlags |= TransliterationFlags::ignoreIandEfollowedByYa_ja_JP;
if ( aOpt.IsMatchKiku())
- rFlags |= TransliterationModules_ignoreKiKuFollowedBySa_ja_JP;
+ rFlags |= TransliterationFlags::ignoreKiKuFollowedBySa_ja_JP;
if ( aOpt.IsIgnorePunctuation())
- rFlags |= TransliterationModules_ignoreSeparator_ja_JP;
+ rFlags |= TransliterationFlags::ignoreSeparator_ja_JP;
if ( aOpt.IsIgnoreWhitespace())
- rFlags |= TransliterationModules_ignoreSpace_ja_JP;
+ rFlags |= TransliterationFlags::ignoreSpace_ja_JP;
if ( aOpt.IsIgnoreProlongedSoundMark())
- rFlags |= TransliterationModules_ignoreProlongedSoundMark_ja_JP;
+ rFlags |= TransliterationFlags::ignoreProlongedSoundMark_ja_JP;
if ( aOpt.IsIgnoreMiddleDot())
- rFlags |= TransliterationModules_ignoreMiddleDot_ja_JP;
+ rFlags |= TransliterationFlags::ignoreMiddleDot_ja_JP;
}
-
}
@@ -244,7 +241,7 @@ SfxPoolItem* SvxSearchItem::Clone( SfxItemPool *) const
//! used below
-static bool equalsWithoutLocale( const SearchOptions2& rItem1, const SearchOptions2& rItem2 )
+static bool equalsWithoutLocale( const i18nutil::SearchOptions2& rItem1, const i18nutil::SearchOptions2& rItem2 )
{
return rItem1.algorithmType == rItem2.algorithmType &&
rItem1.searchFlag == rItem2.searchFlag &&
@@ -307,9 +304,9 @@ void SvxSearchItem::ImplCommit()
void SvxSearchItem::SetMatchFullHalfWidthForms( bool bVal )
{
if (bVal)
- m_aSearchOpt.transliterateFlags |= TransliterationModules_IGNORE_WIDTH;
+ m_aSearchOpt.transliterateFlags |= TransliterationFlags::IGNORE_WIDTH;
else
- m_aSearchOpt.transliterateFlags &= ~TransliterationModules_IGNORE_WIDTH;
+ m_aSearchOpt.transliterateFlags &= ~TransliterationFlags::IGNORE_WIDTH;
}
@@ -325,9 +322,9 @@ void SvxSearchItem::SetWordOnly( bool bVal )
void SvxSearchItem::SetExact( bool bVal )
{
if (!bVal)
- m_aSearchOpt.transliterateFlags |= TransliterationModules_IGNORE_CASE;
+ m_aSearchOpt.transliterateFlags |= TransliterationFlags::IGNORE_CASE;
else
- m_aSearchOpt.transliterateFlags &= ~TransliterationModules_IGNORE_CASE;
+ m_aSearchOpt.transliterateFlags &= ~TransliterationFlags::IGNORE_CASE;
}
@@ -400,7 +397,7 @@ void SvxSearchItem::SetLevenshtein( bool bVal )
}
-void SvxSearchItem::SetTransliterationFlags( sal_Int32 nFlags )
+void SvxSearchItem::SetTransliterationFlags( TransliterationFlags nFlags )
{
m_aSearchOpt.transliterateFlags = nFlags;
}
@@ -414,7 +411,7 @@ bool SvxSearchItem::QueryValue( css::uno::Any& rVal, sal_uInt8 nMemberId ) const
{
Sequence< PropertyValue > aSeq( SRCH_PARAMS );
aSeq[0].Name = SRCH_PARA_OPTIONS;
- aSeq[0].Value <<= m_aSearchOpt;
+ aSeq[0].Value <<= m_aSearchOpt.toUnoSearchOptions2();
aSeq[1].Name = SRCH_PARA_FAMILY;
aSeq[1].Value <<= sal_Int16( m_eFamily );
aSeq[2].Name = SRCH_PARA_COMMAND;
@@ -481,7 +478,7 @@ bool SvxSearchItem::QueryValue( css::uno::Any& rVal, sal_uInt8 nMemberId ) const
case MID_SEARCH_INSERTEDCHARS:
rVal <<= m_aSearchOpt.insertedChars; break;
case MID_SEARCH_TRANSLITERATEFLAGS:
- rVal <<= m_aSearchOpt.transliterateFlags; break;
+ rVal <<= (sal_Int32)m_aSearchOpt.transliterateFlags; break;
case MID_SEARCH_LOCALE:
{
sal_Int16 nLocale;
@@ -519,8 +516,12 @@ bool SvxSearchItem::PutValue( const css::uno::Any& rVal, sal_uInt8 nMemberId )
{
if ( aSeq[i].Name == SRCH_PARA_OPTIONS )
{
- if ( aSeq[i].Value >>= m_aSearchOpt )
+ css::util::SearchOptions2 nTmpSearchOpt2;
+ if ( aSeq[i].Value >>= nTmpSearchOpt2 )
+ {
+ m_aSearchOpt = nTmpSearchOpt2;
++nConvertedCount;
+ }
}
else if ( aSeq[i].Name == SRCH_PARA_FAMILY )
{
@@ -643,7 +644,12 @@ bool SvxSearchItem::PutValue( const css::uno::Any& rVal, sal_uInt8 nMemberId )
case MID_SEARCH_INSERTEDCHARS:
bRet = (rVal >>= m_aSearchOpt.insertedChars); break;
case MID_SEARCH_TRANSLITERATEFLAGS:
- bRet = (rVal >>= m_aSearchOpt.transliterateFlags); break;
+ {
+ bRet = (rVal >>= nInt);
+ if (bRet)
+ m_aSearchOpt.transliterateFlags = (TransliterationFlags)nInt;
+ break;
+ }
case MID_SEARCH_LOCALE:
{
bRet = (rVal >>= nInt);
diff --git a/svx/source/dialog/srchdlg.cxx b/svx/source/dialog/srchdlg.cxx
index 2b9f124a1810..35903aaf4b5f 100644
--- a/svx/source/dialog/srchdlg.cxx
+++ b/svx/source/dialog/srchdlg.cxx
@@ -37,8 +37,6 @@
#include <svl/ctloptions.hxx>
#include <com/sun/star/awt/XWindow.hpp>
#include <com/sun/star/container/XNameAccess.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
#include <com/sun/star/frame/XDispatch.hpp>
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/frame/XLayoutManager.hpp>
@@ -270,7 +268,7 @@ SvxSearchDialog::SvxSearchDialog( vcl::Window* pParent, SfxChildWindow* pChildWi
, pFamilyController(nullptr)
, pSearchSetController(nullptr)
, pReplaceSetController(nullptr)
- , nTransliterationFlags(0x00000000)
+ , nTransliterationFlags(TransliterationFlags::NONE)
{
get(m_pSearchFrame, "searchframe");
get(m_pSearchLB, "searchterm");
@@ -581,16 +579,16 @@ bool SvxSearchDialog::Close()
}
-sal_Int32 SvxSearchDialog::GetTransliterationFlags() const
+TransliterationFlags SvxSearchDialog::GetTransliterationFlags() const
{
if (!m_pMatchCaseCB->IsChecked())
- nTransliterationFlags |= TransliterationModules_IGNORE_CASE;
+ nTransliterationFlags |= TransliterationFlags::IGNORE_CASE;
else
- nTransliterationFlags &= ~TransliterationModules_IGNORE_CASE;
+ nTransliterationFlags &= ~TransliterationFlags::IGNORE_CASE;
if ( !m_pJapMatchFullHalfWidthCB->IsChecked())
- nTransliterationFlags |= TransliterationModules_IGNORE_WIDTH;
+ nTransliterationFlags |= TransliterationFlags::IGNORE_WIDTH;
else
- nTransliterationFlags &= ~TransliterationModules_IGNORE_WIDTH;
+ nTransliterationFlags &= ~TransliterationFlags::IGNORE_WIDTH;
return nTransliterationFlags;
}
@@ -600,12 +598,12 @@ void SvxSearchDialog::SetSaveToModule(bool b)
}
-void SvxSearchDialog::ApplyTransliterationFlags_Impl( sal_Int32 nSettings )
+void SvxSearchDialog::ApplyTransliterationFlags_Impl( TransliterationFlags nSettings )
{
nTransliterationFlags = nSettings;
- bool bVal = 0 != (nSettings & TransliterationModules_IGNORE_CASE);
- m_pMatchCaseCB->Check(!bVal );
- bVal = 0 != (nSettings & TransliterationModules_IGNORE_WIDTH);
+ bool bVal(nSettings & TransliterationFlags::IGNORE_CASE);
+ m_pMatchCaseCB->Check( !bVal );
+ bVal = bool(nSettings & TransliterationFlags::IGNORE_WIDTH);
m_pJapMatchFullHalfWidthCB->Check( !bVal );
}
@@ -1332,14 +1330,14 @@ IMPL_LINK( SvxSearchDialog, CommandHdl_Impl, Button *, pBtn, void )
pSearchItem->SetPattern(GetCheckBoxValue(m_pLayoutBtn));
pSearchItem->SetSelection(GetCheckBoxValue(m_pSelectionBtn));
pSearchItem->SetUseAsianOptions(GetCheckBoxValue(m_pJapOptionsCB));
- sal_Int32 nFlags = GetTransliterationFlags();
+ TransliterationFlags nFlags = GetTransliterationFlags();
if( !pSearchItem->IsUseAsianOptions())
- nFlags &= (TransliterationModules_IGNORE_CASE |
- TransliterationModules_IGNORE_WIDTH );
+ nFlags &= (TransliterationFlags::IGNORE_CASE |
+ TransliterationFlags::IGNORE_WIDTH );
if (GetCheckBoxValue(m_pIgnoreDiacritics))
- nFlags |= TransliterationModulesExtra::IGNORE_DIACRITICS_CTL;
+ nFlags |= TransliterationFlags::IGNORE_DIACRITICS_CTL;
if (GetCheckBoxValue(m_pIgnoreKashida))
- nFlags |= TransliterationModulesExtra::IGNORE_KASHIDA_CTL;
+ nFlags |= TransliterationFlags::IGNORE_KASHIDA_CTL;
pSearchItem->SetTransliterationFlags( nFlags );
if ( !bWriter )
@@ -1424,7 +1422,7 @@ IMPL_LINK( SvxSearchDialog, CommandHdl_Impl, Button *, pBtn, void )
int nRet = aDlg->Execute();
if (RET_OK == nRet) //! true only if FillItemSet of SvxJSearchOptionsPage returns true
{
- sal_Int32 nFlags = aDlg->GetTransliterationFlags();
+ TransliterationFlags nFlags = aDlg->GetTransliterationFlags();
pSearchItem->SetTransliterationFlags( nFlags );
ApplyTransliterationFlags_Impl( nFlags );
}
@@ -2308,14 +2306,14 @@ void SvxSearchDialog::SaveToModule_Impl()
aOpt.SetIgnoreKashida_CTL(GetCheckBoxValue(m_pIgnoreKashida));
aOpt.Commit();
- sal_Int32 nFlags = GetTransliterationFlags();
+ TransliterationFlags nFlags = GetTransliterationFlags();
if( !pSearchItem->IsUseAsianOptions())
- nFlags &= (TransliterationModules_IGNORE_CASE |
- TransliterationModules_IGNORE_WIDTH );
+ nFlags &= (TransliterationFlags::IGNORE_CASE |
+ TransliterationFlags::IGNORE_WIDTH );
if (GetCheckBoxValue(m_pIgnoreDiacritics))
- nFlags |= TransliterationModulesExtra::IGNORE_DIACRITICS_CTL;
+ nFlags |= TransliterationFlags::IGNORE_DIACRITICS_CTL;
if (GetCheckBoxValue(m_pIgnoreKashida))
- nFlags |= TransliterationModulesExtra::IGNORE_KASHIDA_CTL;
+ nFlags |= TransliterationFlags::IGNORE_KASHIDA_CTL;
pSearchItem->SetTransliterationFlags( nFlags );
if ( !bWriter )
diff --git a/svx/source/form/fmsrccfg.cxx b/svx/source/form/fmsrccfg.cxx
index ee71be3a63de..6181fc2c3cc6 100644
--- a/svx/source/form/fmsrccfg.cxx
+++ b/svx/source/form/fmsrccfg.cxx
@@ -20,18 +20,17 @@
#include "svx/fmsrccfg.hxx"
#include <osl/diagnose.h>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
#include <comphelper/processfactory.hxx>
+#include <i18nutil/transliteration.hxx>
using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::i18n;
namespace svxform
{
// search parameters
FmSearchParams::FmSearchParams()
- :nTransliterationFlags( 0 )
+ :nTransliterationFlags( TransliterationFlags::NONE )
,nSearchForType ( 0 )
,nPosition ( MATCHING_ANYWHERE )
,nLevOther ( 2 )
@@ -47,29 +46,29 @@ namespace svxform
,bSoundsLikeCJK ( false )
{
nTransliterationFlags =
- TransliterationModules_ignoreSpace_ja_JP
- | TransliterationModules_ignoreMiddleDot_ja_JP
- | TransliterationModules_ignoreProlongedSoundMark_ja_JP
- | TransliterationModules_ignoreSeparator_ja_JP
- | TransliterationModules_IGNORE_CASE;
+ TransliterationFlags::ignoreSpace_ja_JP
+ | TransliterationFlags::ignoreMiddleDot_ja_JP
+ | TransliterationFlags::ignoreProlongedSoundMark_ja_JP
+ | TransliterationFlags::ignoreSeparator_ja_JP
+ | TransliterationFlags::IGNORE_CASE;
}
bool FmSearchParams::isIgnoreWidthCJK( ) const
{
- return 0 != (nTransliterationFlags & TransliterationModules_IGNORE_WIDTH);
+ return bool(nTransliterationFlags & TransliterationFlags::IGNORE_WIDTH);
}
bool FmSearchParams::isCaseSensitive( ) const
{
- return 0 == (nTransliterationFlags & TransliterationModules_IGNORE_CASE);
+ return !(nTransliterationFlags & TransliterationFlags::IGNORE_CASE);
}
void FmSearchParams::setCaseSensitive( bool _bCase )
{
if ( _bCase )
- nTransliterationFlags &= ~TransliterationModules_IGNORE_CASE;
+ nTransliterationFlags &= ~TransliterationFlags::IGNORE_CASE;
else
- nTransliterationFlags |= TransliterationModules_IGNORE_CASE;
+ nTransliterationFlags |= TransliterationFlags::IGNORE_CASE;
}
// maps from ascii values to int values
@@ -206,28 +205,28 @@ namespace svxform
nPosition = lcl_implMapAsciiValue( m_sSearchPosition, lcl_getSearchPositionValueMap() );
// the transliteration flags
- nTransliterationFlags = 0;
-
- if ( !m_bIsMatchCase ) nTransliterationFlags |= TransliterationModules_IGNORE_CASE;
- if ( m_bIsMatchFullHalfWidthForms ) nTransliterationFlags |= TransliterationModules_IGNORE_WIDTH;
- if ( m_bIsMatchHiraganaKatakana ) nTransliterationFlags |= TransliterationModules_IGNORE_KANA;
- if ( m_bIsMatchContractions ) nTransliterationFlags |= TransliterationModules_ignoreSize_ja_JP;
- if ( m_bIsMatchMinusDashCho_on ) nTransliterationFlags |= TransliterationModules_ignoreMinusSign_ja_JP;
- if ( m_bIsMatchRepeatCharMarks ) nTransliterationFlags |= TransliterationModules_ignoreIterationMark_ja_JP;
- if ( m_bIsMatchVariantFormKanji ) nTransliterationFlags |= TransliterationModules_ignoreTraditionalKanji_ja_JP;
- if ( m_bIsMatchOldKanaForms ) nTransliterationFlags |= TransliterationModules_ignoreTraditionalKana_ja_JP;
- if ( m_bIsMatch_DiZi_DuZu ) nTransliterationFlags |= TransliterationModules_ignoreZiZu_ja_JP;
- if ( m_bIsMatch_BaVa_HaFa ) nTransliterationFlags |= TransliterationModules_ignoreBaFa_ja_JP;
- if ( m_bIsMatch_TsiThiChi_DhiZi ) nTransliterationFlags |= TransliterationModules_ignoreTiJi_ja_JP;
- if ( m_bIsMatch_HyuIyu_ByuVyu ) nTransliterationFlags |= TransliterationModules_ignoreHyuByu_ja_JP;
- if ( m_bIsMatch_SeShe_ZeJe ) nTransliterationFlags |= TransliterationModules_ignoreSeZe_ja_JP;
- if ( m_bIsMatch_IaIya ) nTransliterationFlags |= TransliterationModules_ignoreIandEfollowedByYa_ja_JP;
- if ( m_bIsMatch_KiKu ) nTransliterationFlags |= TransliterationModules_ignoreKiKuFollowedBySa_ja_JP;
-
- if ( m_bIsIgnorePunctuation ) nTransliterationFlags |= TransliterationModules_ignoreSeparator_ja_JP;
- if ( m_bIsIgnoreWhitespace ) nTransliterationFlags |= TransliterationModules_ignoreSpace_ja_JP;
- if ( m_bIsIgnoreProlongedSoundMark ) nTransliterationFlags |= TransliterationModules_ignoreProlongedSoundMark_ja_JP;
- if ( m_bIsIgnoreMiddleDot ) nTransliterationFlags |= TransliterationModules_ignoreMiddleDot_ja_JP;
+ nTransliterationFlags = TransliterationFlags::NONE;
+
+ if ( !m_bIsMatchCase ) nTransliterationFlags |= TransliterationFlags::IGNORE_CASE;
+ if ( m_bIsMatchFullHalfWidthForms ) nTransliterationFlags |= TransliterationFlags::IGNORE_WIDTH;
+ if ( m_bIsMatchHiraganaKatakana ) nTransliterationFlags |= TransliterationFlags::IGNORE_KANA;
+ if ( m_bIsMatchContractions ) nTransliterationFlags |= TransliterationFlags::ignoreSize_ja_JP;
+ if ( m_bIsMatchMinusDashCho_on ) nTransliterationFlags |= TransliterationFlags::ignoreMinusSign_ja_JP;
+ if ( m_bIsMatchRepeatCharMarks ) nTransliterationFlags |= TransliterationFlags::ignoreIterationMark_ja_JP;
+ if ( m_bIsMatchVariantFormKanji ) nTransliterationFlags |= TransliterationFlags::ignoreTraditionalKanji_ja_JP;
+ if ( m_bIsMatchOldKanaForms ) nTransliterationFlags |= TransliterationFlags::ignoreTraditionalKana_ja_JP;
+ if ( m_bIsMatch_DiZi_DuZu ) nTransliterationFlags |= TransliterationFlags::ignoreZiZu_ja_JP;
+ if ( m_bIsMatch_BaVa_HaFa ) nTransliterationFlags |= TransliterationFlags::ignoreBaFa_ja_JP;
+ if ( m_bIsMatch_TsiThiChi_DhiZi ) nTransliterationFlags |= TransliterationFlags::ignoreTiJi_ja_JP;
+ if ( m_bIsMatch_HyuIyu_ByuVyu ) nTransliterationFlags |= TransliterationFlags::ignoreHyuByu_ja_JP;
+ if ( m_bIsMatch_SeShe_ZeJe ) nTransliterationFlags |= TransliterationFlags::ignoreSeZe_ja_JP;
+ if ( m_bIsMatch_IaIya ) nTransliterationFlags |= TransliterationFlags::ignoreIandEfollowedByYa_ja_JP;
+ if ( m_bIsMatch_KiKu ) nTransliterationFlags |= TransliterationFlags::ignoreKiKuFollowedBySa_ja_JP;
+
+ if ( m_bIsIgnorePunctuation ) nTransliterationFlags |= TransliterationFlags::ignoreSeparator_ja_JP;
+ if ( m_bIsIgnoreWhitespace ) nTransliterationFlags |= TransliterationFlags::ignoreSpace_ja_JP;
+ if ( m_bIsIgnoreProlongedSoundMark ) nTransliterationFlags |= TransliterationFlags::ignoreProlongedSoundMark_ja_JP;
+ if ( m_bIsIgnoreMiddleDot ) nTransliterationFlags |= TransliterationFlags::ignoreMiddleDot_ja_JP;
}
void FmSearchConfigItem::implTranslateToConfig( )
@@ -240,26 +239,26 @@ namespace svxform
// the transliteration flags
- m_bIsMatchCase = ( 0 == ( nTransliterationFlags & TransliterationModules_IGNORE_CASE ) );
- m_bIsMatchFullHalfWidthForms = ( 0 != ( nTransliterationFlags & TransliterationModules_IGNORE_WIDTH ) );
- m_bIsMatchHiraganaKatakana = ( 0 != ( nTransliterationFlags & TransliterationModules_IGNORE_KANA ) );
- m_bIsMatchContractions = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreSize_ja_JP ) );
- m_bIsMatchMinusDashCho_on = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreMinusSign_ja_JP ) );
- m_bIsMatchRepeatCharMarks = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreIterationMark_ja_JP ) );
- m_bIsMatchVariantFormKanji = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreTraditionalKanji_ja_JP ) );
- m_bIsMatchOldKanaForms = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreTraditionalKana_ja_JP ) );
- m_bIsMatch_DiZi_DuZu = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreZiZu_ja_JP ) );
- m_bIsMatch_BaVa_HaFa = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreBaFa_ja_JP ) );
- m_bIsMatch_TsiThiChi_DhiZi = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreTiJi_ja_JP ) );
- m_bIsMatch_HyuIyu_ByuVyu = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreHyuByu_ja_JP ) );
- m_bIsMatch_SeShe_ZeJe = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreSeZe_ja_JP ) );
- m_bIsMatch_IaIya = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreIandEfollowedByYa_ja_JP ) );
- m_bIsMatch_KiKu = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreKiKuFollowedBySa_ja_JP ) );
-
- m_bIsIgnorePunctuation = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreSeparator_ja_JP ) );
- m_bIsIgnoreWhitespace = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreSpace_ja_JP ) );
- m_bIsIgnoreProlongedSoundMark = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreProlongedSoundMark_ja_JP ) );
- m_bIsIgnoreMiddleDot = ( 0 != ( nTransliterationFlags & TransliterationModules_ignoreMiddleDot_ja_JP ) );
+ m_bIsMatchCase = !( nTransliterationFlags & TransliterationFlags::IGNORE_CASE );
+ m_bIsMatchFullHalfWidthForms = bool( nTransliterationFlags & TransliterationFlags::IGNORE_WIDTH );
+ m_bIsMatchHiraganaKatakana = bool( nTransliterationFlags & TransliterationFlags::IGNORE_KANA );
+ m_bIsMatchContractions = bool( nTransliterationFlags & TransliterationFlags::ignoreSize_ja_JP );
+ m_bIsMatchMinusDashCho_on = bool( nTransliterationFlags & TransliterationFlags::ignoreMinusSign_ja_JP );
+ m_bIsMatchRepeatCharMarks = bool( nTransliterationFlags & TransliterationFlags::ignoreIterationMark_ja_JP );
+ m_bIsMatchVariantFormKanji = bool( nTransliterationFlags & TransliterationFlags::ignoreTraditionalKanji_ja_JP );
+ m_bIsMatchOldKanaForms = bool( nTransliterationFlags & TransliterationFlags::ignoreTraditionalKana_ja_JP );
+ m_bIsMatch_DiZi_DuZu = bool( nTransliterationFlags & TransliterationFlags::ignoreZiZu_ja_JP );
+ m_bIsMatch_BaVa_HaFa = bool( nTransliterationFlags & TransliterationFlags::ignoreBaFa_ja_JP );
+ m_bIsMatch_TsiThiChi_DhiZi = bool( nTransliterationFlags & TransliterationFlags::ignoreTiJi_ja_JP );
+ m_bIsMatch_HyuIyu_ByuVyu = bool( nTransliterationFlags & TransliterationFlags::ignoreHyuByu_ja_JP );
+ m_bIsMatch_SeShe_ZeJe = bool( nTransliterationFlags & TransliterationFlags::ignoreSeZe_ja_JP );
+ m_bIsMatch_IaIya = bool( nTransliterationFlags & TransliterationFlags::ignoreIandEfollowedByYa_ja_JP );
+ m_bIsMatch_KiKu = bool( nTransliterationFlags & TransliterationFlags::ignoreKiKuFollowedBySa_ja_JP );
+
+ m_bIsIgnorePunctuation = bool( nTransliterationFlags & TransliterationFlags::ignoreSeparator_ja_JP );
+ m_bIsIgnoreWhitespace = bool( nTransliterationFlags & TransliterationFlags::ignoreSpace_ja_JP );
+ m_bIsIgnoreProlongedSoundMark = bool( nTransliterationFlags & TransliterationFlags::ignoreProlongedSoundMark_ja_JP );
+ m_bIsIgnoreMiddleDot = bool( nTransliterationFlags & TransliterationFlags::ignoreMiddleDot_ja_JP );
}
const FmSearchParams& FmSearchConfigItem::getParams() const
diff --git a/svx/source/form/fmsrcimp.cxx b/svx/source/form/fmsrcimp.cxx
index 1e1d3aa337c5..f84ceee8ab2b 100644
--- a/svx/source/form/fmsrcimp.cxx
+++ b/svx/source/form/fmsrcimp.cxx
@@ -29,12 +29,10 @@
#include <svx/dialmgr.hxx>
#include <vcl/svapp.hxx>
#include <unotools/textsearch.hxx>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/util/SearchAlgorithms2.hpp>
#include <com/sun/star/util/SearchResult.hpp>
#include <com/sun/star/util/SearchFlags.hpp>
#include <com/sun/star/lang/Locale.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
#include <com/sun/star/i18n/CollatorOptions.hpp>
#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
@@ -51,6 +49,7 @@
#include <comphelper/numbers.hxx>
#include <unotools/syslocale.hxx>
+#include <i18nutil/searchopt.hxx>
#define EQUAL_BOOKMARKS(a, b) a == b
@@ -474,13 +473,13 @@ FmSearchEngine::SearchResult FmSearchEngine::SearchRegularApprox(const OUString&
FieldCollection::const_iterator iterInitialField = iterFieldLoop;
// Parameter sammeln
- SearchOptions2 aParam;
+ i18nutil::SearchOptions2 aParam;
aParam.AlgorithmType2 = m_bRegular ? SearchAlgorithms2::REGEXP : SearchAlgorithms2::APPROXIMATE;
aParam.searchFlag = 0;
aParam.transliterateFlags = GetTransliterationFlags();
if ( !GetTransliteration() )
{ // if transliteration is not enabled, the only flags which matter are IGNORE_CASE and IGNORE_WIDTH
- aParam.transliterateFlags &= TransliterationModules_IGNORE_CASE | TransliterationModules_IGNORE_WIDTH;
+ aParam.transliterateFlags &= TransliterationFlags::IGNORE_CASE | TransliterationFlags::IGNORE_WIDTH;
}
if (m_bLevenshtein)
{
@@ -605,7 +604,7 @@ FmSearchEngine::FmSearchEngine(const Reference< XComponentContext >& _rxContext,
,m_nLevShorter(0)
,m_nLevLonger(0)
,m_nPosition(MATCHING_ANYWHERE)
- ,m_nTransliterationFlags(0)
+ ,m_nTransliterationFlags(TransliterationFlags::NONE)
{
fillControlTexts(arrFields);
@@ -623,30 +622,30 @@ FmSearchEngine::~FmSearchEngine()
void FmSearchEngine::SetIgnoreWidthCJK(bool bSet)
{
if (bSet)
- m_nTransliterationFlags |= TransliterationModules_IGNORE_WIDTH;
+ m_nTransliterationFlags |= TransliterationFlags::IGNORE_WIDTH;
else
- m_nTransliterationFlags &= ~TransliterationModules_IGNORE_WIDTH;
+ m_nTransliterationFlags &= ~TransliterationFlags::IGNORE_WIDTH;
}
bool FmSearchEngine::GetIgnoreWidthCJK() const
{
- return 0 != (m_nTransliterationFlags & TransliterationModules_IGNORE_WIDTH);
+ return bool(m_nTransliterationFlags & TransliterationFlags::IGNORE_WIDTH);
}
void FmSearchEngine::SetCaseSensitive(bool bSet)
{
if (bSet)
- m_nTransliterationFlags &= ~TransliterationModules_IGNORE_CASE;
+ m_nTransliterationFlags &= ~TransliterationFlags::IGNORE_CASE;
else
- m_nTransliterationFlags |= TransliterationModules_IGNORE_CASE;
+ m_nTransliterationFlags |= TransliterationFlags::IGNORE_CASE;
}
bool FmSearchEngine::GetCaseSensitive() const
{
- return 0 == (m_nTransliterationFlags & TransliterationModules_IGNORE_CASE);
+ return !(m_nTransliterationFlags & TransliterationFlags::IGNORE_CASE);
}
diff --git a/svx/source/tbxctrls/tbunosearchcontrollers.cxx b/svx/source/tbxctrls/tbunosearchcontrollers.cxx
index e07d9f93a612..e3189a5459bd 100644
--- a/svx/source/tbxctrls/tbunosearchcontrollers.cxx
+++ b/svx/source/tbxctrls/tbunosearchcontrollers.cxx
@@ -39,8 +39,6 @@
#include <com/sun/star/frame/XDispatchProvider.hpp>
#include <com/sun/star/frame/XLayoutManager.hpp>
#include <com/sun/star/frame/XStatusListener.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/text/XTextRange.hpp>
@@ -123,11 +121,14 @@ void impl_executeSearch( const css::uno::Reference< css::uno::XComponentContext
lArgs[2].Value <<= (sal_Int32)0;
lArgs[3].Name = "SearchItem.TransliterateFlags";
SvtCTLOptions aCTLOptions;
- sal_Int32 nFlags = 0;
- nFlags |= (!aMatchCase ? static_cast<int>(css::i18n::TransliterationModules_IGNORE_CASE) : 0);
- nFlags |= (aCTLOptions.IsCTLFontEnabled() ? css::i18n::TransliterationModulesExtra::IGNORE_DIACRITICS_CTL:0 );
- nFlags |= (aCTLOptions.IsCTLFontEnabled() ? css::i18n::TransliterationModulesExtra::IGNORE_KASHIDA_CTL:0 );
- lArgs[3].Value <<= nFlags;
+ TransliterationFlags nFlags = TransliterationFlags::NONE;
+ if (!aMatchCase)
+ nFlags |= TransliterationFlags::IGNORE_CASE;
+ if (aCTLOptions.IsCTLFontEnabled())
+ nFlags |= TransliterationFlags::IGNORE_DIACRITICS_CTL;
+ if (aCTLOptions.IsCTLFontEnabled())
+ nFlags |= TransliterationFlags::IGNORE_KASHIDA_CTL;
+ lArgs[3].Value <<= (sal_Int32)nFlags;
lArgs[4].Name = "SearchItem.Command";
lArgs[4].Value <<= (sal_Int16)(aFindAll ?
SvxSearchCmd::FIND_ALL : SvxSearchCmd::FIND );
diff --git a/sw/inc/PostItMgr.hxx b/sw/inc/PostItMgr.hxx
index bf657c01926a..38c24ba78bf2 100644
--- a/sw/inc/PostItMgr.hxx
+++ b/sw/inc/PostItMgr.hxx
@@ -29,7 +29,6 @@
#include <swrect.hxx>
#include <unotools/configitem.hxx>
#include <unotools/options.hxx>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/uno/Any.hxx>
#include <SidebarWindowsTypes.hxx>
#include <svl/lstner.hxx>
@@ -63,6 +62,7 @@ class SwFrame;
namespace vcl { class Window; }
struct ImplSVEvent;
class OutlinerSearchable;
+namespace i18nutil { struct SearchOptions2; }
#define COL_NOTES_SIDEPANE_ARROW_ENABLED RGB_COLORDATA(0,0,0)
#define COL_NOTES_SIDEPANE_ARROW_DISABLED RGB_COLORDATA(172,168,153)
@@ -273,8 +273,8 @@ class SwPostItMgr: public SfxListener
void CheckMetaText();
sal_uInt16 Replace(SvxSearchItem* pItem);
- sal_uInt16 SearchReplace(const SwFormatField &pField, const css::util::SearchOptions2& rSearchOptions,bool bSrchForward);
- sal_uInt16 FinishSearchReplace(const css::util::SearchOptions2& rSearchOptions,bool bSrchForward);
+ sal_uInt16 SearchReplace(const SwFormatField &pField, const i18nutil::SearchOptions2& rSearchOptions,bool bSrchForward);
+ sal_uInt16 FinishSearchReplace(const i18nutil::SearchOptions2& rSearchOptions,bool bSrchForward);
void AssureStdModeAtShell();
diff --git a/sw/inc/crsrsh.hxx b/sw/inc/crsrsh.hxx
index bcb9eb4a7357..2b03f7bbb734 100644
--- a/sw/inc/crsrsh.hxx
+++ b/sw/inc/crsrsh.hxx
@@ -67,14 +67,12 @@ class SwPostItField;
class SwTextField;
struct SwPosition;
-namespace com { namespace sun { namespace star { namespace util {
+namespace i18nutil {
struct SearchOptions2;
-} } } }
-
+}
namespace com { namespace sun { namespace star { namespace text {
class XTextRange;
}}}}
-
namespace com { namespace sun { namespace star { namespace container {
class XStringKeyMap;
}}}}
@@ -140,7 +138,7 @@ const int CRSR_POSOLD = 0x01, // cursor stays at old position
CRSR_POSCHG = 0x02; // position changed by the layout
/// Helperfunction to resolve backward references in regular expressions
-OUString *ReplaceBackReferences( const css::util::SearchOptions2& rSearchOpt, SwPaM* pPam );
+OUString *ReplaceBackReferences( const i18nutil::SearchOptions2& rSearchOpt, SwPaM* pPam );
class SW_DLLPUBLIC SwCursorShell
: public SwViewShell
@@ -364,7 +362,7 @@ public:
bool MoveColumn( SwWhichColumn, SwPosColumn );
bool MoveRegion( SwWhichRegion, SwMoveFnCollection const & );
- sal_uLong Find( const css::util::SearchOptions2& rSearchOpt,
+ sal_uLong Find( const i18nutil::SearchOptions2& rSearchOpt,
bool bSearchInNotes,
SwDocPositions eStart, SwDocPositions eEnd,
bool& bCancel,
@@ -379,7 +377,7 @@ public:
SwDocPositions eStart, SwDocPositions eEnd,
bool& bCancel,
FindRanges eRng,
- const css::util::SearchOptions2* pSearchOpt,
+ const i18nutil::SearchOptions2* pSearchOpt,
const SfxItemSet* rReplSet );
// Position the Cursor
diff --git a/sw/inc/editsh.hxx b/sw/inc/editsh.hxx
index beb75f833aef..be04c6a52033 100644
--- a/sw/inc/editsh.hxx
+++ b/sw/inc/editsh.hxx
@@ -102,18 +102,19 @@ struct SwConversionArgs;
enum class SvtScriptType;
enum class SfxClassificationPolicyType;
enum class RedlineFlags;
+enum class TransliterationFlags;
namespace com { namespace sun { namespace star { namespace uno {
template < class > class Sequence;
}}}}
namespace svx{
-struct SpellPortion;
-typedef std::vector<SpellPortion> SpellPortions;
+ struct SpellPortion;
+ typedef std::vector<SpellPortion> SpellPortions;
}
namespace sfx2{
-class LinkManager;
+ class LinkManager;
}
namespace sw {
@@ -188,7 +189,7 @@ public:
bool DelFullPara();
/// Change text to Upper/Lower/Hiragana/Katagana/...
- void TransliterateText( sal_uInt32 nType );
+ void TransliterateText( TransliterationFlags nType );
/// Count words in current selection.
void CountWords( SwDocStat& rStat ) const;
diff --git a/sw/inc/pam.hxx b/sw/inc/pam.hxx
index 771e753d7b34..ca69c7a104f3 100644
--- a/sw/inc/pam.hxx
+++ b/sw/inc/pam.hxx
@@ -38,11 +38,9 @@ class SwNode;
class SwContentNode;
class SwPaM;
class Point;
-
-namespace com { namespace sun { namespace star { namespace util {
+namespace i18nutil {
struct SearchOptions2;
-} } } }
-
+}
namespace utl {
class TextSearch;
}
@@ -187,7 +185,7 @@ public:
SwGoInDoc fnGo = GoInContent );
/// Search.
- bool Find( const css::util::SearchOptions2& rSearchOpt,
+ bool Find( const i18nutil::SearchOptions2& rSearchOpt,
bool bSearchInNotes,
utl::TextSearch& rSText,
SwMoveFnCollection const & fnMove = fnMoveForward,
@@ -202,7 +200,7 @@ public:
SwMoveFnCollection const & fnMove,
const SwPaM *pPam, bool bInReadOnly, bool bMoveFirst );
- bool DoSearch( const css::util::SearchOptions2& rSearchOpt, utl::TextSearch& rSText,
+ bool DoSearch( const i18nutil::SearchOptions2& rSearchOpt, utl::TextSearch& rSText,
SwMoveFnCollection const & fnMove, bool bSrchForward, bool bRegSearch, bool bChkEmptyPara, bool bChkParaEnd,
sal_Int32 &nStart, sal_Int32 &nEnd, sal_Int32 nTextLen, SwNode* pNode, SwPaM* pPam);
diff --git a/sw/inc/swcrsr.hxx b/sw/inc/swcrsr.hxx
index 6eeaf657628d..f41c96c5c5c0 100644
--- a/sw/inc/swcrsr.hxx
+++ b/sw/inc/swcrsr.hxx
@@ -26,10 +26,9 @@
#include <cshtyp.hxx>
struct SwCursor_SavePos;
-
-namespace com { namespace sun { namespace star { namespace util {
+namespace i18nutil {
struct SearchOptions2;
-} } } }
+}
// Base structure for parameters of the find-methods.
// Returns values of found-call.
@@ -113,7 +112,7 @@ public:
SwMoveFnCollection const & MakeFindRange( SwDocPositions, SwDocPositions,
SwPaM* ) const;
- sal_uLong Find( const css::util::SearchOptions2& rSearchOpt,
+ sal_uLong Find( const i18nutil::SearchOptions2& rSearchOpt,
bool bSearchInNotes,
SwDocPositions nStart, SwDocPositions nEnde,
bool& bCancel,
@@ -128,7 +127,7 @@ public:
SwDocPositions nStart, SwDocPositions nEnde,
bool& bCancel,
FindRanges = FindRanges::InBody,
- const css::util::SearchOptions2* pSearchOpt = nullptr,
+ const i18nutil::SearchOptions2* pSearchOpt = nullptr,
const SfxItemSet* rReplSet = nullptr );
// UI versions
diff --git a/sw/inc/unosrch.hxx b/sw/inc/unosrch.hxx
index cd19de5657a7..73169cc85bda 100644
--- a/sw/inc/unosrch.hxx
+++ b/sw/inc/unosrch.hxx
@@ -30,9 +30,9 @@ class SwXTextDocument;
class SwSearchProperties_Impl;
class SfxItemSet;
-namespace com{namespace sun{namespace star{namespace util{
+namespace i18nutil {
struct SearchOptions2;
-}}}}
+}
class SwXTextSearch : public cppu::WeakImplHelper
<
@@ -109,8 +109,7 @@ public:
bool HasSearchAttributes() const;
bool HasReplaceAttributes() const;
- void FillSearchOptions( css::util::SearchOptions2&
- rSearchOpt ) const;
+ void FillSearchOptions( i18nutil::SearchOptions2& rSearchOpt ) const;
};
#endif
diff --git a/sw/qa/core/macros-test.cxx b/sw/qa/core/macros-test.cxx
index 88e4e1116304..ed2324a62053 100644
--- a/sw/qa/core/macros-test.cxx
+++ b/sw/qa/core/macros-test.cxx
@@ -39,6 +39,7 @@
#include <com/sun/star/awt/XControlModel.hpp>
#include <com/sun/star/container/XIndexContainer.hpp>
+#include <i18nutil/searchopt.hxx>
#include <sfx2/app.hxx>
#include <sfx2/docfilt.hxx>
#include <sfx2/docfile.hxx>
@@ -543,7 +544,7 @@ void SwMacrosTest::testFindReplace()
pPaM->Move(fnMoveBackward, GoInDoc);
bool bCancel(false);
- util::SearchOptions2 opts(
+ i18nutil::SearchOptions2 opts(
util::SearchAlgorithms_REGEXP,
65536,
"$",
@@ -552,7 +553,8 @@ void SwMacrosTest::testFindReplace()
2,
2,
2,
- 1073745152,
+ TransliterationFlags::IGNORE_CASE | TransliterationFlags::IGNORE_WIDTH |
+ TransliterationFlags::IGNORE_KASHIDA_CTL | TransliterationFlags::IGNORE_DIACRITICS_CTL,
util::SearchAlgorithms2::REGEXP,
'\\');
diff --git a/sw/qa/core/uwriter.cxx b/sw/qa/core/uwriter.cxx
index 9486e369e9e7..c0c45601fc8a 100644
--- a/sw/qa/core/uwriter.cxx
+++ b/sw/qa/core/uwriter.cxx
@@ -13,10 +13,9 @@
#include <rtl/strbuf.hxx>
#include <osl/file.hxx>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
-
#include <comphelper/processfactory.hxx>
#include <comphelper/random.hxx>
+#include <i18nutil/transliteration.hxx>
#include <tools/urlobj.hxx>
#include <unotools/tempfile.hxx>
#include <unotools/transliterationwrapper.hxx>
@@ -1145,7 +1144,7 @@ void SwDocTest::randomTest()
}
static OUString
-translitTest(SwDoc & rDoc, SwPaM & rPaM, sal_uInt32 const nType)
+translitTest(SwDoc & rDoc, SwPaM & rPaM, TransliterationFlags const nType)
{
utl::TransliterationWrapper aTrans(
::comphelper::getProcessComponentContext(), nType);
@@ -1165,22 +1164,22 @@ void SwDocTest::testTransliterate()
CPPUNIT_ASSERT_EQUAL(OUString("FOOBAR"),
translitTest(*m_pDoc, aPaM,
- i18n::TransliterationModules_LOWERCASE_UPPERCASE));
+ TransliterationFlags::LOWERCASE_UPPERCASE));
CPPUNIT_ASSERT_EQUAL(OUString("Foobar"),
translitTest(*m_pDoc, aPaM,
- i18n::TransliterationModulesExtra::TITLE_CASE));
+ TransliterationFlags::TITLE_CASE));
CPPUNIT_ASSERT_EQUAL(OUString("fOOBAR"),
translitTest(*m_pDoc, aPaM,
- i18n::TransliterationModulesExtra::TOGGLE_CASE));
+ TransliterationFlags::TOGGLE_CASE));
CPPUNIT_ASSERT_EQUAL(OUString("foobar"),
translitTest(*m_pDoc, aPaM,
- i18n::TransliterationModules_UPPERCASE_LOWERCASE));
+ TransliterationFlags::UPPERCASE_LOWERCASE));
CPPUNIT_ASSERT_EQUAL(OUString("Foobar"),
translitTest(*m_pDoc, aPaM,
- i18n::TransliterationModulesExtra::SENTENCE_CASE));
+ TransliterationFlags::SENTENCE_CASE));
CPPUNIT_ASSERT_EQUAL(OUString("Foobar"),
translitTest(*m_pDoc, aPaM,
- i18n::TransliterationModules_HIRAGANA_KATAKANA));
+ TransliterationFlags::HIRAGANA_KATAKANA));
}
namespace
diff --git a/sw/qa/extras/uiwriter/uiwriter.cxx b/sw/qa/extras/uiwriter/uiwriter.cxx
index 8e6479f20538..d9c76ba5c459 100644
--- a/sw/qa/extras/uiwriter/uiwriter.cxx
+++ b/sw/qa/extras/uiwriter/uiwriter.cxx
@@ -54,6 +54,8 @@
#include <editeng/scripttypeitem.hxx>
#include <editeng/fontitem.hxx>
#include <editeng/wghtitem.hxx>
+#include <i18nutil/transliteration.hxx>
+#include <i18nutil/searchopt.hxx>
#include <reffld.hxx>
#include <txatbase.hxx>
#include <ftnidx.hxx>
@@ -71,11 +73,9 @@
#include "com/sun/star/util/XNumberFormatTypes.hpp"
#include "com/sun/star/util/NumberFormat.hpp"
#include "com/sun/star/util/XNumberFormatsSupplier.hpp"
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/util/SearchAlgorithms2.hpp>
#include <com/sun/star/util/SearchFlags.hpp>
#include "com/sun/star/util/SearchAlgorithms.hpp"
-#include "com/sun/star/i18n/TransliterationModulesExtra.hpp"
#include "com/sun/star/sdbcx/XTablesSupplier.hpp"
#include "com/sun/star/text/XParagraphCursor.hpp"
#include "com/sun/star/util/XPropertyReplace.hpp"
@@ -2005,7 +2005,7 @@ void SwUiWriterTest::testSearchWithTransliterate()
SwPaM aPaM(aIdx);
pDoc->getIDocumentContentOperations().InsertString(aPaM,"This is Other PARAGRAPH");
}
- css::util::SearchOptions2 SearchOpt;
+ i18nutil::SearchOptions2 SearchOpt;
SearchOpt.algorithmType = css::util::SearchAlgorithms_ABSOLUTE;
SearchOpt.searchFlag = css::util::SearchFlags::ALL_IGNORE_CASE;
SearchOpt.searchString = "other";
@@ -2013,7 +2013,7 @@ void SwUiWriterTest::testSearchWithTransliterate()
SearchOpt.changedChars = 0;
SearchOpt.deletedChars = 0;
SearchOpt.insertedChars = 0;
- SearchOpt.transliterateFlags = css::i18n::TransliterationModulesExtra::IGNORE_DIACRITICS_CTL;
+ SearchOpt.transliterateFlags = TransliterationFlags::IGNORE_DIACRITICS_CTL;
SearchOpt.AlgorithmType2 = css::util::SearchAlgorithms2::ABSOLUTE;
SearchOpt.WildcardEscapeCharacter = 0;
//transliteration option set so that at least one of the search strings is not found
@@ -2022,7 +2022,7 @@ void SwUiWriterTest::testSearchWithTransliterate()
CPPUNIT_ASSERT_EQUAL(OUString(""),pShellCursor->GetText());
CPPUNIT_ASSERT_EQUAL(0,(int)case1);
SearchOpt.searchString = "paragraph";
- SearchOpt.transliterateFlags = css::i18n::TransliterationModulesExtra::IGNORE_KASHIDA_CTL;
+ SearchOpt.transliterateFlags = TransliterationFlags::IGNORE_KASHIDA_CTL;
//transliteration option set so that all search strings are found
sal_uLong case2 = pWrtShell->SearchPattern(SearchOpt,true,SwDocPositions::Start,SwDocPositions::End);
pShellCursor = pWrtShell->getShellCursor(true);
@@ -2047,7 +2047,7 @@ void SwUiWriterTest::testTdf73660()
pWrtShell->Insert(aData5 + " ");
pWrtShell->Insert("Now we have enough text let's test search for all the cases");
//searching for all 5 strings entered with soft-hyphen, search string contains no soft-hyphen
- css::util::SearchOptions2 searchOpt;
+ i18nutil::SearchOptions2 searchOpt;
searchOpt.algorithmType = css::util::SearchAlgorithms_REGEXP;
searchOpt.searchFlag = css::util::SearchFlags::NORM_WORD_ONLY;
//case 1
diff --git a/sw/source/core/bastyp/init.cxx b/sw/source/core/bastyp/init.cxx
index 44c935c6deac..45500bfc5f16 100644
--- a/sw/source/core/bastyp/init.cxx
+++ b/sw/source/core/bastyp/init.cxx
@@ -902,9 +902,9 @@ namespace
uno::Reference< uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
xTransWrp.reset(new ::utl::TransliterationWrapper( xContext,
- i18n::TransliterationModules_IGNORE_CASE |
- i18n::TransliterationModules_IGNORE_KANA |
- i18n::TransliterationModules_IGNORE_WIDTH ));
+ TransliterationFlags::IGNORE_CASE |
+ TransliterationFlags::IGNORE_KANA |
+ TransliterationFlags::IGNORE_WIDTH ));
xTransWrp->loadModuleIfNeeded( static_cast<sal_uInt16>(GetAppLanguage()) );
}
diff --git a/sw/source/core/crsr/crsrsh.cxx b/sw/source/core/crsr/crsrsh.cxx
index 9084a272f94e..d252ad9273ba 100644
--- a/sw/source/core/crsr/crsrsh.cxx
+++ b/sw/source/core/crsr/crsrsh.cxx
@@ -17,7 +17,6 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/text/XTextRange.hpp>
#include <hintids.hxx>
@@ -3169,7 +3168,7 @@ bool SwCursorShell::SelectHiddenRange()
return bRet;
}
-sal_uLong SwCursorShell::Find( const SearchOptions2& rSearchOpt,
+sal_uLong SwCursorShell::Find( const i18nutil::SearchOptions2& rSearchOpt,
bool bSearchInNotes,
SwDocPositions eStart, SwDocPositions eEnd,
bool& bCancel,
@@ -3211,7 +3210,7 @@ sal_uLong SwCursorShell::Find( const SfxItemSet& rSet,
SwDocPositions eStart, SwDocPositions eEnd,
bool& bCancel,
FindRanges eRng,
- const SearchOptions2* pSearchOpt,
+ const i18nutil::SearchOptions2* pSearchOpt,
const SfxItemSet* rReplSet )
{
if( m_pTableCursor )
diff --git a/sw/source/core/crsr/findattr.cxx b/sw/source/core/crsr/findattr.cxx
index ba1753624a5e..09c0153a2cf4 100644
--- a/sw/source/core/crsr/findattr.cxx
+++ b/sw/source/core/crsr/findattr.cxx
@@ -18,10 +18,10 @@
*/
#include <com/sun/star/lang/Locale.hpp>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/util/SearchAlgorithms2.hpp>
#include <com/sun/star/util/SearchFlags.hpp>
#include <i18nlangtag/languagetag.hxx>
+#include <i18nutil/searchopt.hxx>
#include <hintids.hxx>
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
@@ -1056,12 +1056,12 @@ struct SwFindParaAttr : public SwFindParas
{
bool bValue;
const SfxItemSet *pSet, *pReplSet;
- const SearchOptions2 *pSearchOpt;
+ const i18nutil::SearchOptions2 *pSearchOpt;
SwCursor& m_rCursor;
std::unique_ptr<utl::TextSearch> pSText;
SwFindParaAttr( const SfxItemSet& rSet, bool bNoCollection,
- const SearchOptions2* pOpt, const SfxItemSet* pRSet,
+ const i18nutil::SearchOptions2* pOpt, const SfxItemSet* pRSet,
SwCursor& rCursor )
: bValue( bNoCollection ), pSet( &rSet ), pReplSet( pRSet ),
pSearchOpt( pOpt ), m_rCursor( rCursor ) {}
@@ -1109,7 +1109,7 @@ int SwFindParaAttr::Find( SwPaM* pCursor, SwMoveFnCollection const & fnMove, con
// then search in text of it
if( !pSText )
{
- SearchOptions2 aTmp( *pSearchOpt );
+ i18nutil::SearchOptions2 aTmp( *pSearchOpt );
// search in selection
aTmp.searchFlag |= (SearchFlags::REG_NOT_BEGINOFLINE |
@@ -1221,7 +1221,7 @@ bool SwFindParaAttr::IsReplaceMode() const
sal_uLong SwCursor::Find( const SfxItemSet& rSet, bool bNoCollections,
SwDocPositions nStart, SwDocPositions nEnd,
bool& bCancel, FindRanges eFndRngs,
- const SearchOptions2* pSearchOpt,
+ const i18nutil::SearchOptions2* pSearchOpt,
const SfxItemSet* pReplSet )
{
// switch off OLE-notifications
diff --git a/sw/source/core/crsr/findtxt.cxx b/sw/source/core/crsr/findtxt.cxx
index 70a0f726389f..c12aa4f9f2b2 100644
--- a/sw/source/core/crsr/findtxt.cxx
+++ b/sw/source/core/crsr/findtxt.cxx
@@ -19,7 +19,6 @@
#include <memory>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/util/SearchFlags.hpp>
#include <comphelper/lok.hxx>
#include <comphelper/string.hxx>
@@ -221,7 +220,7 @@ size_t GetPostIt(sal_Int32 aCount,const SwpHints *pHts)
return aIndex;
}
-bool SwPaM::Find( const SearchOptions2& rSearchOpt, bool bSearchInNotes , utl::TextSearch& rSText,
+bool SwPaM::Find( const i18nutil::SearchOptions2& rSearchOpt, bool bSearchInNotes , utl::TextSearch& rSText,
SwMoveFnCollection const & fnMove, const SwPaM * pRegion,
bool bInReadOnly )
{
@@ -469,7 +468,7 @@ bool SwPaM::Find( const SearchOptions2& rSearchOpt, bool bSearchInNotes , utl::T
return bFound;
}
-bool SwPaM::DoSearch( const SearchOptions2& rSearchOpt, utl::TextSearch& rSText,
+bool SwPaM::DoSearch( const i18nutil::SearchOptions2& rSearchOpt, utl::TextSearch& rSText,
SwMoveFnCollection const & fnMove, bool bSrchForward, bool bRegSearch,
bool bChkEmptyPara, bool bChkParaEnd,
sal_Int32 &nStart, sal_Int32 &nEnd, sal_Int32 nTextLen,
@@ -632,13 +631,13 @@ bool SwPaM::DoSearch( const SearchOptions2& rSearchOpt, utl::TextSearch& rSText,
/// parameters for search and replace in text
struct SwFindParaText : public SwFindParas
{
- const SearchOptions2& m_rSearchOpt;
+ const i18nutil::SearchOptions2& m_rSearchOpt;
SwCursor& m_rCursor;
utl::TextSearch m_aSText;
bool m_bReplace;
bool m_bSearchInNotes;
- SwFindParaText( const SearchOptions2& rOpt, bool bSearchInNotes, bool bRepl, SwCursor& rCursor )
+ SwFindParaText( const i18nutil::SearchOptions2& rOpt, bool bSearchInNotes, bool bRepl, SwCursor& rCursor )
: m_rSearchOpt( rOpt ), m_rCursor( rCursor ), m_aSText( utl::TextSearch::UpgradeToSearchOptions2( rOpt) ),
m_bReplace( bRepl ), m_bSearchInNotes( bSearchInNotes )
{}
@@ -712,7 +711,7 @@ bool SwFindParaText::IsReplaceMode() const
return m_bReplace;
}
-sal_uLong SwCursor::Find( const SearchOptions2& rSearchOpt, bool bSearchInNotes,
+sal_uLong SwCursor::Find( const i18nutil::SearchOptions2& rSearchOpt, bool bSearchInNotes,
SwDocPositions nStart, SwDocPositions nEnd,
bool& bCancel, FindRanges eFndRngs, bool bReplace )
{
@@ -745,7 +744,7 @@ sal_uLong SwCursor::Find( const SearchOptions2& rSearchOpt, bool bSearchInNotes,
return nRet;
}
-OUString *ReplaceBackReferences( const SearchOptions2& rSearchOpt, SwPaM* pPam )
+OUString *ReplaceBackReferences( const i18nutil::SearchOptions2& rSearchOpt, SwPaM* pPam )
{
OUString *pRet = nullptr;
if( pPam && pPam->HasMark() &&
diff --git a/sw/source/core/edit/editsh.cxx b/sw/source/core/edit/editsh.cxx
index 94686b67e129..b58e657ab84a 100644
--- a/sw/source/core/edit/editsh.cxx
+++ b/sw/source/core/edit/editsh.cxx
@@ -970,7 +970,7 @@ void SwEditShell::SetExtTextInputData( const CommandExtTextInputData& rData )
}
}
-void SwEditShell::TransliterateText( sal_uInt32 nType )
+void SwEditShell::TransliterateText( TransliterationFlags nType )
{
utl::TransliterationWrapper aTrans( ::comphelper::getProcessComponentContext(), nType );
StartAllAction();
diff --git a/sw/source/core/edit/edtox.cxx b/sw/source/core/edit/edtox.cxx
index c4756af05c95..10162be0ecee 100644
--- a/sw/source/core/edit/edtox.cxx
+++ b/sw/source/core/edit/edtox.cxx
@@ -17,11 +17,11 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/util/SearchAlgorithms2.hpp>
#include <com/sun/star/util/SearchFlags.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
#include <comphelper/string.hxx>
+#include <i18nutil/transliteration.hxx>
+#include <i18nutil/searchopt.hxx>
#include <svl/fstathelper.hxx>
#include <osl/thread.h>
#include <unotools/textsearch.hxx>
@@ -311,16 +311,15 @@ void SwEditShell::ApplyAutoMark()
sal_Int32 nLEV_Other = 2; // -> changedChars;
sal_Int32 nLEV_Longer = 3; //! -> deletedChars;
sal_Int32 nLEV_Shorter = 1; //! -> insertedChars;
- sal_Int32 nTransliterationFlags = 0;
sal_Int32 nSrchFlags = SearchFlags::LEV_RELAXED;
- SearchOptions2 aSearchOpt(
+ i18nutil::SearchOptions2 aSearchOpt(
SearchAlgorithms_ABSOLUTE, nSrchFlags,
"", "",
SvtSysLocale().GetLanguageTag().getLocale(),
nLEV_Other, nLEV_Longer, nLEV_Shorter,
- nTransliterationFlags,
+ TransliterationFlags::NONE,
SearchAlgorithms2::ABSOLUTE,
'\\' );
@@ -354,12 +353,12 @@ void SwEditShell::ApplyAutoMark()
if (!bCaseSensitive)
{
aSearchOpt.transliterateFlags |=
- TransliterationModules_IGNORE_CASE;
+ TransliterationFlags::IGNORE_CASE;
}
else
{
aSearchOpt.transliterateFlags &=
- ~TransliterationModules_IGNORE_CASE;
+ ~TransliterationFlags::IGNORE_CASE;
}
if ( bWordOnly)
aSearchOpt.searchFlag |= SearchFlags::NORM_WORD_ONLY;
diff --git a/sw/source/core/inc/UndoOverwrite.hxx b/sw/source/core/inc/UndoOverwrite.hxx
index a573f90b8982..1b520fae1efb 100644
--- a/sw/source/core/inc/UndoOverwrite.hxx
+++ b/sw/source/core/inc/UndoOverwrite.hxx
@@ -26,7 +26,7 @@
class SwRedlineSaveDatas;
class SwTextNode;
-
+enum class TransliterationFlags;
namespace utl {
class TransliterationWrapper;
}
@@ -69,7 +69,7 @@ struct UndoTransliterate_Data;
class SwUndoTransliterate : public SwUndo, public SwUndRng
{
std::vector< UndoTransliterate_Data * > aChanges;
- sal_uInt32 nType;
+ TransliterationFlags nType;
void DoTransliterate(SwDoc & rDoc, SwPaM & rPam);
diff --git a/sw/source/core/txtnode/txtedt.cxx b/sw/source/core/txtnode/txtedt.cxx
index 9517d953a6bb..5054698874f4 100644
--- a/sw/source/core/txtnode/txtedt.cxx
+++ b/sw/source/core/txtnode/txtedt.cxx
@@ -25,6 +25,7 @@
#include <editeng/fontitem.hxx>
#include <editeng/scripttypeitem.hxx>
#include <editeng/hangulhanja.hxx>
+#include <i18nutil/transliteration.hxx>
#include <SwSmartTagMgr.hxx>
#include <linguistic/lngprops.hxx>
#include <officecfg/Office/Writer.hxx>
@@ -71,8 +72,6 @@
#include <com/sun/star/i18n/WordType.hpp>
#include <com/sun/star/i18n/ScriptType.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
#include <vector>
#include <utility>
@@ -1712,7 +1711,7 @@ void SwTextNode::TransliterateText(
std::vector< swTransliterationChgData > aChanges;
swTransliterationChgData aChgData;
- if (rTrans.getType() == (sal_uInt32)TransliterationModulesExtra::TITLE_CASE)
+ if (rTrans.getType() == TransliterationFlags::TITLE_CASE)
{
// for 'capitalize every word' we need to iterate over each word
@@ -1776,7 +1775,7 @@ void SwTextNode::TransliterateText(
nWordType);
}
}
- else if (rTrans.getType() == (sal_uInt32)TransliterationModulesExtra::SENTENCE_CASE)
+ else if (rTrans.getType() == TransliterationFlags::SENTENCE_CASE)
{
// for 'sentence case' we need to iterate sentence by sentence
diff --git a/sw/source/core/unocore/unosrch.cxx b/sw/source/core/unocore/unosrch.cxx
index 7f94288aefa5..6f3f7bd0e319 100644
--- a/sw/source/core/unocore/unosrch.cxx
+++ b/sw/source/core/unocore/unosrch.cxx
@@ -24,14 +24,13 @@
#include <unobaseclass.hxx>
#include <unomid.h>
+#include <i18nutil/searchopt.hxx>
#include <o3tl/any.hxx>
#include <osl/mutex.hxx>
#include <vcl/svapp.hxx>
#include <editeng/unolingu.hxx>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/util/SearchAlgorithms2.hpp>
#include <com/sun/star/util/SearchFlags.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <comphelper/servicehelper.hxx>
#include <cppuhelper/supportsservice.hxx>
@@ -715,7 +714,7 @@ uno::Sequence< OUString > SwXTextSearch::getSupportedServiceNames()
return aRet;
}
-void SwXTextSearch::FillSearchOptions( util::SearchOptions2& rSearchOpt ) const
+void SwXTextSearch::FillSearchOptions( i18nutil::SearchOptions2& rSearchOpt ) const
{
if( m_bSimilarity )
{
@@ -743,7 +742,7 @@ void SwXTextSearch::FillSearchOptions( util::SearchOptions2& rSearchOpt ) const
rSearchOpt.replaceString = m_sReplaceText;
if( !m_bCase )
- rSearchOpt.transliterateFlags |= i18n::TransliterationModules_IGNORE_CASE;
+ rSearchOpt.transliterateFlags |= TransliterationFlags::IGNORE_CASE;
if( m_bWord )
rSearchOpt.searchFlag |= util::SearchFlags::NORM_WORD_ONLY;
diff --git a/sw/source/ui/index/swuiidxmrk.cxx b/sw/source/ui/index/swuiidxmrk.cxx
index 199d3ecdbccb..fd79226e02ab 100644
--- a/sw/source/ui/index/swuiidxmrk.cxx
+++ b/sw/source/ui/index/swuiidxmrk.cxx
@@ -25,11 +25,10 @@
#include <com/sun/star/beans/PropertyValue.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/frame/Bibliography.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
#include <com/sun/star/i18n/IndexEntrySupplier.hpp>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/util/SearchAlgorithms2.hpp>
#include <com/sun/star/util/SearchFlags.hpp>
+#include <i18nutil/searchopt.hxx>
#include <svl/stritem.hxx>
#include <vcl/layout.hxx>
#include <sfx2/dispatch.hxx>
@@ -438,15 +437,15 @@ static void lcl_SelectSameStrings(SwWrtShell& rSh, bool bWordOnly, bool bCaseSen
{
rSh.Push();
- SearchOptions2 aSearchOpt(
+ i18nutil::SearchOptions2 aSearchOpt(
SearchAlgorithms_ABSOLUTE,
( bWordOnly ? SearchFlags::NORM_WORD_ONLY : 0 ),
rSh.GetSelText(), OUString(),
GetAppLanguageTag().getLocale(),
0, 0, 0,
(bCaseSensitive
- ? 0
- : static_cast<int>(TransliterationModules_IGNORE_CASE)),
+ ? TransliterationFlags::NONE
+ : TransliterationFlags::IGNORE_CASE),
SearchAlgorithms2::ABSOLUTE,
'\\' );
diff --git a/sw/source/uibase/docvw/PostItMgr.cxx b/sw/source/uibase/docvw/PostItMgr.cxx
index a3f53456b322..eb838a1d1774 100644
--- a/sw/source/uibase/docvw/PostItMgr.cxx
+++ b/sw/source/uibase/docvw/PostItMgr.cxx
@@ -2199,7 +2199,7 @@ sal_uInt16 SwPostItMgr::Replace(SvxSearchItem* pItem)
return aResult;
}
-sal_uInt16 SwPostItMgr::FinishSearchReplace(const css::util::SearchOptions2& rSearchOptions, bool bSrchForward)
+sal_uInt16 SwPostItMgr::FinishSearchReplace(const i18nutil::SearchOptions2& rSearchOptions, bool bSrchForward)
{
SwSidebarWin* pWin = GetActiveSidebarWin();
SvxSearchItem aItem(SID_SEARCH_ITEM );
@@ -2211,7 +2211,7 @@ sal_uInt16 SwPostItMgr::FinishSearchReplace(const css::util::SearchOptions2& rSe
return aResult;
}
-sal_uInt16 SwPostItMgr::SearchReplace(const SwFormatField &pField, const css::util::SearchOptions2& rSearchOptions, bool bSrchForward)
+sal_uInt16 SwPostItMgr::SearchReplace(const SwFormatField &pField, const i18nutil::SearchOptions2& rSearchOptions, bool bSrchForward)
{
sal_uInt16 aResult = 0;
SwSidebarWin* pWin = GetSidebarWin(&pField);
diff --git a/sw/source/uibase/inc/wrtsh.hxx b/sw/source/uibase/inc/wrtsh.hxx
index c3b63ef2d03e..894e3cbe2658 100644
--- a/sw/source/uibase/inc/wrtsh.hxx
+++ b/sw/source/uibase/inc/wrtsh.hxx
@@ -46,9 +46,9 @@ class NaviContentBookmark;
struct SwCallMouseEvent;
class SfxStringListItem;
-namespace com { namespace sun { namespace star { namespace util {
+namespace i18nutil {
struct SearchOptions2;
-} } } }
+}
typedef sal_Int32 SelectionType;
namespace nsSelectionType
@@ -360,7 +360,7 @@ typedef bool (SwWrtShell:: *FNSimpleMove)();
void GetDoStrings( DoType eDoType, SfxStringListItem& rStrLstItem ) const;
// search and replace
- sal_uLong SearchPattern(const css::util::SearchOptions2& rSearchOpt,
+ sal_uLong SearchPattern(const i18nutil::SearchOptions2& rSearchOpt,
bool bSearchInNotes,
SwDocPositions eStart, SwDocPositions eEnd,
FindRanges eFlags = FindRanges::InBody,
@@ -375,7 +375,7 @@ typedef bool (SwWrtShell:: *FNSimpleMove)();
bool bNoColls,
SwDocPositions eStart, SwDocPositions eEnd,
FindRanges eFlags = FindRanges::InBody,
- const css::util::SearchOptions2* pSearchOpt = nullptr,
+ const i18nutil::SearchOptions2* pSearchOpt = nullptr,
const SfxItemSet* pReplaceSet = nullptr);
void AutoCorrect( SvxAutoCorrect& rACorr, sal_Unicode cChar );
diff --git a/sw/source/uibase/shells/annotsh.cxx b/sw/source/uibase/shells/annotsh.cxx
index 80520635b2fb..3477a7ea3621 100644
--- a/sw/source/uibase/shells/annotsh.cxx
+++ b/sw/source/uibase/shells/annotsh.cxx
@@ -19,13 +19,12 @@
#include <hintids.hxx>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
#include <com/sun/star/i18n/TextConversionOption.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
#include <i18nlangtag/mslangid.hxx>
+#include <i18nutil/transliteration.hxx>
#include <sfx2/objface.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/bindings.hxx>
@@ -1427,43 +1426,43 @@ void SwAnnotationShell::ExecTransliteration(SfxRequest &rReq)
using namespace ::com::sun::star::i18n;
- sal_uInt32 nMode = 0;
+ TransliterationFlags nMode = TransliterationFlags::NONE;
switch( rReq.GetSlot() )
{
case SID_TRANSLITERATE_SENTENCE_CASE:
- nMode = TransliterationModulesExtra::SENTENCE_CASE;
+ nMode = TransliterationFlags::SENTENCE_CASE;
break;
case SID_TRANSLITERATE_TITLE_CASE:
- nMode = TransliterationModulesExtra::TITLE_CASE;
+ nMode = TransliterationFlags::TITLE_CASE;
break;
case SID_TRANSLITERATE_TOGGLE_CASE:
- nMode = TransliterationModulesExtra::TOGGLE_CASE;
+ nMode = TransliterationFlags::TOGGLE_CASE;
break;
case SID_TRANSLITERATE_UPPER:
- nMode = TransliterationModules_LOWERCASE_UPPERCASE;
+ nMode = TransliterationFlags::LOWERCASE_UPPERCASE;
break;
case SID_TRANSLITERATE_LOWER:
- nMode = TransliterationModules_UPPERCASE_LOWERCASE;
+ nMode = TransliterationFlags::UPPERCASE_LOWERCASE;
break;
case SID_TRANSLITERATE_HALFWIDTH:
- nMode = TransliterationModules_FULLWIDTH_HALFWIDTH;
+ nMode = TransliterationFlags::FULLWIDTH_HALFWIDTH;
break;
case SID_TRANSLITERATE_FULLWIDTH:
- nMode = TransliterationModules_HALFWIDTH_FULLWIDTH;
+ nMode = TransliterationFlags::HALFWIDTH_FULLWIDTH;
break;
case SID_TRANSLITERATE_HIRAGANA:
- nMode = TransliterationModules_KATAKANA_HIRAGANA;
+ nMode = TransliterationFlags::KATAKANA_HIRAGANA;
break;
case SID_TRANSLITERATE_KATAGANA:
- nMode = TransliterationModules_HIRAGANA_KATAKANA;
+ nMode = TransliterationFlags::HIRAGANA_KATAKANA;
break;
default:
OSL_ENSURE(false, "wrong dispatcher");
}
- if( nMode )
+ if( nMode != TransliterationFlags::NONE )
pOLV->TransliterateText( nMode );
}
diff --git a/sw/source/uibase/shells/drwtxtsh.cxx b/sw/source/uibase/shells/drwtxtsh.cxx
index 70cc06b6cb24..5537cd54ad89 100644
--- a/sw/source/uibase/shells/drwtxtsh.cxx
+++ b/sw/source/uibase/shells/drwtxtsh.cxx
@@ -19,6 +19,7 @@
#include <hintids.hxx>
#include <i18nlangtag/lang.h>
+#include <i18nutil/transliteration.hxx>
#include <svl/slstitm.hxx>
#include <svl/cjkoptions.hxx>
#include <editeng/fontitem.hxx>
@@ -40,8 +41,6 @@
#include <editeng/outliner.hxx>
#include <editeng/editstat.hxx>
#include <svx/svdoutl.hxx>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
#include <com/sun/star/i18n/TextConversionOption.hpp>
#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
#include <com/sun/star/lang/XInitialization.hpp>
@@ -615,45 +614,45 @@ void SwDrawTextShell::ExecTransliteration( SfxRequest & rReq )
using namespace i18n;
- sal_uInt32 nMode = 0;
+ TransliterationFlags nMode = TransliterationFlags::NONE;
switch( rReq.GetSlot() )
{
case SID_TRANSLITERATE_SENTENCE_CASE:
- nMode = TransliterationModulesExtra::SENTENCE_CASE;
+ nMode = TransliterationFlags::SENTENCE_CASE;
break;
case SID_TRANSLITERATE_TITLE_CASE:
- nMode = TransliterationModulesExtra::TITLE_CASE;
+ nMode = TransliterationFlags::TITLE_CASE;
break;
case SID_TRANSLITERATE_TOGGLE_CASE:
- nMode = TransliterationModulesExtra::TOGGLE_CASE;
+ nMode = TransliterationFlags::TOGGLE_CASE;
break;
case SID_TRANSLITERATE_UPPER:
- nMode = TransliterationModules_LOWERCASE_UPPERCASE;
+ nMode = TransliterationFlags::LOWERCASE_UPPERCASE;
break;
case SID_TRANSLITERATE_LOWER:
- nMode = TransliterationModules_UPPERCASE_LOWERCASE;
+ nMode = TransliterationFlags::UPPERCASE_LOWERCASE;
break;
case SID_TRANSLITERATE_HALFWIDTH:
- nMode = TransliterationModules_FULLWIDTH_HALFWIDTH;
+ nMode = TransliterationFlags::FULLWIDTH_HALFWIDTH;
break;
case SID_TRANSLITERATE_FULLWIDTH:
- nMode = TransliterationModules_HALFWIDTH_FULLWIDTH;
+ nMode = TransliterationFlags::HALFWIDTH_FULLWIDTH;
break;
case SID_TRANSLITERATE_HIRAGANA:
- nMode = TransliterationModules_KATAKANA_HIRAGANA;
+ nMode = TransliterationFlags::KATAKANA_HIRAGANA;
break;
case SID_TRANSLITERATE_KATAGANA:
- nMode = TransliterationModules_HIRAGANA_KATAKANA;
+ nMode = TransliterationFlags::HIRAGANA_KATAKANA;
break;
default:
OSL_ENSURE(false, "wrong dispatcher");
}
- if( nMode )
+ if( nMode != TransliterationFlags::NONE )
{
OutlinerView* pOLV = pSdrView->GetTextEditOutlinerView();
diff --git a/sw/source/uibase/shells/textsh.cxx b/sw/source/uibase/shells/textsh.cxx
index d7b7dc123d17..29b1298898ba 100644
--- a/sw/source/uibase/shells/textsh.cxx
+++ b/sw/source/uibase/shells/textsh.cxx
@@ -52,8 +52,6 @@
#include <vcl/graphicfilter.hxx>
#include <sfx2/htmlmode.hxx>
#include <svtools/htmlcfg.hxx>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
#include <com/sun/star/embed/Aspects.hpp>
#include <comphelper/classids.hxx>
@@ -781,45 +779,45 @@ void SwTextShell::ExecDelete(SfxRequest &rReq)
void SwTextShell::ExecTransliteration( SfxRequest & rReq )
{
using namespace ::com::sun::star::i18n;
- sal_uInt32 nMode = 0;
+ TransliterationFlags nMode = TransliterationFlags::NONE;
switch( rReq.GetSlot() )
{
case SID_TRANSLITERATE_SENTENCE_CASE:
- nMode = TransliterationModulesExtra::SENTENCE_CASE;
+ nMode = TransliterationFlags::SENTENCE_CASE;
break;
case SID_TRANSLITERATE_TITLE_CASE:
- nMode = TransliterationModulesExtra::TITLE_CASE;
+ nMode = TransliterationFlags::TITLE_CASE;
break;
case SID_TRANSLITERATE_TOGGLE_CASE:
- nMode = TransliterationModulesExtra::TOGGLE_CASE;
+ nMode = TransliterationFlags::TOGGLE_CASE;
break;
case SID_TRANSLITERATE_UPPER:
- nMode = TransliterationModules_LOWERCASE_UPPERCASE;
+ nMode = TransliterationFlags::LOWERCASE_UPPERCASE;
break;
case SID_TRANSLITERATE_LOWER:
- nMode = TransliterationModules_UPPERCASE_LOWERCASE;
+ nMode = TransliterationFlags::UPPERCASE_LOWERCASE;
break;
case SID_TRANSLITERATE_HALFWIDTH:
- nMode = TransliterationModules_FULLWIDTH_HALFWIDTH;
+ nMode = TransliterationFlags::FULLWIDTH_HALFWIDTH;
break;
case SID_TRANSLITERATE_FULLWIDTH:
- nMode = TransliterationModules_HALFWIDTH_FULLWIDTH;
+ nMode = TransliterationFlags::HALFWIDTH_FULLWIDTH;
break;
case SID_TRANSLITERATE_HIRAGANA:
- nMode = TransliterationModules_KATAKANA_HIRAGANA;
+ nMode = TransliterationFlags::KATAKANA_HIRAGANA;
break;
case SID_TRANSLITERATE_KATAGANA:
- nMode = TransliterationModules_HIRAGANA_KATAKANA;
+ nMode = TransliterationFlags::HIRAGANA_KATAKANA;
break;
default:
OSL_ENSURE(false, "wrong dispatcher");
}
- if( nMode )
+ if( nMode != TransliterationFlags::NONE )
GetShell().TransliterateText( nMode );
}
diff --git a/sw/source/uibase/uiview/srcview.cxx b/sw/source/uibase/uiview/srcview.cxx
index 77950de87c9f..bb1827bc21a1 100644
--- a/sw/source/uibase/uiview/srcview.cxx
+++ b/sw/source/uibase/uiview/srcview.cxx
@@ -18,7 +18,6 @@
*/
#include <hintids.hxx>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/ui/dialogs/TemplateDescription.hpp>
#include <comphelper/string.hxx>
#include <unotools/tempfile.hxx>
@@ -94,7 +93,6 @@ using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::ui::dialogs;
using namespace ::sfx2;
-using ::com::sun::star::util::SearchOptions2;
#define SWSRCVIEWFLAGS ( SfxViewShellFlags::CAN_PRINT | SfxViewShellFlags::NO_NEWWINDOW )
@@ -579,7 +577,7 @@ void SwSrcView::StartSearchAndReplace(const SvxSearchItem& rSearchItem,
if( !bForward )
aPaM = TextPaM( TEXT_PARA_ALL, TEXT_INDEX_ALL );
- util::SearchOptions2 aSearchOpt( rSearchItem.GetSearchOptions() );
+ i18nutil::SearchOptions2 aSearchOpt( rSearchItem.GetSearchOptions() );
aSearchOpt.Locale = GetAppLanguageTag().getLocale();
sal_uInt16 nFound;
diff --git a/sw/source/uibase/uiview/view2.cxx b/sw/source/uibase/uiview/view2.cxx
index af44ff794712..9fa93e28003e 100644
--- a/sw/source/uibase/uiview/view2.cxx
+++ b/sw/source/uibase/uiview/view2.cxx
@@ -19,9 +19,7 @@
#include <config_features.h>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/util/SearchAlgorithms2.hpp>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
#include <o3tl/any.hxx>
#include <vcl/graphicfilter.hxx>
#include <com/sun/star/sdb/DatabaseContext.hpp>
@@ -146,6 +144,7 @@
#include <vcl/GraphicNativeTransform.hxx>
#include <vcl/GraphicNativeMetadata.hxx>
#include <vcl/settings.hxx>
+#include <i18nutil/searchopt.hxx>
#include <memory>
@@ -1992,12 +1991,12 @@ bool SwView::JumpToSwMark( const OUString& rMark )
// normal text search
m_pWrtShell->EnterStdMode();
- SearchOptions2 aSearchOpt(
+ i18nutil::SearchOptions2 aSearchOpt(
SearchAlgorithms_ABSOLUTE, 0,
sName, OUString(),
SvtSysLocale().GetLanguageTag().getLocale(),
0,0,0,
- TransliterationModules_IGNORE_CASE,
+ TransliterationFlags::IGNORE_CASE,
SearchAlgorithms2::ABSOLUTE,
'\\' );
diff --git a/sw/source/uibase/uiview/viewsrch.cxx b/sw/source/uibase/uiview/viewsrch.cxx
index 6bbc5f402b7b..f29aa9427924 100644
--- a/sw/source/uibase/uiview/viewsrch.cxx
+++ b/sw/source/uibase/uiview/viewsrch.cxx
@@ -26,7 +26,6 @@
#include <hintids.hxx>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <svl/cjkoptions.hxx>
#include <svl/ctloptions.hxx>
#include <svx/pageitem.hxx>
@@ -310,7 +309,7 @@ void SwView::ExecSearch(SfxRequest& rReq)
if (bBack)
m_pWrtShell->Push();
OUString aReplace( m_pSrchItem->GetReplaceString() );
- SearchOptions2 aTmp( m_pSrchItem->GetSearchOptions() );
+ i18nutil::SearchOptions2 aTmp( m_pSrchItem->GetSearchOptions() );
OUString *pBackRef = ReplaceBackReferences( aTmp, m_pWrtShell->GetCursor() );
if( pBackRef )
m_pSrchItem->SetReplaceString( *pBackRef );
@@ -833,7 +832,7 @@ sal_uLong SwView::FUNC_Search( const SwSearchOptions& rOptions )
// build SearchOptions to be used
- SearchOptions2 aSearchOpt( m_pSrchItem->GetSearchOptions() );
+ i18nutil::SearchOptions2 aSearchOpt( m_pSrchItem->GetSearchOptions() );
aSearchOpt.Locale = GetAppLanguageTag().getLocale();
if( !bDoReplace )
aSearchOpt.replaceString.clear();
diff --git a/sw/source/uibase/uno/unotxdoc.cxx b/sw/source/uibase/uno/unotxdoc.cxx
index 4c18778dec5c..cea95ba2b755 100644
--- a/sw/source/uibase/uno/unotxdoc.cxx
+++ b/sw/source/uibase/uno/unotxdoc.cxx
@@ -84,7 +84,6 @@
#include <globals.hrc>
#include <unomid.h>
#include <unotools/printwarningoptions.hxx>
-#include <com/sun/star/util/SearchOptions2.hpp>
#include <com/sun/star/lang/ServiceNotRegisteredException.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
#include <com/sun/star/util/XNumberFormatsSupplier.hpp>
@@ -135,6 +134,7 @@
#include <editeng/langitem.hxx>
#include <docary.hxx>
#include <i18nlangtag/languagetag.hxx>
+#include <i18nutil/searchopt.hxx>
#include <format.hxx>
#include <charfmt.hxx>
@@ -749,7 +749,7 @@ sal_Int32 SwXTextDocument::replaceAll(const Reference< util::XSearchDescriptor >
int eRanges(FindRanges::InBody|FindRanges::InSelAll);
- util::SearchOptions2 aSearchOpt;
+ i18nutil::SearchOptions2 aSearchOpt;
pSearch->FillSearchOptions( aSearchOpt );
SwDocPositions eStart = pSearch->m_bBack ? SwDocPositions::End : SwDocPositions::Start;
@@ -871,7 +871,7 @@ SwUnoCursor* SwXTextDocument::FindAny(const Reference< util::XSearchDescriptor >
rRangeNode.FindFooterStartNode() ;
}
- util::SearchOptions2 aSearchOpt;
+ i18nutil::SearchOptions2 aSearchOpt;
pSearch->FillSearchOptions( aSearchOpt );
/**
diff --git a/sw/source/uibase/wrtsh/select.cxx b/sw/source/uibase/wrtsh/select.cxx
index 0874d2af4f73..34542165c62f 100644
--- a/sw/source/uibase/wrtsh/select.cxx
+++ b/sw/source/uibase/wrtsh/select.cxx
@@ -209,7 +209,7 @@ long SwWrtShell::SelAll()
// Description: Text search
-sal_uLong SwWrtShell::SearchPattern( const SearchOptions2& rSearchOpt, bool bSearchInNotes,
+sal_uLong SwWrtShell::SearchPattern( const i18nutil::SearchOptions2& rSearchOpt, bool bSearchInNotes,
SwDocPositions eStt, SwDocPositions eEnd,
FindRanges eFlags, bool bReplace )
{
@@ -255,7 +255,7 @@ sal_uLong SwWrtShell::SearchTempl( const OUString &rTempl,
sal_uLong SwWrtShell::SearchAttr( const SfxItemSet& rFindSet, bool bNoColls,
SwDocPositions eStart, SwDocPositions eEnd,
- FindRanges eFlags, const SearchOptions2* pSearchOpt,
+ FindRanges eFlags, const i18nutil::SearchOptions2* pSearchOpt,
const SfxItemSet* pReplaceSet )
{
// no enhancement of existing selections
diff --git a/unotools/source/config/searchopt.cxx b/unotools/source/config/searchopt.cxx
index f6a0fbffe575..b4d570496ffb 100644
--- a/unotools/source/config/searchopt.cxx
+++ b/unotools/source/config/searchopt.cxx
@@ -22,16 +22,14 @@
#include <unotools/searchopt.hxx>
#include <tools/debug.hxx>
#include <unotools/configitem.hxx>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/uno/Any.h>
#include <sal/macros.h>
#include <osl/diagnose.h>
+#include <i18nutil/transliteration.hxx>
using namespace utl;
using namespace com::sun::star::uno;
-using namespace com::sun::star::i18n;
#define MAX_FLAGS_OFFSET 29
@@ -268,52 +266,52 @@ void SvtSearchOptions::Commit()
pImpl->Commit();
}
-sal_Int32 SvtSearchOptions::GetTransliterationFlags() const
+TransliterationFlags SvtSearchOptions::GetTransliterationFlags() const
{
- sal_Int32 nRes = 0;
+ TransliterationFlags nRes = TransliterationFlags::NONE;
if (!IsMatchCase()) // 'IsMatchCase' means act case sensitive
- nRes |= TransliterationModules_IGNORE_CASE;
+ nRes |= TransliterationFlags::IGNORE_CASE;
if ( IsMatchFullHalfWidthForms())
- nRes |= TransliterationModules_IGNORE_WIDTH;
+ nRes |= TransliterationFlags::IGNORE_WIDTH;
if ( IsMatchHiraganaKatakana())
- nRes |= TransliterationModules_IGNORE_KANA;
+ nRes |= TransliterationFlags::IGNORE_KANA;
if ( IsMatchContractions())
- nRes |= TransliterationModules_ignoreSize_ja_JP;
+ nRes |= TransliterationFlags::ignoreSize_ja_JP;
if ( IsMatchMinusDashChoon())
- nRes |= TransliterationModules_ignoreMinusSign_ja_JP;
+ nRes |= TransliterationFlags::ignoreMinusSign_ja_JP;
if ( IsMatchRepeatCharMarks())
- nRes |= TransliterationModules_ignoreIterationMark_ja_JP;
+ nRes |= TransliterationFlags::ignoreIterationMark_ja_JP;
if ( IsMatchVariantFormKanji())
- nRes |= TransliterationModules_ignoreTraditionalKanji_ja_JP;
+ nRes |= TransliterationFlags::ignoreTraditionalKanji_ja_JP;
if ( IsMatchOldKanaForms())
- nRes |= TransliterationModules_ignoreTraditionalKana_ja_JP;
+ nRes |= TransliterationFlags::ignoreTraditionalKana_ja_JP;
if ( IsMatchDiziDuzu())
- nRes |= TransliterationModules_ignoreZiZu_ja_JP;
+ nRes |= TransliterationFlags::ignoreZiZu_ja_JP;
if ( IsMatchBavaHafa())
- nRes |= TransliterationModules_ignoreBaFa_ja_JP;
+ nRes |= TransliterationFlags::ignoreBaFa_ja_JP;
if ( IsMatchTsithichiDhizi())
- nRes |= TransliterationModules_ignoreTiJi_ja_JP;
+ nRes |= TransliterationFlags::ignoreTiJi_ja_JP;
if ( IsMatchHyuiyuByuvyu())
- nRes |= TransliterationModules_ignoreHyuByu_ja_JP;
+ nRes |= TransliterationFlags::ignoreHyuByu_ja_JP;
if ( IsMatchSesheZeje())
- nRes |= TransliterationModules_ignoreSeZe_ja_JP;
+ nRes |= TransliterationFlags::ignoreSeZe_ja_JP;
if ( IsMatchIaiya())
- nRes |= TransliterationModules_ignoreIandEfollowedByYa_ja_JP;
+ nRes |= TransliterationFlags::ignoreIandEfollowedByYa_ja_JP;
if ( IsMatchKiku())
- nRes |= TransliterationModules_ignoreKiKuFollowedBySa_ja_JP;
+ nRes |= TransliterationFlags::ignoreKiKuFollowedBySa_ja_JP;
if ( IsIgnorePunctuation())
- nRes |= TransliterationModules_ignoreSeparator_ja_JP;
+ nRes |= TransliterationFlags::ignoreSeparator_ja_JP;
if ( IsIgnoreWhitespace())
- nRes |= TransliterationModules_ignoreSpace_ja_JP;
+ nRes |= TransliterationFlags::ignoreSpace_ja_JP;
if ( IsIgnoreProlongedSoundMark())
- nRes |= TransliterationModules_ignoreProlongedSoundMark_ja_JP;
+ nRes |= TransliterationFlags::ignoreProlongedSoundMark_ja_JP;
if ( IsIgnoreMiddleDot())
- nRes |= TransliterationModules_ignoreMiddleDot_ja_JP;
+ nRes |= TransliterationFlags::ignoreMiddleDot_ja_JP;
if ( IsIgnoreDiacritics_CTL())
- nRes |= TransliterationModulesExtra::IGNORE_DIACRITICS_CTL;
+ nRes |= TransliterationFlags::IGNORE_DIACRITICS_CTL;
if ( IsIgnoreKashida_CTL())
- nRes |= TransliterationModulesExtra::IGNORE_KASHIDA_CTL;
+ nRes |= TransliterationFlags::IGNORE_KASHIDA_CTL;
return nRes;
}
diff --git a/unotools/source/i18n/caserotate.cxx b/unotools/source/i18n/caserotate.cxx
index d69fe0c63ad7..d4921e9053ef 100644
--- a/unotools/source/i18n/caserotate.cxx
+++ b/unotools/source/i18n/caserotate.cxx
@@ -8,29 +8,26 @@
*/
#include <unotools/caserotate.hxx>
-#include <com/sun/star/i18n/TransliterationModules.hpp>
-#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
+#include <i18nutil/transliteration.hxx>
//TODO Use XCharacterClassification::getStringType to determine the current
//(possibly mixed) case type and rotate to the next one
-sal_uInt32 RotateTransliteration::getNextMode()
+TransliterationFlags RotateTransliteration::getNextMode()
{
- using namespace ::com::sun::star::i18n;
-
- sal_uInt32 nMode = 0;
+ TransliterationFlags nMode = TransliterationFlags::NONE;
switch (nF3ShiftCounter)
{
case 0:
- nMode = TransliterationModulesExtra::TITLE_CASE;
+ nMode = TransliterationFlags::TITLE_CASE;
break;
case 1:
- nMode = TransliterationModules_LOWERCASE_UPPERCASE;
+ nMode = TransliterationFlags::LOWERCASE_UPPERCASE;
break;
default:
case 2:
- nMode = TransliterationModules_UPPERCASE_LOWERCASE;
+ nMode = TransliterationFlags::UPPERCASE_LOWERCASE;
nF3ShiftCounter = -1;
break;
}
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 );
diff --git a/unotools/source/i18n/transliterationwrapper.cxx b/unotools/source/i18n/transliterationwrapper.cxx
index 4e69bb9eaa02..6e0cd7b521b3 100644
--- a/unotools/source/i18n/transliterationwrapper.cxx
+++ b/unotools/source/i18n/transliterationwrapper.cxx
@@ -22,6 +22,7 @@
#include <sal/log.hxx>
#include <unotools/transliterationwrapper.hxx>
#include <i18nlangtag/languagetag.hxx>
+#include <i18nutil/transliteration.hxx>
#include <com/sun/star/i18n/TransliterationModulesExtra.hpp>
#include <com/sun/star/i18n/Transliteration.hpp>
@@ -33,7 +34,7 @@ using namespace ::utl;
TransliterationWrapper::TransliterationWrapper(
const Reference< XComponentContext > & rxContext,
- sal_uInt32 nTyp )
+ TransliterationFlags nTyp )
: xTrans( Transliteration::create(rxContext) ),
aLanguageTag( LANGUAGE_SYSTEM ), nType( nTyp ), bFirstCall( true )
{
@@ -87,12 +88,12 @@ OUString TransliterationWrapper::transliterate( const OUString& rStr,
bool TransliterationWrapper::needLanguageForTheMode() const
{
- return TransliterationModules_UPPERCASE_LOWERCASE == nType ||
- TransliterationModules_LOWERCASE_UPPERCASE == nType ||
- TransliterationModules_IGNORE_CASE == nType ||
- (sal_uInt32) TransliterationModulesExtra::SENTENCE_CASE == (sal_uInt32) nType ||
- (sal_uInt32) TransliterationModulesExtra::TITLE_CASE == (sal_uInt32) nType ||
- (sal_uInt32) TransliterationModulesExtra::TOGGLE_CASE == (sal_uInt32) nType;
+ return TransliterationFlags::UPPERCASE_LOWERCASE == nType ||
+ TransliterationFlags::LOWERCASE_UPPERCASE == nType ||
+ TransliterationFlags::IGNORE_CASE == nType ||
+ TransliterationFlags::SENTENCE_CASE == nType ||
+ TransliterationFlags::TITLE_CASE == nType ||
+ TransliterationFlags::TOGGLE_CASE == nType;
}
void TransliterationWrapper::setLanguageLocaleImpl( sal_uInt16 nLang )
@@ -107,17 +108,17 @@ void TransliterationWrapper::loadModuleIfNeeded( sal_uInt16 nLang )
bool bLoad = bFirstCall;
bFirstCall = false;
- if( static_cast< sal_Int32 >(nType) == TransliterationModulesExtra::SENTENCE_CASE )
+ if( nType == TransliterationFlags::SENTENCE_CASE )
{
if( bLoad )
loadModuleByImplName("SENTENCE_CASE", nLang);
}
- else if( static_cast< sal_Int32 >(nType) == TransliterationModulesExtra::TITLE_CASE )
+ else if( nType == TransliterationFlags::TITLE_CASE )
{
if( bLoad )
loadModuleByImplName("TITLE_CASE", nLang);
}
- else if( static_cast< sal_Int32 >(nType) == TransliterationModulesExtra::TOGGLE_CASE )
+ else if( nType == TransliterationFlags::TOGGLE_CASE )
{
if( bLoad )
loadModuleByImplName("TOGGLE_CASE", nLang);
diff --git a/vcl/source/app/i18nhelp.cxx b/vcl/source/app/i18nhelp.cxx
index f4f47a553c4d..696d971a30b4 100644
--- a/vcl/source/app/i18nhelp.cxx
+++ b/vcl/source/app/i18nhelp.cxx
@@ -22,13 +22,13 @@
#include "unotools/transliterationwrapper.hxx"
#include "i18nlangtag/languagetag.hxx"
+#include "i18nutil/transliteration.hxx"
#include "rtl/ustrbuf.hxx"
#include <vcl/i18nhelp.hxx>
#include "com/sun/star/lang/XMultiServiceFactory.hpp"
-#include "com/sun/star/i18n/TransliterationModules.hpp"
using namespace ::com::sun::star;
@@ -60,11 +60,11 @@ utl::TransliterationWrapper& vcl::I18nHelper::ImplGetTransliterationWrapper() co
{
if ( !mpTransliterationWrapper )
{
- sal_Int32 nModules = i18n::TransliterationModules_IGNORE_WIDTH;
+ TransliterationFlags nModules = TransliterationFlags::IGNORE_WIDTH;
if ( mbTransliterateIgnoreCase )
- nModules |= i18n::TransliterationModules_IGNORE_CASE;
+ nModules |= TransliterationFlags::IGNORE_CASE;
- const_cast<vcl::I18nHelper*>(this)->mpTransliterationWrapper = new utl::TransliterationWrapper( m_xContext, (i18n::TransliterationModules)nModules );
+ const_cast<vcl::I18nHelper*>(this)->mpTransliterationWrapper = new utl::TransliterationWrapper( m_xContext, nModules );
const_cast<vcl::I18nHelper*>(this)->mpTransliterationWrapper->loadModuleIfNeeded( maLanguageTag.getLanguageType() );
}
return *mpTransliterationWrapper;
diff --git a/vcl/source/edit/textview.cxx b/vcl/source/edit/textview.cxx
index f810b56ac7bf..120b2ff5d172 100644
--- a/vcl/source/edit/textview.cxx
+++ b/vcl/source/edit/textview.cxx
@@ -17,6 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <i18nutil/searchopt.hxx>
#include <vcl/textview.hxx>
#include <vcl/texteng.hxx>
#include <vcl/settings.hxx>
@@ -2248,7 +2249,7 @@ bool TextView::MatchGroup()
return aMatchSel.HasRange();
}
-bool TextView::Search( const css::util::SearchOptions& rSearchOptions, bool bForward )
+bool TextView::Search( const i18nutil::SearchOptions& rSearchOptions, bool bForward )
{
bool bFound = false;
TextSelection aSel( GetSelection() );
@@ -2271,7 +2272,7 @@ bool TextView::Search( const css::util::SearchOptions& rSearchOptions, bool bFor
return bFound;
}
-sal_uInt16 TextView::Replace( const css::util::SearchOptions& rSearchOptions, bool bAll, bool bForward )
+sal_uInt16 TextView::Replace( const i18nutil::SearchOptions& rSearchOptions, bool bAll, bool bForward )
{
sal_uInt16 nFound = 0;
diff --git a/vcl/source/edit/xtextedt.cxx b/vcl/source/edit/xtextedt.cxx
index 2a43f958158e..aa630c7ecab0 100644
--- a/vcl/source/edit/xtextedt.cxx
+++ b/vcl/source/edit/xtextedt.cxx
@@ -17,6 +17,7 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <i18nutil/searchopt.hxx>
#include <vcl/xtextedt.hxx>
#include <vcl/svapp.hxx>
#include <vcl/settings.hxx>
@@ -133,7 +134,7 @@ TextSelection ExtTextEngine::MatchGroup( const TextPaM& rCursor ) const
return aSel;
}
-bool ExtTextEngine::Search( TextSelection& rSel, const util::SearchOptions& rSearchOptions, bool bForward )
+bool ExtTextEngine::Search( TextSelection& rSel, const i18nutil::SearchOptions& rSearchOptions, bool bForward )
{
TextSelection aSel( rSel );
aSel.Justify();
@@ -156,9 +157,9 @@ bool ExtTextEngine::Search( TextSelection& rSel, const util::SearchOptions& rSea
const sal_uInt32 nStartNode = aStartPaM.GetPara();
- util::SearchOptions aOptions( rSearchOptions );
+ i18nutil::SearchOptions aOptions( rSearchOptions );
aOptions.Locale = Application::GetSettings().GetLanguageTag().getLocale();
- utl::TextSearch aSearcher( utl::TextSearch::UpgradeToSearchOptions2( aOptions));
+ utl::TextSearch aSearcher( utl::TextSearch::UpgradeToSearchOptions2(aOptions) );
// iterate over the paragraphs
for ( sal_uInt32 nNode = nStartNode;