rpms/openoffice.org/devel planned.workspace.defaultdoclang.patch, 1.4, 1.5

Caolan McNamara caolanm at fedoraproject.org
Wed Mar 11 09:28:33 UTC 2009


Author: caolanm

Update of /cvs/pkgs/rpms/openoffice.org/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv31509

Modified Files:
	planned.workspace.defaultdoclang.patch 
Log Message:
update default language stuff to take care of remaining areas

planned.workspace.defaultdoclang.patch:

Index: planned.workspace.defaultdoclang.patch
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/devel/planned.workspace.defaultdoclang.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- planned.workspace.defaultdoclang.patch	26 Feb 2009 11:40:59 -0000	1.4
+++ planned.workspace.defaultdoclang.patch	11 Mar 2009 09:28:03 -0000	1.5
@@ -1,3 +1,125 @@
+Index: reportdesign/source/core/api/ReportComponent.cxx
+===================================================================
+--- reportdesign/source/core/api/ReportComponent.cxx	(revision 267481)
++++ reportdesign/source/core/api/ReportComponent.cxx	(working copy)
+@@ -41,10 +41,12 @@
+ #include "ReportControlModel.hxx"
+ #include <com/sun/star/reflection/XProxyFactory.hpp>
+ #include <com/sun/star/text/ParagraphVertAlign.hpp>
++#include <com/sun/star/i18n/ScriptType.hpp>
+ #include <svx/unoshape.hxx>
+ #include <svx/unolingu.hxx>
+ #include <svtools/syslocale.hxx>
+ #include <svtools/lingucfg.hxx>
++#include <i18npool/mslangid.hxx>
+ // =============================================================================
+ namespace reportdesign
+ {
+@@ -96,12 +98,14 @@
+     try
+     {
+         SvtLinguConfig aLinguConfig;
++        using namespace ::com::sun::star::i18n::ScriptType;
++
+         aLinguConfig.GetProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DefaultLocale"))) >>= aCharLocale;
+-        LanguageType eCurLang = SvxLocaleToLanguage( aCharLocale );
++        LanguageType eCurLang = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage(aCharLocale), LATIN);
+         aLinguConfig.GetProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DefaultLocale_CJK")))  >>= aCharLocaleAsian;
+-        LanguageType eCurLangCJK = SvxLocaleToLanguage( aCharLocaleAsian );
++        LanguageType eCurLangCJK = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage(aCharLocaleAsian), ASIAN);
+         aLinguConfig.GetProperty(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("DefaultLocale_CTL")))  >>= aCharLocaleComplex;
+-        LanguageType eCurLangCTL = SvxLocaleToLanguage( aCharLocaleComplex );
++        LanguageType eCurLangCTL = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage(aCharLocaleComplex), COMPLEX);
+ 
+         Font aLatin,aCJK,aCTL;
+         lcl_getDefaultFonts(aLatin,aCJK,aCTL,eCurLang,eCurLangCJK,eCurLangCTL);
+Index: linguistic/source/lngopt.cxx
+===================================================================
+--- linguistic/source/lngopt.cxx	(revision 267481)
++++ linguistic/source/lngopt.cxx	(working copy)
+@@ -46,7 +46,9 @@
+ #include <com/sun/star/registry/XSimpleRegistry.hpp>
+ #include <com/sun/star/registry/XRegistryKey.hpp>
+ #include <com/sun/star/lang/Locale.hpp>
++#include <com/sun/star/i18n/ScriptType.hpp>
+ #include <unotools/processfactory.hxx>
++#include <i18npool/mslangid.hxx>
+ 
+ using namespace utl;
+ using namespace osl;
+@@ -100,13 +102,13 @@
+ }
+ 
+ 
+-BOOL LinguOptions::SetLocale_Impl( INT16 &rLanguage, Any &rOld, const Any &rVal)
++BOOL LinguOptions::SetLocale_Impl( INT16 &rLanguage, Any &rOld, const Any &rVal, sal_Int16 nType)
+ {
+ 	BOOL bRes = FALSE;
+ 
+ 	Locale	aNew;
+ 	rVal >>= aNew;
+-	INT16 nNew = LocaleToLanguage( aNew );
++        INT16 nNew = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage(aNew), nType);
+ 	if (nNew != rLanguage)
+ 	{
+ 		Locale	aLocale( CreateLocale( rLanguage ) );
+@@ -149,17 +151,17 @@
+ 		case WID_HYPH_MIN_WORD_LENGTH :		pnVal = &pData->nHyphMinWordLength;	break;
+ 		case WID_DEFAULT_LOCALE :
+ 		{
+-			bRes = SetLocale_Impl( pData->nDefaultLanguage, rOld, rVal );
++			bRes = SetLocale_Impl( pData->nDefaultLanguage, rOld, rVal, ::com::sun::star::i18n::ScriptType::LATIN );
+ 			break;
+ 		}
+ 		case WID_DEFAULT_LOCALE_CJK :
+ 		{
+-			bRes = SetLocale_Impl( pData->nDefaultLanguage_CJK, rOld, rVal );
++			bRes = SetLocale_Impl( pData->nDefaultLanguage_CJK, rOld, rVal, ::com::sun::star::i18n::ScriptType::ASIAN );
+ 			break;
+ 		}
+ 		case WID_DEFAULT_LOCALE_CTL :
+ 		{
+-			bRes = SetLocale_Impl( pData->nDefaultLanguage_CTL, rOld, rVal );
++			bRes = SetLocale_Impl( pData->nDefaultLanguage_CTL, rOld, rVal, ::com::sun::star::i18n::ScriptType::COMPLEX );
+ 			break;
+ 		}
+ 		default :
+@@ -226,19 +228,19 @@
+ 		case WID_HYPH_MIN_WORD_LENGTH :		pnVal = &pData->nHyphMinWordLength;	break;
+ 		case WID_DEFAULT_LOCALE :
+ 		{
+-			Locale aLocale( CreateLocale( pData->nDefaultLanguage ) );
++			Locale aLocale( MsLangId::convertLanguageToLocale( pData->nDefaultLanguage ) );
+ 			rVal.setValue( &aLocale, ::getCppuType((Locale*)0 ));
+ 			break;
+ 		}
+ 		case WID_DEFAULT_LOCALE_CJK :
+ 		{
+-			Locale aLocale( CreateLocale( pData->nDefaultLanguage_CJK ) );
++			Locale aLocale( MsLangId::convertLanguageToLocale( pData->nDefaultLanguage_CJK ) );
+ 			rVal.setValue( &aLocale, ::getCppuType((Locale*)0 ));
+ 			break;
+ 		}
+ 		case WID_DEFAULT_LOCALE_CTL :
+ 		{
+-			Locale aLocale( CreateLocale( pData->nDefaultLanguage_CTL ) );
++			Locale aLocale( MsLangId::convertLanguageToLocale( pData->nDefaultLanguage_CTL ) );
+ 			rVal.setValue( &aLocale, ::getCppuType((Locale*)0 ));
+ 			break;
+ 		}
+Index: linguistic/source/lngopt.hxx
+===================================================================
+--- linguistic/source/lngopt.hxx	(revision 267481)
++++ linguistic/source/lngopt.hxx	(working copy)
+@@ -77,7 +77,7 @@
+ 
+ 	BOOL SetLocale_Impl( INT16 &rLanguage,
+ 			::com::sun::star::uno::Any &rOld,
+-			const ::com::sun::star::uno::Any &rVal);
++			const ::com::sun::star::uno::Any &rVal, sal_Int16 nType );
+ 
+ public:
+ 	LinguOptions();
 Index: sc/source/ui/app/scmod2.cxx
 ===================================================================
 --- sc/source/ui/app/scmod2.cxx	(revision 267481)
@@ -118,7 +240,43 @@
 ===================================================================
 --- i18npool/source/isolang/mslangid.cxx	(revision 267481)
 +++ i18npool/source/isolang/mslangid.cxx	(working copy)
-@@ -120,6 +120,31 @@
+@@ -41,6 +41,9 @@
+ LanguageType MsLangId::nConfiguredSystemLanguage   = LANGUAGE_SYSTEM;
+ LanguageType MsLangId::nConfiguredSystemUILanguage = LANGUAGE_SYSTEM;
+ 
++LanguageType MsLangId::nConfiguredWesternFallback  = LANGUAGE_SYSTEM;
++LanguageType MsLangId::nConfiguredAsianFallback    = LANGUAGE_SYSTEM;
++LanguageType MsLangId::nConfiguredComplexFallback  = LANGUAGE_SYSTEM;
+ 
+ // static
+ void MsLangId::setConfiguredSystemLanguage( LanguageType nLang )
+@@ -55,8 +58,25 @@
+     nConfiguredSystemUILanguage = nLang;
+ }
+ 
++// static
++void MsLangId::setConfiguredWesternFallback( LanguageType nLang )
++{
++    nConfiguredWesternFallback = nLang;
++}
+ 
+ // static
++void MsLangId::setConfiguredAsianFallback( LanguageType nLang )
++{
++    nConfiguredAsianFallback = nLang;
++}
++
++// static
++void MsLangId::setConfiguredComplexFallback( LanguageType nLang )
++{
++    nConfiguredComplexFallback = nLang;
++}
++
++// static
+ inline LanguageType MsLangId::simplifySystemLanguages( LanguageType nLang )
+ {
+     switch (nLang)
+@@ -120,6 +140,41 @@
  
  
  // static
@@ -133,13 +291,23 @@
 +        switch(nType)
 +        {
 +            case ::com::sun::star::i18n::ScriptType::ASIAN:
-+                nLang = LANGUAGE_CHINESE_SIMPLIFIED;
++                if (nConfiguredAsianFallback == LANGUAGE_SYSTEM)
++                    nLang = LANGUAGE_CHINESE_SIMPLIFIED;
++                else
++                    nLang = nConfiguredComplexFallback;
 +                break;
 +            case ::com::sun::star::i18n::ScriptType::COMPLEX:
-+                nLang = LANGUAGE_HINDI;
++                if (nConfiguredComplexFallback == LANGUAGE_SYSTEM)
++                    nLang = LANGUAGE_HINDI;
++                else
++                    nLang = nConfiguredComplexFallback;
 +                break;
 +            default:
-+                nLang = LANGUAGE_ENGLISH_US;
++                if (nConfiguredWesternFallback == LANGUAGE_SYSTEM)
++                    nLang = LANGUAGE_ENGLISH_US;
++                else
++                    nLang = nConfiguredWesternFallback;
++                break;
 +                break;
 +        }
 +    }
@@ -164,6 +332,27 @@
      /** Whether locale has a Right-To-Left orientation. */
      static bool isRightToLeft( LanguageType nLang );
  
+@@ -246,6 +249,9 @@
+         configuration! */
+     static void setConfiguredSystemLanguage( LanguageType nLang );
+     static void setConfiguredSystemUILanguage( LanguageType nLang );
++    static void setConfiguredWesternFallback( LanguageType nLang );
++    static void setConfiguredComplexFallback( LanguageType nLang );
++    static void setConfiguredAsianFallback( LanguageType nLang );
+ 
+ // ---------------------------------------------------------------------------
+ 
+@@ -274,6 +280,10 @@
+     static LanguageType         nConfiguredSystemLanguage;
+     static LanguageType         nConfiguredSystemUILanguage;
+ 
++    static LanguageType         nConfiguredWesternFallback;
++    static LanguageType         nConfiguredAsianFallback;
++    static LanguageType         nConfiguredComplexFallback;
++
+     static LanguageType getPlatformSystemLanguage();
+     static LanguageType getPlatformSystemUILanguage();
+ 
 Index: sw/source/ui/app/docshini.cxx
 ===================================================================
 --- sw/source/ui/app/docshini.cxx	(revision 267481)
@@ -201,13 +390,49 @@
 ===================================================================
 --- sw/source/ui/app/appopt.cxx	(revision 267481)
 +++ sw/source/ui/app/appopt.cxx	(working copy)
-@@ -201,6 +201,9 @@
+@@ -35,6 +35,8 @@
+ #include <cmdid.h>		  	// Funktion-Ids
+ #endif
+ 
++#include <com/sun/star/i18n/ScriptType.hpp>
++
+ #define _SVSTDARR_STRINGSDTOR
+ #include <svtools/svstdarr.hxx>
+ 
+@@ -54,6 +56,7 @@
+ #include <svx/optgrid.hxx>
+ #include <svx/svxdlg.hxx>
+ #include <svx/dialogs.hrc>
++#include <i18npool/mslangid.hxx>
+ #include <fontcfg.hxx>
+ #include <optload.hxx>
+ #include <optcomp.hxx>
+@@ -191,16 +194,25 @@
+ 		pRet->Put(SwPtrItem(FN_PARAM_PRINTER, pPrt));*/
+ 
+         SvtLinguConfig aLinguCfg;
++        Locale aLocale;
++        LanguageType nLang;
+ 
++        using namespace ::com::sun::star::i18n::ScriptType;
++
+         Any aLang = aLinguCfg.GetProperty(C2U("DefaultLocale"));
+-        Locale aLocale;
          aLang >>= aLocale;
-         pRet->Put(SvxLanguageItem(SvxLocaleToLanguage( aLocale ), SID_ATTR_CHAR_CJK_LANGUAGE));
+-        pRet->Put(SvxLanguageItem(SvxLocaleToLanguage( aLocale ), SID_ATTR_LANGUAGE));
++        nLang = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage(aLocale), LATIN);
++        pRet->Put(SvxLanguageItem(nLang, SID_ATTR_LANGUAGE));
+ 
+         aLang = aLinguCfg.GetProperty(C2U("DefaultLocale_CJK"));
+         aLang >>= aLocale;
+-        pRet->Put(SvxLanguageItem(SvxLocaleToLanguage( aLocale ), SID_ATTR_CHAR_CJK_LANGUAGE));
++        nLang = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage(aLocale), ASIAN);
++        pRet->Put(SvxLanguageItem(nLang, SID_ATTR_CHAR_CJK_LANGUAGE));
  
 +        aLang = aLinguCfg.GetProperty(C2U("DefaultLocale_CTL"));
 +        aLang >>= aLocale;
-+        pRet->Put(SvxLanguageItem(SvxLocaleToLanguage( aLocale ), SID_ATTR_CHAR_CTL_LANGUAGE));
++        nLang = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage(aLocale), COMPLEX);
++        pRet->Put(SvxLanguageItem(nLang, SID_ATTR_CHAR_CTL_LANGUAGE));
      }
  	if(bTextDialog)
  		pRet->Put(SwPtrItem(FN_PARAM_STDFONTS, GetStdFontConfig()));
@@ -349,52 +574,79 @@
  			$(COMPHELPERLIB) \
  			$(UCBHELPERLIB)	\
  			$(CPPUHELPERLIB)	\
+Index: chart2/source/tools/CharacterProperties.cxx
+===================================================================
+--- chart2/source/tools/CharacterProperties.cxx	(revision 267481)
++++ chart2/source/tools/CharacterProperties.cxx	(working copy)
+@@ -51,9 +51,11 @@
+ #include <com/sun/star/text/RubyAdjust.hpp>
+ #include <com/sun/star/awt/FontStrikeout.hpp>
+ #include <com/sun/star/text/WritingMode2.hpp>
++#include <com/sun/star/i18n/ScriptType.hpp>
+ 
+ #include <comphelper/InlineContainer.hxx>
+ 
++
+ // header for struct SvtLinguConfig
+ #ifndef _SVTOOLS_LINGUCFG_HXX_
+ #include <svtools/lingucfg.hxx>
+@@ -471,16 +473,21 @@
+     const float fDefaultFontHeight = 13.0;
+ 
+     SvtLinguConfig aLinguConfig;
+-    lang::Locale aDefaultLocale( C2U( "en" ), C2U( "US" ), OUString() );
++    lang::Locale aDefaultLocale;
+     aLinguConfig.GetProperty(C2U("DefaultLocale")) >>= aDefaultLocale;
+     lang::Locale aDefaultLocale_CJK;
+     aLinguConfig.GetProperty(C2U("DefaultLocale_CJK")) >>= aDefaultLocale_CJK;
+     lang::Locale aDefaultLocale_CTL;
+     aLinguConfig.GetProperty(C2U("DefaultLocale_CTL")) >>= aDefaultLocale_CTL;
+ 
+-    Font aFont = OutputDevice::GetDefaultFont( DEFAULTFONT_LATIN_SPREADSHEET, MsLangId::convertLocaleToLanguage( aDefaultLocale ), DEFAULTFONT_FLAGS_ONLYONE, 0 );   
+-    Font aFontCJK = OutputDevice::GetDefaultFont( DEFAULTFONT_CJK_SPREADSHEET, MsLangId::convertLocaleToLanguage( aDefaultLocale_CJK ), DEFAULTFONT_FLAGS_ONLYONE, 0 );
+-    Font aFontCTL = OutputDevice::GetDefaultFont( DEFAULTFONT_CTL_SPREADSHEET, MsLangId::convertLocaleToLanguage( aDefaultLocale_CTL ), DEFAULTFONT_FLAGS_ONLYONE, 0 );
++    using namespace ::com::sun::star::i18n::ScriptType;
++    LanguageType nLang;
++    nLang = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage(aDefaultLocale), LATIN);
++    Font aFont = OutputDevice::GetDefaultFont( DEFAULTFONT_LATIN_SPREADSHEET, nLang, DEFAULTFONT_FLAGS_ONLYONE, 0 );   
++    nLang = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage( aDefaultLocale_CJK), ASIAN);
++    Font aFontCJK = OutputDevice::GetDefaultFont( DEFAULTFONT_CJK_SPREADSHEET, nLang, DEFAULTFONT_FLAGS_ONLYONE, 0 );
++    nLang = MsLangId::resolveSystemLanguageByScriptType(MsLangId::convertLocaleToLanguage( aDefaultLocale_CTL), COMPLEX);
++    Font aFontCTL = OutputDevice::GetDefaultFont( DEFAULTFONT_CTL_SPREADSHEET, nLang, DEFAULTFONT_FLAGS_ONLYONE, 0 );
+ 
+     ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_FONT_NAME, OUString( aFont.GetName() ) );
+     ::chart::PropertyHelper::setPropertyValueDefault( rOutMap, PROP_CHAR_FONT_STYLE_NAME, OUString(aFont.GetStyleName()) );
 Index: desktop/source/app/langselect.cxx
 ===================================================================
 --- desktop/source/app/langselect.cxx	(revision 267481)
 +++ desktop/source/app/langselect.cxx	(working copy)
-@@ -96,33 +96,6 @@
- 
-     sal_Bool bSuccess = sal_False;
-     
--    // #i42730#get the windows 16Bit locale - it should be preferred over the UI language
--    try
--    {
--        Reference< XPropertySet > xProp(getConfigAccess("org.openoffice.System/L10N/", sal_False), UNO_QUERY_THROW);
--        Any aWin16SysLocale = xProp->getPropertyValue(OUString::createFromAscii("SystemLocale"));
--        ::rtl::OUString sWin16SysLocale;
--        aWin16SysLocale >>= sWin16SysLocale;
--        if( sWin16SysLocale.getLength())
+@@ -104,7 +104,7 @@
+         ::rtl::OUString sWin16SysLocale;
+         aWin16SysLocale >>= sWin16SysLocale;
+         if( sWin16SysLocale.getLength())
 -            setDefaultLocale(sWin16SysLocale);
--    }
--    catch(const Exception&)
--    {
--    }
--    
--    // #i32939# use system locale to set document default locale
--    try 
--    {
--        OUString usLocale;
--        Reference< XPropertySet > xLocaleProp(getConfigAccess(
--            "org.openoffice.System/L10N", sal_True), UNO_QUERY_THROW);
++            setDefaultLanguage(sWin16SysLocale);
+     }
+     catch(const Exception&)
+     {
+@@ -116,9 +116,8 @@
+         OUString usLocale;
+         Reference< XPropertySet > xLocaleProp(getConfigAccess(
+             "org.openoffice.System/L10N", sal_True), UNO_QUERY_THROW);
 -           // "org.openoffice.Office.Linguistic/General", sal_True), UNO_QUERY_THROW);
--        xLocaleProp->getPropertyValue(OUString::createFromAscii("Locale")) >>= usLocale;     
+         xLocaleProp->getPropertyValue(OUString::createFromAscii("Locale")) >>= usLocale;     
 -            setDefaultLocale(usLocale);
--    } 
--    catch (Exception&) 
--    {
--    }
-     // get the selected UI language as string
-     OUString aLocaleString = getLanguageString();
-     if ( aLocaleString.getLength() > 0 )
-@@ -158,93 +131,9 @@
-         }
-     }
++            setDefaultLanguage(usLocale);
+     } 
+     catch (Exception&) 
+     {
+@@ -160,89 +159,33 @@
  
--    // #i32939# setting of default document locale
--    // #i32939# this should not be based on the UI language
+     // #i32939# setting of default document locale
+     // #i32939# this should not be based on the UI language
 -    setDefaultLocale(aLocaleString);
--
++    setDefaultLanguage(aLocaleString);
+ 
 -    // fallback: set en-US as default Western locale if no Western locale is set
 -    OUString usWesternName = OUString::createFromAscii("DefaultLocale");
 -    try
@@ -429,18 +681,26 @@
  }
  
 -void LanguageSelection::setDefaultLocale(const OUString& usUILocale)
--{
++void LanguageSelection::setDefaultLanguage(const OUString& sLocale)
+ {
 -    // #i32939# setting of default document locale
 -    // org.openoffice.Office.Linguistic/General/DefaultLocale
 -    // org.openoffice.Office.Linguistic/General/DefaultLocale_CJK
 -    // org.openoffice.Office.Linguistic/General/DefaultLocale_CTL
--
++    // #i32939# setting of default document language
++    //
++    // See #i42730# for rules for determining source of settings
+ 
 -    // determine script type of UI locale
 -    LanguageType ltUILocale = MsLangId::convertIsoStringToLanguage(usUILocale);
 -    sal_uInt16 nScriptType = SvtLanguageOptions::GetScriptTypeOfLanguage(ltUILocale);
--
++    // determine script type of locale
++    LanguageType nLang = MsLangId::convertIsoStringToLanguage(sLocale);
++    sal_uInt16 nScriptType = SvtLanguageOptions::GetScriptTypeOfLanguage(nLang);
+ 
 -    try
--    {
++    switch (nScriptType)
+     {
 -        Reference< XPropertySet > xProp(getConfigAccess(
 -                                            "org.openoffice.Office.Linguistic/General/", sal_True), UNO_QUERY_THROW);
 -        OUString usName = OUString::createFromAscii("DefaultLocale");
@@ -472,24 +732,32 @@
 -                // we are not allowed to change this
 -            }
 -        }
--    }
++        case SCRIPTTYPE_ASIAN:
++            MsLangId::setConfiguredAsianFallback( nLang );
++            break;
++        case SCRIPTTYPE_COMPLEX:
++            MsLangId::setConfiguredComplexFallback( nLang );
++            break;
++        default:
++            MsLangId::setConfiguredWesternFallback( nLang );
++            break;
+     }
 -    catch ( Exception& )
 -    {
 -    }
--}
--
+ }
+ 
  OUString LanguageSelection::getLanguageString()
- {
-     // did we already find a language?
 Index: desktop/source/app/langselect.hxx
 ===================================================================
 --- desktop/source/app/langselect.hxx	(revision 267481)
 +++ desktop/source/app/langselect.hxx	(working copy)
-@@ -60,7 +60,6 @@
+@@ -60,7 +60,7 @@
      static rtl::OUString getUserLanguage();
      static rtl::OUString getSystemLanguage();
      static void resetUserLanguage();
 -    static void setDefaultLocale(const rtl::OUString&);
++    static void setDefaultLanguage(const rtl::OUString&);
  
  public:
      static com::sun::star::lang::Locale IsoStringToLocale(const rtl::OUString& str);
@@ -533,12 +801,12 @@
 -    aLocaleSettingLB  .SetLanguageList( LANG_LIST_ALL     | LANG_LIST_ONLY_KNOWN, FALSE, FALSE, FALSE);
 -    aLocaleSettingLB.InsertLanguage( LANGUAGE_SYSTEM );
 +    aComplexLanguageLB.InsertDefaultLanguage( ::com::sun::star::i18n::ScriptType::COMPLEX );
-+
-+    aLocaleSettingLB.SetLanguageList( LANG_LIST_ALL     | LANG_LIST_ONLY_KNOWN, FALSE, FALSE, FALSE);
-+    aLocaleSettingLB.InsertDefaultLanguage( ::com::sun::star::i18n::ScriptType::WEAK );
  
 -    // insert SYSTEM entry, no specific currency
 -    aCurrencyLB.InsertEntry( aStr );
++    aLocaleSettingLB.SetLanguageList( LANG_LIST_ALL     | LANG_LIST_ONLY_KNOWN, FALSE, FALSE, FALSE);
++    aLocaleSettingLB.InsertDefaultLanguage( ::com::sun::star::i18n::ScriptType::WEAK );
++
 +    const NfCurrencyTable& rCurrTab = SvNumberFormatter::GetTheCurrencyTable();
 +    const NfCurrencyEntry& rCurr = SvNumberFormatter::GetCurrencyEntry( LANGUAGE_SYSTEM );
 +    // insert SYSTEM entry
@@ -552,16 +820,7 @@
      USHORT nCurrCount = rCurrTab.Count();
      // first entry is SYSTEM, skip it
      for ( USHORT j=1; j < nCurrCount; ++j )
-@@ -1282,7 +1296,7 @@
-         String aStr_( pCurr->GetBankSymbol() );
-         aStr_ += aTwoSpace;
-         aStr_ += pCurr->GetSymbol();
--        aStr = ApplyLreOrRleEmbedding( aStr_ );
-+        aStr_ = ApplyLreOrRleEmbedding( aStr_ );
-         aStr_ += aTwoSpace;
-         aStr_ += ApplyLreOrRleEmbedding( pLanguageTable->GetString( pCurr->GetLanguage() ) );
-         USHORT nPos = aCurrencyLB.InsertEntry( aStr_ );
-@@ -1496,7 +1510,7 @@
+@@ -1495,7 +1509,7 @@
  		if(!bCurrentDocCBChecked)
  		{
  			Any aValue;
@@ -570,7 +829,7 @@
  			aValue <<= aLocale;
  			OUString aPropName( C2U("DefaultLocale") );
              pLangConfig->aLinguConfig.SetProperty( aPropName, aValue );
-@@ -1505,7 +1519,8 @@
+@@ -1504,7 +1518,8 @@
  		}
  		if(pCurrentDocShell)
  		{
@@ -580,7 +839,7 @@
  			bRet = TRUE;
  		}
  	}
-@@ -1516,7 +1531,7 @@
+@@ -1515,7 +1530,7 @@
  		if(!bCurrentDocCBChecked)
  		{
  			Any aValue;
@@ -589,7 +848,7 @@
  			aValue <<= aLocale;
  			OUString aPropName( C2U("DefaultLocale_CJK") );
              pLangConfig->aLinguConfig.SetProperty( aPropName, aValue );
-@@ -1525,7 +1540,8 @@
+@@ -1524,7 +1539,8 @@
  		}
  		if(pCurrentDocShell)
  		{
@@ -599,7 +858,7 @@
  			bRet = TRUE;
  		}
  	}
-@@ -1536,7 +1552,7 @@
+@@ -1535,7 +1551,7 @@
  		if(!bCurrentDocCBChecked)
  		{
  			Any aValue;
@@ -608,7 +867,7 @@
  			aValue <<= aLocale;
  			OUString aPropName( C2U("DefaultLocale_CTL") );
              pLangConfig->aLinguConfig.SetProperty( aPropName, aValue );
-@@ -1545,7 +1561,8 @@
+@@ -1544,7 +1560,8 @@
  		}
  		if(pCurrentDocShell)
  		{
@@ -618,7 +877,7 @@
  			bRet = TRUE;
  		}
  	}
-@@ -1645,13 +1662,18 @@
+@@ -1644,13 +1661,18 @@
          aWestLang = pLangConfig->aLinguConfig.GetProperty(C2U("DefaultLocale"));
          Locale aLocale;
          aWestLang >>= aLocale;
@@ -640,7 +899,7 @@
      }
      catch(Exception&)
      {
-@@ -1663,13 +1685,25 @@
+@@ -1662,13 +1684,25 @@
          aCurrentDocCB.Check(bLanguageCurrentDoc_Impl);
  		const SfxPoolItem* pLang;
  		if( SFX_ITEM_SET == rSet.GetItemState(SID_ATTR_LANGUAGE, FALSE, &pLang))
@@ -698,23 +957,22 @@
      LanguageType nLang = MsLangId::getReplacementForObsoleteLanguage( nLangType);
      // For obsolete and to be replaced languages check whether an entry of the 
      // replacement already exists and if so don't add an entry with identical 
-@@ -329,6 +337,15 @@
- 	String aStrEntry = m_pLangTable->GetString( nLang );
+@@ -330,6 +338,14 @@
  	if (LANGUAGE_NONE == nLang && m_bHasLangNone && m_bLangNoneIsLangAll)
  		aStrEntry = m_aAllString;
-+
+ 
 +    LanguageType nRealLang = nLang;
 +    if (nRealLang == LANGUAGE_SYSTEM)
 +    {
 +        nRealLang = MsLangId::resolveSystemLanguageByScriptType(nRealLang, nType);
 +        aStrEntry.AppendAscii(" - ");
-+        aStrEntry.Append(m_pLangTable->GetString( nRealLang ));
++	aStrEntry.Append(m_pLangTable->GetString( nRealLang ));
 +    }
 +
-     aStrEntry = ApplyLreOrRleEmbedding( aStrEntry );
- 
  	USHORT nAt = 0;
-@@ -343,7 +360,7 @@
+ 	if ( m_bWithCheckmark )
+ 	{
+@@ -342,7 +358,7 @@
                  m_pSpellUsedLang = new Sequence< INT16 >( xSpell->getLanguages() );
          }
          bFound = m_pSpellUsedLang ?
@@ -723,7 +981,7 @@
  
          nAt = ImplInsertImgEntry( aStrEntry, nPos, bFound );
  	}
-@@ -356,6 +373,13 @@
+@@ -355,6 +371,13 @@
  
  //------------------------------------------------------------------------
  




More information about the fedora-extras-commits mailing list