Kaydet (Commit) d2771b63 authored tarafından Faisal M. Al-Otaibi's avatar Faisal M. Al-Otaibi

fdo#77123: Add option ignore kashida to the search

This patch will add new checkbox to ignore kashida in the
search and replace dialog.

Change-Id: I9e7179242751103b8418d922ade5b9145170ad15
üst 411297a0
...@@ -1394,6 +1394,7 @@ bool OfaLanguagesTabPage::FillItemSet( SfxItemSet& rSet ) ...@@ -1394,6 +1394,7 @@ bool OfaLanguagesTabPage::FillItemSet( SfxItemSet& rSet )
{ {
SvtSearchOptions aOpt; SvtSearchOptions aOpt;
aOpt.SetIgnoreDiacritics_CTL (true); aOpt.SetIgnoreDiacritics_CTL (true);
aOpt.SetIgnoreKashida_CTL (true);
pLangConfig->aLanguageOptions.SetCTLFontEnabled( m_pCTLSupportCB->IsChecked() ); pLangConfig->aLanguageOptions.SetCTLFontEnabled( m_pCTLSupportCB->IsChecked() );
const sal_uInt16 STATE_COUNT = 1; const sal_uInt16 STATE_COUNT = 1;
......
...@@ -94,6 +94,7 @@ $(eval $(call gb_Library_add_exception_objects,i18npool,\ ...@@ -94,6 +94,7 @@ $(eval $(call gb_Library_add_exception_objects,i18npool,\
i18npool/source/transliteration/ignoreWidth \ i18npool/source/transliteration/ignoreWidth \
i18npool/source/transliteration/ignoreZiZu_ja_JP \ i18npool/source/transliteration/ignoreZiZu_ja_JP \
i18npool/source/transliteration/ignoreDiacritics_CTL \ i18npool/source/transliteration/ignoreDiacritics_CTL \
i18npool/source/transliteration/ignoreKashida_CTL \
i18npool/source/transliteration/katakanaToHiragana \ i18npool/source/transliteration/katakanaToHiragana \
i18npool/source/transliteration/largeToSmall_ja_JP \ i18npool/source/transliteration/largeToSmall_ja_JP \
i18npool/source/transliteration/numtochar \ i18npool/source/transliteration/numtochar \
......
...@@ -118,6 +118,10 @@ TRANSLITERATION_IGNORE(ZiZu_ja_JP) ...@@ -118,6 +118,10 @@ TRANSLITERATION_IGNORE(ZiZu_ja_JP)
TRANSLITERATION_IGNORE(Diacritics_CTL) TRANSLITERATION_IGNORE(Diacritics_CTL)
#endif #endif
#if defined( TRANSLITERATION_Kashida_CTL ) || defined( TRANSLITERATION_ALL )
TRANSLITERATION_IGNORE(Kashida_CTL)
#endif
#undef TRANSLITERATION_IGNORE #undef TRANSLITERATION_IGNORE
#define TRANSLITERATION_IGNORE( name ) \ #define TRANSLITERATION_IGNORE( name ) \
......
...@@ -466,6 +466,7 @@ ...@@ -466,6 +466,7 @@
<Transliteration unoid="TOGGLE_CASE"/> <Transliteration unoid="TOGGLE_CASE"/>
<Transliteration unoid="IGNORE_CASE"/> <Transliteration unoid="IGNORE_CASE"/>
<Transliteration unoid="ignoreDiacritics_CTL"/> <Transliteration unoid="ignoreDiacritics_CTL"/>
<Transliteration unoid="ignoreKashida_CTL"/>
</LC_TRANSLITERATION> </LC_TRANSLITERATION>
<LC_MISC> <LC_MISC>
<ReservedWords> <ReservedWords>
......
...@@ -156,6 +156,7 @@ IMPL_CREATEINSTANCE( ignoreProlongedSoundMark_ja_JP) ...@@ -156,6 +156,7 @@ IMPL_CREATEINSTANCE( ignoreProlongedSoundMark_ja_JP)
IMPL_CREATEINSTANCE( ignoreMiddleDot_ja_JP) IMPL_CREATEINSTANCE( ignoreMiddleDot_ja_JP)
IMPL_CREATEINSTANCE( ignoreSpace_ja_JP) IMPL_CREATEINSTANCE( ignoreSpace_ja_JP)
IMPL_CREATEINSTANCE( ignoreDiacritics_CTL) IMPL_CREATEINSTANCE( ignoreDiacritics_CTL)
IMPL_CREATEINSTANCE( ignoreKashida_CTL)
IMPL_CREATEINSTANCE( TextToChuyin_zh_TW ) IMPL_CREATEINSTANCE( TextToChuyin_zh_TW )
IMPL_CREATEINSTANCE( TextToPinyin_zh_CN ) IMPL_CREATEINSTANCE( TextToPinyin_zh_CN )
...@@ -381,6 +382,7 @@ static const struct InstancesArray { ...@@ -381,6 +382,7 @@ static const struct InstancesArray {
IMPL_TRANSLITERATION_ITEM (TextToPinyin_zh_CN), IMPL_TRANSLITERATION_ITEM (TextToPinyin_zh_CN),
IMPL_TRANSLITERATION_ITEM (TextToChuyin_zh_TW), IMPL_TRANSLITERATION_ITEM (TextToChuyin_zh_TW),
IMPL_TRANSLITERATION_ITEM( ignoreDiacritics_CTL), IMPL_TRANSLITERATION_ITEM( ignoreDiacritics_CTL),
IMPL_TRANSLITERATION_ITEM (ignoreKashida_CTL),
IMPL_TRANSLITERATION_ITEM (NumToCharUpper_zh_CN), IMPL_TRANSLITERATION_ITEM (NumToCharUpper_zh_CN),
IMPL_TRANSLITERATION_ITEM (NumToCharLower_zh_CN), IMPL_TRANSLITERATION_ITEM (NumToCharLower_zh_CN),
......
/* -*- 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/.
*/
#define TRANSLITERATION_Kashida_CTL
#include <transliteration_Ignore.hxx>
namespace com { namespace sun { namespace star { namespace i18n {
sal_Unicode
ignoreKashida_CTL_translator (const sal_Unicode c)
{
if( c == 0x0640 ) // Check if it's Kashida
return 0xffff; // Then skip this character
return c;
}
ignoreKashida_CTL::ignoreKashida_CTL()
{
func = ignoreKashida_CTL_translator;
table = 0;
map = 0;
transliterationName = "ignoreKashida_CTL";
implementationName = "com.sun.star.i18n.Transliteration.ignoreKashida_CTL";
}
} } } }
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -199,6 +199,10 @@ TransliterationImpl::loadModule( TransliterationModules modType, const Locale& r ...@@ -199,6 +199,10 @@ TransliterationImpl::loadModule( TransliterationModules modType, const Locale& r
if (loadModuleByName(OUString("ignoreDiacritics_CTL"), bodyCascade[numCascade], rLocale)) if (loadModuleByName(OUString("ignoreDiacritics_CTL"), bodyCascade[numCascade], rLocale))
numCascade++; numCascade++;
} }
if (modType & TransliterationModulesExtra::ignoreKashida_CTL)
if (loadModuleByName(OUString("ignoreKashida_CTL"), bodyCascade[numCascade], rLocale))
numCascade++;
} else if (modType&TransliterationModules_NON_IGNORE_MASK) { } else if (modType&TransliterationModules_NON_IGNORE_MASK) {
for (sal_Int16 i = 0; TMlist[i].tm; i++) { for (sal_Int16 i = 0; TMlist[i].tm; i++) {
if (TMlist[i].tm == modType) { if (TMlist[i].tm == modType) {
......
...@@ -492,4 +492,7 @@ ...@@ -492,4 +492,7 @@
<implementation name="com.sun.star.i18n.Transliteration.ignoreDiacritics_CTL"> <implementation name="com.sun.star.i18n.Transliteration.ignoreDiacritics_CTL">
<service name="com.sun.star.i18n.Transliteration.l10n"/> <service name="com.sun.star.i18n.Transliteration.l10n"/>
</implementation> </implementation>
<implementation name="com.sun.star.i18n.Transliteration.ignoreKashida_CTL">
<service name="com.sun.star.i18n.Transliteration.l10n"/>
</implementation>
</component> </component>
...@@ -178,6 +178,7 @@ private: ...@@ -178,6 +178,7 @@ private:
PushButton* m_pCloseBtn; PushButton* m_pCloseBtn;
CheckBox* m_pIgnoreDiacritics; CheckBox* m_pIgnoreDiacritics;
CheckBox* m_pIgnoreKashida;
CheckBox* m_pSelectionBtn; CheckBox* m_pSelectionBtn;
CheckBox* m_pBackwardsBtn; CheckBox* m_pBackwardsBtn;
CheckBox* m_pRegExpBtn; CheckBox* m_pRegExpBtn;
......
...@@ -80,6 +80,7 @@ public: ...@@ -80,6 +80,7 @@ public:
bool IsIgnoreProlongedSoundMark() const; bool IsIgnoreProlongedSoundMark() const;
bool IsIgnoreMiddleDot() const; bool IsIgnoreMiddleDot() const;
bool IsIgnoreDiacritics_CTL() const; bool IsIgnoreDiacritics_CTL() const;
bool IsIgnoreKashida_CTL() const;
void SetMatchFullHalfWidthForms( bool bVal ); void SetMatchFullHalfWidthForms( bool bVal );
void SetMatchHiraganaKatakana( bool bVal ); void SetMatchHiraganaKatakana( bool bVal );
...@@ -100,6 +101,7 @@ public: ...@@ -100,6 +101,7 @@ public:
void SetIgnoreProlongedSoundMark( bool bVal ); void SetIgnoreProlongedSoundMark( bool bVal );
void SetIgnoreMiddleDot( bool bVal ); void SetIgnoreMiddleDot( bool bVal );
void SetIgnoreDiacritics_CTL( bool bVal ); void SetIgnoreDiacritics_CTL( bool bVal );
void SetIgnoreKashida_CTL( bool bVal );
}; };
#endif #endif
......
...@@ -67,7 +67,6 @@ published enum TransliterationModules ...@@ -67,7 +67,6 @@ published enum TransliterationModules
IGNORE_KANA = 0x00000200, // ja_JP IGNORE_KANA = 0x00000200, // ja_JP
/// Ignore full width and half width character when comparing strings by transliteration service /// Ignore full width and half width character when comparing strings by transliteration service
IGNORE_WIDTH = 0x00000400, // ja_JP IGNORE_WIDTH = 0x00000400, // ja_JP
// not used yet = 0x00000800,
/// Ignore Japanese traditional Kanji character in Japanese fuzzy search /// Ignore Japanese traditional Kanji character in Japanese fuzzy search
ignoreTraditionalKanji_ja_JP = 0x00001000, ignoreTraditionalKanji_ja_JP = 0x00001000,
/// Ignore Japanese traditional Katakana and Hiragana character in Japanese fuzzy search /// Ignore Japanese traditional Katakana and Hiragana character in Japanese fuzzy search
......
...@@ -52,6 +52,8 @@ constants TransliterationModulesExtra ...@@ -52,6 +52,8 @@ constants TransliterationModulesExtra
/// because we cannot extend TransliterationModule we used TranslationModuleExtra and it will act the same way /// because we cannot extend TransliterationModule we used TranslationModuleExtra and it will act the same way
const long ignoreDiacritics_CTL = 0x40000000; const long ignoreDiacritics_CTL = 0x40000000;
const long ignoreKashida_CTL = 0x00000800;
const long END_OF_MODULE = 0; const long END_OF_MODULE = 0;
}; };
......
...@@ -5925,6 +5925,15 @@ ...@@ -5925,6 +5925,15 @@
</info> </info>
<value>true</value> <value>true</value>
</prop> </prop>
<prop oor:name="IsIgnoreKashida_CTL" oor:type="xs:boolean" oor:nillable="false">
<!-- OldPath: -->
<!-- OldLocation: -->
<!-- UIHints: Edit/Find & Replace -->
<info>
<desc>Specifies search with the use of CTL option.</desc>
</info>
<value>true</value>
</prop>
<prop oor:name="IsUseAsianOptions" oor:type="xs:boolean" oor:nillable="false"> <prop oor:name="IsUseAsianOptions" oor:type="xs:boolean" oor:nillable="false">
<!-- OldPath: --> <!-- OldPath: -->
<!-- OldLocation: --> <!-- OldLocation: -->
......
...@@ -958,6 +958,12 @@ ...@@ -958,6 +958,12 @@
</info> </info>
<value>true</value> <value>true</value>
</prop> </prop>
<prop oor:name="IsIgnoreKashida_CTL" oor:type="xs:boolean" oor:nillable="false">
<info>
<desc>Specifies search with the use of CTL option.</desc>
</info>
<value>true</value>
</prop>
<prop oor:name="IsUseAsianOptions" oor:type="xs:boolean" oor:nillable="false"> <prop oor:name="IsUseAsianOptions" oor:type="xs:boolean" oor:nillable="false">
<info> <info>
<desc>Specifies that the Asian options for search should be used.</desc> <desc>Specifies that the Asian options for search should be used.</desc>
......
...@@ -84,7 +84,8 @@ static Sequence< OUString > lcl_GetNotifyNames() ...@@ -84,7 +84,8 @@ static Sequence< OUString > lcl_GetNotifyNames()
"Japanese/IsIgnoreWhitespace", // 16 "Japanese/IsIgnoreWhitespace", // 16
"Japanese/IsIgnoreProlongedSoundMark", // 17 "Japanese/IsIgnoreProlongedSoundMark", // 17
"Japanese/IsIgnoreMiddleDot", // 18 "Japanese/IsIgnoreMiddleDot", // 18
"IsIgnoreDiacritics_CTL" // 19 "IsIgnoreDiacritics_CTL", // 19
"IsIgnoreKashida_CTL" // 20
}; };
const int nCount = SAL_N_ELEMENTS( aTranslitNames ); const int nCount = SAL_N_ELEMENTS( aTranslitNames );
...@@ -145,6 +146,8 @@ SvxSearchItem::SvxSearchItem( const sal_uInt16 nId ) : ...@@ -145,6 +146,8 @@ SvxSearchItem::SvxSearchItem( const sal_uInt16 nId ) :
rFlags |= TransliterationModules_IGNORE_WIDTH; rFlags |= TransliterationModules_IGNORE_WIDTH;
if ( aOpt.IsIgnoreDiacritics_CTL()) if ( aOpt.IsIgnoreDiacritics_CTL())
rFlags |= TransliterationModulesExtra::ignoreDiacritics_CTL ; rFlags |= TransliterationModulesExtra::ignoreDiacritics_CTL ;
if ( aOpt.IsIgnoreKashida_CTL())
rFlags |= TransliterationModulesExtra::ignoreKashida_CTL ;
if ( bAsianOptions ) if ( bAsianOptions )
{ {
if ( aOpt.IsMatchHiraganaKatakana()) if ( aOpt.IsMatchHiraganaKatakana())
......
...@@ -306,6 +306,7 @@ SvxSearchDialog::SvxSearchDialog( Window* pParent, SfxChildWindow* pChildWin, Sf ...@@ -306,6 +306,7 @@ SvxSearchDialog::SvxSearchDialog( Window* pParent, SfxChildWindow* pChildWin, Sf
get(m_pCloseBtn, "close"); get(m_pCloseBtn, "close");
get(m_pIgnoreDiacritics, "ignorediacritics"); get(m_pIgnoreDiacritics, "ignorediacritics");
get(m_pIgnoreKashida, "ignorekashida");
get(m_pSelectionBtn, "selection"); get(m_pSelectionBtn, "selection");
get(m_pBackwardsBtn, "backwards"); get(m_pBackwardsBtn, "backwards");
get(m_pRegExpBtn, "regexp"); get(m_pRegExpBtn, "regexp");
...@@ -428,6 +429,8 @@ void SvxSearchDialog::Construct_Impl() ...@@ -428,6 +429,8 @@ void SvxSearchDialog::Construct_Impl()
{ {
m_pIgnoreDiacritics->Check( false ); m_pIgnoreDiacritics->Check( false );
m_pIgnoreDiacritics->Hide(); m_pIgnoreDiacritics->Hide();
m_pIgnoreKashida->Check( false );
m_pIgnoreKashida->Hide();
} }
//component extension - show component search buttons if the commands //component extension - show component search buttons if the commands
// vnd.sun.star::SearchViaComponent1 and 2 are supported // vnd.sun.star::SearchViaComponent1 and 2 are supported
...@@ -513,6 +516,7 @@ bool SvxSearchDialog::Close() ...@@ -513,6 +516,7 @@ bool SvxSearchDialog::Close()
aOpt.SetUseAsianOptions ( m_pJapOptionsCB->IsChecked() ); aOpt.SetUseAsianOptions ( m_pJapOptionsCB->IsChecked() );
aOpt.SetNotes ( m_pNotesBtn->IsChecked() ); aOpt.SetNotes ( m_pNotesBtn->IsChecked() );
aOpt.SetIgnoreDiacritics_CTL ( m_pIgnoreDiacritics->IsChecked() ); aOpt.SetIgnoreDiacritics_CTL ( m_pIgnoreDiacritics->IsChecked() );
aOpt.SetIgnoreKashida_CTL ( m_pIgnoreKashida->IsChecked() );
const SfxPoolItem* ppArgs[] = { pSearchItem, 0 }; const SfxPoolItem* ppArgs[] = { pSearchItem, 0 };
rBindings.GetDispatcher()->Execute( FID_SEARCH_OFF, SFX_CALLMODE_SLOT, ppArgs ); rBindings.GetDispatcher()->Execute( FID_SEARCH_OFF, SFX_CALLMODE_SLOT, ppArgs );
...@@ -614,6 +618,7 @@ void SvxSearchDialog::InitControls_Impl() ...@@ -614,6 +618,7 @@ void SvxSearchDialog::InitControls_Impl()
m_pJapOptionsCB->SetClickHdl( aLink ); m_pJapOptionsCB->SetClickHdl( aLink );
m_pJapMatchFullHalfWidthCB->SetClickHdl( aLink ); m_pJapMatchFullHalfWidthCB->SetClickHdl( aLink );
m_pIgnoreDiacritics->SetClickHdl( aLink ); m_pIgnoreDiacritics->SetClickHdl( aLink );
m_pIgnoreKashida->SetClickHdl( aLink );
m_pLayoutBtn->SetClickHdl( LINK( this, SvxSearchDialog, TemplateHdl_Impl ) ); m_pLayoutBtn->SetClickHdl( LINK( this, SvxSearchDialog, TemplateHdl_Impl ) );
m_pFormatBtn->SetClickHdl( LINK( this, SvxSearchDialog, FormatHdl_Impl ) ); m_pFormatBtn->SetClickHdl( LINK( this, SvxSearchDialog, FormatHdl_Impl ) );
m_pNoFormatBtn->SetClickHdl( m_pNoFormatBtn->SetClickHdl(
...@@ -666,6 +671,7 @@ void SvxSearchDialog::ShowOptionalControls_Impl() ...@@ -666,6 +671,7 @@ void SvxSearchDialog::ShowOptionalControls_Impl()
m_pSimilarityBtn->Show(); m_pSimilarityBtn->Show();
m_pSelectionBtn->Show(); m_pSelectionBtn->Show();
m_pIgnoreDiacritics->Show(aCTLOptions.IsCTLFontEnabled()); m_pIgnoreDiacritics->Show(aCTLOptions.IsCTLFontEnabled());
m_pIgnoreKashida->Show(aCTLOptions.IsCTLFontEnabled());
m_pJapMatchFullHalfWidthCB->Show(aCJKOptions.IsCJKFontEnabled()); m_pJapMatchFullHalfWidthCB->Show(aCJKOptions.IsCJKFontEnabled());
m_pJapOptionsCB->Show(aCJKOptions.IsJapaneseFindEnabled()); m_pJapOptionsCB->Show(aCJKOptions.IsJapaneseFindEnabled());
m_pJapOptionsBtn->Show(aCJKOptions.IsJapaneseFindEnabled()); m_pJapOptionsBtn->Show(aCJKOptions.IsJapaneseFindEnabled());
...@@ -744,6 +750,8 @@ void SvxSearchDialog::Init_Impl( bool bSearchPattern ) ...@@ -744,6 +750,8 @@ void SvxSearchDialog::Init_Impl( bool bSearchPattern )
m_pJapOptionsCB->Check( pSearchItem->IsUseAsianOptions() ); m_pJapOptionsCB->Check( pSearchItem->IsUseAsianOptions() );
if (m_pIgnoreDiacritics->IsVisible()) if (m_pIgnoreDiacritics->IsVisible())
m_pIgnoreDiacritics->Check( aOpt.IsIgnoreDiacritics_CTL() ); m_pIgnoreDiacritics->Check( aOpt.IsIgnoreDiacritics_CTL() );
if (m_pIgnoreKashida->IsVisible())
m_pIgnoreKashida->Check( aOpt.IsIgnoreKashida_CTL() );
ApplyTransliterationFlags_Impl( pSearchItem->GetTransliterationFlags() ); ApplyTransliterationFlags_Impl( pSearchItem->GetTransliterationFlags() );
ShowOptionalControls_Impl(); ShowOptionalControls_Impl();
...@@ -1221,6 +1229,8 @@ IMPL_LINK( SvxSearchDialog, CommandHdl_Impl, Button *, pBtn ) ...@@ -1221,6 +1229,8 @@ IMPL_LINK( SvxSearchDialog, CommandHdl_Impl, Button *, pBtn )
TransliterationModules_IGNORE_WIDTH ); TransliterationModules_IGNORE_WIDTH );
if (GetCheckBoxValue(m_pIgnoreDiacritics)) if (GetCheckBoxValue(m_pIgnoreDiacritics))
nFlags |= TransliterationModulesExtra::ignoreDiacritics_CTL; nFlags |= TransliterationModulesExtra::ignoreDiacritics_CTL;
if (GetCheckBoxValue(m_pIgnoreKashida))
nFlags |= TransliterationModulesExtra::ignoreKashida_CTL;
pSearchItem->SetTransliterationFlags( nFlags ); pSearchItem->SetTransliterationFlags( nFlags );
if ( !bWriter ) if ( !bWriter )
...@@ -2165,6 +2175,7 @@ void SvxSearchDialog::SaveToModule_Impl() ...@@ -2165,6 +2175,7 @@ void SvxSearchDialog::SaveToModule_Impl()
SvtSearchOptions aOpt; SvtSearchOptions aOpt;
aOpt.SetIgnoreDiacritics_CTL(GetCheckBoxValue(m_pIgnoreDiacritics)); aOpt.SetIgnoreDiacritics_CTL(GetCheckBoxValue(m_pIgnoreDiacritics));
aOpt.SetIgnoreKashida_CTL(GetCheckBoxValue(m_pIgnoreKashida));
sal_Int32 nFlags = GetTransliterationFlags(); sal_Int32 nFlags = GetTransliterationFlags();
if( !pSearchItem->IsUseAsianOptions()) if( !pSearchItem->IsUseAsianOptions())
...@@ -2172,6 +2183,8 @@ void SvxSearchDialog::SaveToModule_Impl() ...@@ -2172,6 +2183,8 @@ void SvxSearchDialog::SaveToModule_Impl()
TransliterationModules_IGNORE_WIDTH ); TransliterationModules_IGNORE_WIDTH );
if (GetCheckBoxValue(m_pIgnoreDiacritics)) if (GetCheckBoxValue(m_pIgnoreDiacritics))
nFlags |= TransliterationModulesExtra::ignoreDiacritics_CTL; nFlags |= TransliterationModulesExtra::ignoreDiacritics_CTL;
if (GetCheckBoxValue(m_pIgnoreKashida))
nFlags |= TransliterationModulesExtra::ignoreKashida_CTL;
pSearchItem->SetTransliterationFlags( nFlags ); pSearchItem->SetTransliterationFlags( nFlags );
if ( !bWriter ) if ( !bWriter )
......
...@@ -812,7 +812,21 @@ ...@@ -812,7 +812,21 @@
</packing> </packing>
</child> </child>
<child> <child>
<placeholder/> <object class="GtkCheckButton" id="ignorekashida">
<property name="label" translatable="yes">Ig_nore kashida CTL</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child> </child>
</object> </object>
<packing> <packing>
......
...@@ -33,7 +33,7 @@ using namespace utl; ...@@ -33,7 +33,7 @@ using namespace utl;
using namespace com::sun::star::uno; using namespace com::sun::star::uno;
using namespace com::sun::star::i18n; using namespace com::sun::star::i18n;
#define MAX_FLAGS_OFFSET 26 #define MAX_FLAGS_OFFSET 27
class SvtSearchOptions_Impl: public ConfigItem, private boost::noncopyable class SvtSearchOptions_Impl: public ConfigItem, private boost::noncopyable
{ {
...@@ -143,7 +143,8 @@ Sequence< OUString > SvtSearchOptions_Impl::GetPropertyNames() const ...@@ -143,7 +143,8 @@ Sequence< OUString > SvtSearchOptions_Impl::GetPropertyNames() const
"Japanese/IsIgnoreProlongedSoundMark", // 23 "Japanese/IsIgnoreProlongedSoundMark", // 23
"Japanese/IsIgnoreMiddleDot", // 24 "Japanese/IsIgnoreMiddleDot", // 24
"IsNotes", // 25 "IsNotes", // 25
"IsIgnoreDiacritics_CTL" // 26 "IsIgnoreDiacritics_CTL", // 26
"IsIgnoreKashida_CTL" // 27
}; };
const int nCount = SAL_N_ELEMENTS( aPropNames ); const int nCount = SAL_N_ELEMENTS( aPropNames );
...@@ -287,6 +288,8 @@ sal_Int32 SvtSearchOptions::GetTransliterationFlags() const ...@@ -287,6 +288,8 @@ sal_Int32 SvtSearchOptions::GetTransliterationFlags() const
nRes |= TransliterationModules_ignoreMiddleDot_ja_JP; nRes |= TransliterationModules_ignoreMiddleDot_ja_JP;
if ( IsIgnoreDiacritics_CTL()) if ( IsIgnoreDiacritics_CTL())
nRes |= TransliterationModulesExtra::ignoreDiacritics_CTL; nRes |= TransliterationModulesExtra::ignoreDiacritics_CTL;
if ( IsIgnoreKashida_CTL())
nRes |= TransliterationModulesExtra::ignoreKashida_CTL;
return nRes; return nRes;
} }
...@@ -555,4 +558,14 @@ void SvtSearchOptions::SetIgnoreDiacritics_CTL( bool bVal ) ...@@ -555,4 +558,14 @@ void SvtSearchOptions::SetIgnoreDiacritics_CTL( bool bVal )
pImpl->SetFlag( 26, bVal ); pImpl->SetFlag( 26, bVal );
} }
bool SvtSearchOptions::IsIgnoreKashida_CTL() const
{
return pImpl->GetFlag( 27 );
}
void SvtSearchOptions::SetIgnoreKashida_CTL( bool bVal )
{
pImpl->SetFlag( 27, bVal );
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment