Bugzilla – Attachment 62138 Details for
Bug 47896
Prepend small short-list of likely/more-relevant languages in language selection lists
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Removes not-installed languages from font-dialog.
0001-fd0-47896-Too-many-languages-in-Format-Language.patch (text/plain), 7.27 KB, created by
Rob Snelders
on 2012-05-27 06:56:29 UTC
(
hide
)
Description:
Removes not-installed languages from font-dialog.
Filename:
MIME Type:
Creator:
Rob Snelders
Created:
2012-05-27 06:56:29 UTC
Size:
7.27 KB
patch
obsolete
>From 420583a965d02bfec595088cab81e8c6d585ca71 Mon Sep 17 00:00:00 2001 >From: Rob Snelders <programming@ertai.nl> >Date: Sun, 27 May 2012 15:51:33 +0200 >Subject: [PATCH] fd0#47896 - Too many languages in Format/Language > >Change-Id: I67a21d4b16c27dd68a2a87a6bcbac438da617f47 >--- > cui/source/tabpages/chardlg.cxx | 7 ++++--- > svx/inc/svx/langbox.hxx | 37 +++++++++++++++++++------------------ > svx/source/dialog/langbox.cxx | 26 ++++++++++++++++++++++++-- > 3 files changed, 47 insertions(+), 23 deletions(-) > >diff --git a/cui/source/tabpages/chardlg.cxx b/cui/source/tabpages/chardlg.cxx >index c127824..48a8548 100644 >--- a/cui/source/tabpages/chardlg.cxx >+++ b/cui/source/tabpages/chardlg.cxx >@@ -400,9 +400,9 @@ SvxCharNamePage::SvxCharNamePage( Window* pParent, const SfxItemSet& rInSet ) : > > FreeResource(); > >- m_pWestFontLanguageLB->SetLanguageList( LANG_LIST_WESTERN, sal_True, sal_False, sal_True ); >- m_pEastFontLanguageLB->SetLanguageList( LANG_LIST_CJK, sal_True, sal_False, sal_True ); >- m_pCTLFontLanguageLB->SetLanguageList( LANG_LIST_CTL, sal_True, sal_False, sal_True ); >+ m_pWestFontLanguageLB->SetLanguageList( LANG_LIST_SPELL_USED_WESTERN, sal_True, sal_False, sal_True ); >+ m_pEastFontLanguageLB->SetLanguageList( LANG_LIST_SPELL_USED_CJK, sal_True, sal_False, sal_True ); >+ m_pCTLFontLanguageLB->SetLanguageList( LANG_LIST_SPELL_USED_CTL, sal_True, sal_False, sal_True ); > > Initialize(); > } >@@ -907,6 +907,7 @@ void SvxCharNamePage::Reset_Impl( const SfxItemSet& rSet, LanguageGroup eLangGrp > const SvxLanguageItem& rItem = (SvxLanguageItem&)rSet.Get( nWhich ); > LanguageType eLangType = (LanguageType)rItem.GetValue(); > DBG_ASSERT( eLangType != LANGUAGE_SYSTEM, "LANGUAGE_SYSTEM not allowed" ); >+ pLangBox->InsertLanguageIfNotFound( eLangType ); > if ( eLangType != LANGUAGE_DONTKNOW ) > pLangBox->SelectLanguage( eLangType ); > break; >diff --git a/svx/inc/svx/langbox.hxx b/svx/inc/svx/langbox.hxx >index 7baf253..7ee0f34 100644 >--- a/svx/inc/svx/langbox.hxx >+++ b/svx/inc/svx/langbox.hxx >@@ -38,24 +38,24 @@ > > class SvtLanguageTable; > >-#define LANG_LIST_EMPTY 0x0000 >-#define LANG_LIST_ALL 0x0001 >-#define LANG_LIST_WESTERN 0x0002 >-#define LANG_LIST_CTL 0x0004 >-#define LANG_LIST_CJK 0x0008 >-#define LANG_LIST_FBD_CHARS 0x0010 >-#define LANG_LIST_SPELL_AVAIL 0x0020 >-#define LANG_LIST_HYPH_AVAIL 0x0040 >-#define LANG_LIST_THES_AVAIL 0x0080 >-#define LANG_LIST_ONLY_KNOWN 0x0100 // list only locales provided by I18N >-#define LANG_LIST_SPELL_USED 0x0200 >-#define LANG_LIST_HYPH_USED 0x0400 >-#define LANG_LIST_THES_USED 0x0800 >-#define LANG_LIST_ALSO_PRIMARY_ONLY 0x1000 // Do not exclude primary-only >- // languages that do not form a >- // locale, such as Arabic as >- // opposed to Arabic-Egypt. >- >+#define LANG_LIST_EMPTY 0x0000 >+#define LANG_LIST_ALL 0x0001 >+#define LANG_LIST_WESTERN 0x0002 >+#define LANG_LIST_CTL 0x0004 >+#define LANG_LIST_CJK 0x0008 >+#define LANG_LIST_FBD_CHARS 0x0010 >+#define LANG_LIST_SPELL_AVAIL 0x0020 >+#define LANG_LIST_HYPH_AVAIL 0x0040 >+#define LANG_LIST_THES_AVAIL 0x0080 >+#define LANG_LIST_ONLY_KNOWN 0x0100 // list only locales provided by I18N >+#define LANG_LIST_SPELL_USED 0x0200 >+#define LANG_LIST_HYPH_USED 0x0400 >+#define LANG_LIST_THES_USED 0x0800 >+#define LANG_LIST_ALSO_PRIMARY_ONLY 0x1000 // Do not exclude primary-only languages that do not form a >+ // locale, such as Arabic as opposed to Arabic-Egypt. >+#define LANG_LIST_SPELL_USED_WESTERN 0x2000 >+#define LANG_LIST_SPELL_USED_CTL 0x4000 >+#define LANG_LIST_SPELL_USED_CJK 0x8000 > > // load language strings from resource > SVX_DLLPUBLIC String GetDicInfoStr( const String& rName, const sal_uInt16 nLang, sal_Bool bNeg ); >@@ -87,6 +87,7 @@ public: > sal_Bool bHasLangNone, sal_Bool bLangNoneIsLangAll = sal_False, > sal_Bool bCheckSpellAvail = sal_False ); > >+ sal_uInt16 InsertLanguageIfNotFound( const LanguageType eLangType, sal_uInt16 nPos = LISTBOX_APPEND ); > sal_uInt16 InsertLanguage( const LanguageType eLangType, sal_uInt16 nPos = LISTBOX_APPEND ); > sal_uInt16 InsertDefaultLanguage( sal_Int16 nType, sal_uInt16 nPos = LISTBOX_APPEND ); > sal_uInt16 InsertLanguage( const LanguageType eLangType, >diff --git a/svx/source/dialog/langbox.cxx b/svx/source/dialog/langbox.cxx >index 0ec2329..8d02234 100644 >--- a/svx/source/dialog/langbox.cxx >+++ b/svx/source/dialog/langbox.cxx >@@ -237,7 +237,10 @@ void SvxLanguageBox::SetLanguageList( sal_Int16 nLangList, > aThesAvailLang = lcl_LocaleSeqToLangSeq( aTmp ); > } > } >- if (LANG_LIST_SPELL_USED & nLangList) >+ if ((LANG_LIST_SPELL_USED & nLangList) || >+ (LANG_LIST_SPELL_USED_WESTERN & nLangList) || >+ (LANG_LIST_SPELL_USED_CTL & nLangList) || >+ (LANG_LIST_SPELL_USED_CJK & nLangList)) > { > Reference< XSpellChecker1 > xTmp1( SvxGetSpellChecker(), UNO_QUERY ); > if (xTmp1.is()) >@@ -311,7 +314,16 @@ void SvxLanguageBox::SetLanguageList( sal_Int16 nLangList, > ((nLangList & LANG_LIST_HYPH_USED) != 0 && > lcl_SeqHasLang(aHyphUsedLang, nLangType)) || > ((nLangList & LANG_LIST_THES_USED) != 0 && >- lcl_SeqHasLang(aThesUsedLang, nLangType))) ) >+ lcl_SeqHasLang(aThesUsedLang, nLangType)) || >+ ((nLangList & LANG_LIST_SPELL_USED_WESTERN) != 0 && >+ (SvtLanguageOptions::GetScriptTypeOfLanguage(nLangType) == SCRIPTTYPE_LATIN) && >+ lcl_SeqHasLang(aSpellUsedLang, nLangType)) || >+ ((nLangList & LANG_LIST_SPELL_USED_CTL) != 0 && >+ (SvtLanguageOptions::GetScriptTypeOfLanguage(nLangType) == SCRIPTTYPE_COMPLEX) && >+ lcl_SeqHasLang(aSpellUsedLang, nLangType)) || >+ ((nLangList & LANG_LIST_SPELL_USED_CJK) != 0 && >+ (SvtLanguageOptions::GetScriptTypeOfLanguage(nLangType) == SCRIPTTYPE_ASIAN) && >+ lcl_SeqHasLang(aSpellUsedLang, nLangType))) ) > InsertLanguage( nLangType ); > } > >@@ -322,6 +334,16 @@ void SvxLanguageBox::SetLanguageList( sal_Int16 nLangList, > > //------------------------------------------------------------------------ > >+sal_uInt16 SvxLanguageBox::InsertLanguageIfNotFound( const LanguageType nLangType, sal_uInt16 nPos ) >+{ >+ LanguageType nLang = MsLangId::getReplacementForObsoleteLanguage( nLangType); >+ sal_uInt16 nAt = TypeToPos_Impl( nLang, *this ); >+ if ( nAt == LISTBOX_ENTRY_NOTFOUND ) >+ return InsertLanguage( nLangType, nPos ); >+ else >+ return nAt; >+} >+ > sal_uInt16 SvxLanguageBox::InsertLanguage( const LanguageType nLangType, sal_uInt16 nPos ) > { > return ImplInsertLanguage( nLangType, nPos, ::com::sun::star::i18n::ScriptType::WEAK ); >-- >1.7.5.4 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 47896
:
62138
|
62295