Convert Languages tab page to .ui
Deleted the readonly images too,it was not used any where else and was just confusing.
Change-Id: Ibdcda961966ceab28b224335bfa2e154a395e788
diff --git a/cui/AllLangResTarget_cui.mk b/cui/AllLangResTarget_cui.mk
index 6cd18c5..252ae34 100644
--- a/cui/AllLangResTarget_cui.mk
+++ b/cui/AllLangResTarget_cui.mk
@@ -56,7 +56,6 @@ $(eval $(call gb_SrsTarget_add_files,cui/res,\
cui/source/options/optcolor.src \
cui/source/options/optdict.src \
cui/source/options/optfltr.src \
cui/source/options/optgdlg.src \
cui/source/options/opthtml.src \
cui/source/options/optinet2.src \
cui/source/options/optjava.src \
@@ -64,7 +63,6 @@ $(eval $(call gb_SrsTarget_add_files,cui/res,\
cui/source/options/optlingu.src \
cui/source/options/optpath.src \
cui/source/options/optsave.src \
cui/source/options/readonlyimage.src \
cui/source/options/treeopt.src \
cui/source/tabpages/align.src \
cui/source/tabpages/autocdlg.src \
diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk
index fc27d59..f7d9f7c 100644
--- a/cui/Library_cui.mk
+++ b/cui/Library_cui.mk
@@ -155,7 +155,6 @@ $(eval $(call gb_Library_add_exception_objects,cui,\
cui/source/options/optupdt \
cui/source/options/personalization \
cui/source/options/radiobtnbox \
cui/source/options/readonlyimage \
cui/source/options/sdbcdriverenum \
cui/source/options/securityoptions \
cui/source/options/treeopt \
diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk
index c61d486..b21a582 100644
--- a/cui/UIConfig_cui.mk
+++ b/cui/UIConfig_cui.mk
@@ -48,6 +48,7 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
cui/uiconfig/ui/optfltrpage \
cui/uiconfig/ui/optfontspage \
cui/uiconfig/ui/optgeneralpage \
cui/uiconfig/ui/optlanguagespage \
cui/uiconfig/ui/optmemorypage \
cui/uiconfig/ui/optonlineupdatepage \
cui/uiconfig/ui/optpathspage \
diff --git a/cui/source/inc/helpid.hrc b/cui/source/inc/helpid.hrc
index 7fb18cb..24d11fb 100644
--- a/cui/source/inc/helpid.hrc
+++ b/cui/source/inc/helpid.hrc
@@ -44,7 +44,6 @@
#define HID_OFA_CONNPOOL_DRIVERLIST "CUI_HID_OFA_CONNPOOL_DRIVERLIST"
#define UID_OFA_CONNPOOL_DRIVERLIST_BACK "CUI_UID_OFA_CONNPOOL_DRIVERLIST_BACK"
#define HID_OFA_FONT_SUBST_CLB "CUI_HID_OFA_FONT_SUBST_CLB"
#define HID_OFA_TP_LANGUAGES "CUI_HID_OFA_TP_LANGUAGES"
#define HID_DBPATH_CTL_PATH "CUI_HID_DBPATH_CTL_PATH"
#define HID_DBPATH_HEADERBAR "CUI_HID_DBPATH_HEADERBAR"
#define HID_OFAPAGE_SMARTTAG_OPTIONS "CUI_HID_OFAPAGE_SMARTTAG_OPTIONS"
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index 7a3a9e3..9f64347 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -83,7 +83,6 @@
#include <vcl/svapp.hxx>
#include "optgdlg.hrc"
#include "optgdlg.hxx"
#include <svx/ofaitem.hxx>
#include <svtools/apearcfg.hxx>
@@ -1013,42 +1012,26 @@ static OUString lcl_getDatePatternsConfigString( const LocaleDataWrapper& rLocal
}
OfaLanguagesTabPage::OfaLanguagesTabPage( Window* pParent, const SfxItemSet& rSet ) :
SfxTabPage( pParent, CUI_RES( OFA_TP_LANGUAGES ), rSet ),
aUILanguageGB(this, CUI_RES(FL_UI_LANG )),
aLocaleSettingFI(this, CUI_RES(FI_LOCALESETTING)),
aUserInterfaceFT(this, CUI_RES(FT_USERINTERFACE)),
aUserInterfaceLB(this, CUI_RES(LB_USERINTERFACE)),
aLocaleSettingFT(this, CUI_RES(FT_LOCALESETTING)),
aLocaleSettingLB(this, CUI_RES(LB_LOCALESETTING)),
aCurrencyFI( this, CUI_RES(FI_CURRENCY )),
aDecimalSeparatorFT(this, CUI_RES(FT_DECIMALSEPARATOR)),
aDecimalSeparatorCB(this, CUI_RES(CB_DECIMALSEPARATOR)),
aCurrencyFT( this, CUI_RES(FT_CURRENCY )),
aCurrencyLB( this, CUI_RES(LB_CURRENCY )),
aDatePatternsFI( this, CUI_RES(FI_DATEPATTERNS )),
aDatePatternsFT( this, CUI_RES(FT_DATEPATTERNS )),
aDatePatternsED( this, CUI_RES(ED_DATEPATTERNS )),
aLinguLanguageGB(this, CUI_RES(FL_LINGU_LANG )),
aWesternLanguageFI(this, CUI_RES(FI_WEST_LANG )),
aWesternLanguageFT(this, CUI_RES(FT_WEST_LANG )),
aWesternLanguageLB(this, CUI_RES(LB_WEST_LANG )),
aAsianLanguageFI(this, CUI_RES(FI_ASIAN_LANG )),
aAsianLanguageFT(this, CUI_RES(FT_ASIAN_LANG )),
aAsianLanguageLB(this, CUI_RES(LB_ASIAN_LANG )),
aComplexLanguageFI(this, CUI_RES(FI_COMPLEX_LANG )),
aComplexLanguageFT(this, CUI_RES(FT_COMPLEX_LANG )),
aComplexLanguageLB(this, CUI_RES(LB_COMPLEX_LANG )),
aCurrentDocCB(this, CUI_RES(CB_CURRENT_DOC )),
aEnhancedFL(this, CUI_RES(FL_ENHANCED )),
aAsianSupportFI(this, CUI_RES(FI_ASIANSUPPORT )),
aAsianSupportCB(this, CUI_RES(CB_ASIANSUPPORT )),
aCTLSupportFI(this, CUI_RES(FI_CTLSUPPORT )),
aCTLSupportCB(this, CUI_RES(CB_CTLSUPPORT )),
aIgnoreLanguageChangeCB(this, CUI_RES(CB_IGNORE_LANG_CHANGE )),
sDecimalSeparatorLabel(aDecimalSeparatorCB.GetText()),
pLangConfig(new LanguageConfig_Impl)
SfxTabPage( pParent,"OptLanguagesPage","cui/ui/optlanguagespage.ui", rSet ),
pLangConfig(new LanguageConfig_Impl)
{
FreeResource();
get(m_pUserInterfaceLB, "userinterface");
get(m_pLocaleSettingLB, "localesetting");
get(m_pLocaleSettingFT, "localesettingFT");
get(m_pDecimalSeparatorCB, "decimalseparator");
get(m_pCurrencyFT, "defaultcurrency");
get(m_pCurrencyLB, "currencylb");
get(m_pDatePatternsFT,"dataaccpatterns");
get(m_pDatePatternsED, "datepatterns");
get(m_pWesternLanguageLB, "westernlanguage");
get(m_pWesternLanguageFT, "western");
get(m_pAsianLanguageLB, "asianlanguage");
get(m_pComplexLanguageLB, "complexlanguage");
get(m_pCurrentDocCB, "currentdoc");
get(m_pAsianSupportCB, "asiansupport");
get(m_pCTLSupportCB, "ctlsupport");
get(m_pIgnoreLanguageChangeCB, "ignorelanguagechange");
// initialize user interface language selection
SvtLanguageTable* pLanguageTable = new SvtLanguageTable;
@@ -1058,9 +1041,9 @@ OfaLanguagesTabPage::OfaLanguagesTabPage( Window* pParent, const SfxItemSet& rSe
" - " +
pLanguageTable->GetString( Application::GetSettings().GetUILanguageTag().getLanguageType(), true );
aUserInterfaceLB.InsertEntry(aUILang);
aUserInterfaceLB.SetEntryData(0, 0);
aUserInterfaceLB.SelectEntryPos(0);
m_pUserInterfaceLB->InsertEntry(aUILang);
m_pUserInterfaceLB->SetEntryData(0, 0);
m_pUserInterfaceLB->SelectEntryPos(0);
try
{
Reference< XMultiServiceFactory > theConfigProvider(
@@ -1080,10 +1063,10 @@ OfaLanguagesTabPage::OfaLanguagesTabPage( Window* pParent, const SfxItemSet& rSe
aLang = LanguageTag(seqInstalledLanguages[i]).getLanguageType();
if (aLang != LANGUAGE_DONTKNOW)
{
//sal_uInt16 p = aUserInterfaceLB.InsertLanguage(aLang);
//sal_uInt16 p = m_pUserInterfaceLB->InsertLanguage(aLang);
OUString aLangStr( pLanguageTable->GetString( aLang, true ) );
sal_uInt16 p = aUserInterfaceLB.InsertEntry(aLangStr);
aUserInterfaceLB.SetEntryData(p, (void*)(i+1));
sal_uInt16 p = m_pUserInterfaceLB->InsertEntry(aLangStr);
m_pUserInterfaceLB->SetEntryData(p, (void*)(i+1));
}
}
@@ -1098,11 +1081,11 @@ OfaLanguagesTabPage::OfaLanguagesTabPage( Window* pParent, const SfxItemSet& rSe
if (!m_sUserLocaleValue.isEmpty())
{
sal_Int32 d = 0;
for (sal_uInt16 i=0; i < aUserInterfaceLB.GetEntryCount(); i++)
for (sal_uInt16 i=0; i < m_pUserInterfaceLB->GetEntryCount(); i++)
{
d = (sal_Int32)(sal_IntPtr)aUserInterfaceLB.GetEntryData(i);
d = (sal_Int32)(sal_IntPtr)m_pUserInterfaceLB->GetEntryData(i);
if ( d > 0 && seqInstalledLanguages.getLength() > d-1 && seqInstalledLanguages[d-1].equals(m_sUserLocaleValue))
aUserInterfaceLB.SelectEntryPos(i);
m_pUserInterfaceLB->SelectEntryPos(i);
}
}
@@ -1115,21 +1098,21 @@ OfaLanguagesTabPage::OfaLanguagesTabPage( Window* pParent, const SfxItemSet& rSe
OSL_FAIL(aMsg.getStr());
}
aWesternLanguageLB.SetLanguageList( LANG_LIST_WESTERN | LANG_LIST_ONLY_KNOWN, sal_True, sal_False, sal_True );
aWesternLanguageLB.InsertDefaultLanguage( ::com::sun::star::i18n::ScriptType::LATIN );
aAsianLanguageLB.SetLanguageList( LANG_LIST_CJK | LANG_LIST_ONLY_KNOWN, sal_True, sal_False, sal_True );
aAsianLanguageLB.InsertDefaultLanguage( ::com::sun::star::i18n::ScriptType::ASIAN );
aComplexLanguageLB.SetLanguageList( LANG_LIST_CTL | LANG_LIST_ONLY_KNOWN, sal_True, sal_False, sal_True );
aComplexLanguageLB.InsertDefaultLanguage( ::com::sun::star::i18n::ScriptType::COMPLEX );
m_pWesternLanguageLB->SetLanguageList( LANG_LIST_WESTERN | LANG_LIST_ONLY_KNOWN, sal_True, sal_False, sal_True );
m_pWesternLanguageLB->InsertDefaultLanguage( ::com::sun::star::i18n::ScriptType::LATIN );
m_pAsianLanguageLB->SetLanguageList( LANG_LIST_CJK | LANG_LIST_ONLY_KNOWN, sal_True, sal_False, sal_True );
m_pAsianLanguageLB->InsertDefaultLanguage( ::com::sun::star::i18n::ScriptType::ASIAN );
m_pComplexLanguageLB->SetLanguageList( LANG_LIST_CTL | LANG_LIST_ONLY_KNOWN, sal_True, sal_False, sal_True );
m_pComplexLanguageLB->InsertDefaultLanguage( ::com::sun::star::i18n::ScriptType::COMPLEX );
aLocaleSettingLB.SetLanguageList( LANG_LIST_ALL | LANG_LIST_ONLY_KNOWN, sal_False, sal_False, sal_False);
aLocaleSettingLB.InsertSystemLanguage( );
m_pLocaleSettingLB->SetLanguageList( LANG_LIST_ALL | LANG_LIST_ONLY_KNOWN, sal_False, sal_False, sal_False);
m_pLocaleSettingLB->InsertSystemLanguage( );
const NfCurrencyTable& rCurrTab = SvNumberFormatter::GetTheCurrencyTable();
const NfCurrencyEntry& rCurr = SvNumberFormatter::GetCurrencyEntry( LANGUAGE_SYSTEM );
// insert SYSTEM entry
OUString aDefaultCurr = aStr + " - " + rCurr.GetBankSymbol();
aCurrencyLB.InsertEntry( aDefaultCurr );
m_pCurrencyLB->InsertEntry( aDefaultCurr );
// all currencies
OUString aTwoSpace( " " );
sal_uInt16 nCurrCount = rCurrTab.size();
@@ -1143,33 +1126,31 @@ OfaLanguagesTabPage::OfaLanguagesTabPage( Window* pParent, const SfxItemSet& rSe
aStr_ = ApplyLreOrRleEmbedding( aStr_ ) +
aTwoSpace +
ApplyLreOrRleEmbedding( pLanguageTable->GetString( pCurr->GetLanguage() ) );
sal_uInt16 nPos = aCurrencyLB.InsertEntry( aStr_ );
aCurrencyLB.SetEntryData( nPos, (void*) pCurr );
sal_uInt16 nPos = m_pCurrencyLB->InsertEntry( aStr_ );
m_pCurrencyLB->SetEntryData( nPos, (void*) pCurr );
}
delete pLanguageTable;
aLocaleSettingLB.SetSelectHdl( LINK( this, OfaLanguagesTabPage, LocaleSettingHdl ) );
aDatePatternsED.SetModifyHdl( LINK( this, OfaLanguagesTabPage, DatePatternsHdl ) );
m_pLocaleSettingLB->SetSelectHdl( LINK( this, OfaLanguagesTabPage, LocaleSettingHdl ) );
m_pDatePatternsED->SetModifyHdl( LINK( this, OfaLanguagesTabPage, DatePatternsHdl ) );
Link aLink( LINK( this, OfaLanguagesTabPage, SupportHdl ) );
aAsianSupportCB.SetClickHdl( aLink );
aCTLSupportCB.SetClickHdl( aLink );
m_pAsianSupportCB->SetClickHdl( aLink );
m_pCTLSupportCB->SetClickHdl( aLink );
aAsianSupportCB.Check( m_bOldAsian = pLangConfig->aLanguageOptions.IsAnyEnabled() );
aAsianSupportCB.SaveValue();
m_pAsianSupportCB->Check( m_bOldAsian = pLangConfig->aLanguageOptions.IsAnyEnabled() );
m_pAsianSupportCB->SaveValue();
sal_Bool bReadonly = pLangConfig->aLanguageOptions.IsReadOnly(SvtLanguageOptions::E_ALLCJK);
aAsianSupportCB.Enable(!bReadonly);
aAsianSupportFI.Show(bReadonly);
SupportHdl( &aAsianSupportCB );
m_pAsianSupportCB->Enable(!bReadonly);
SupportHdl( m_pAsianSupportCB );
aCTLSupportCB.Check( m_bOldCtl = pLangConfig->aLanguageOptions.IsCTLFontEnabled() );
aCTLSupportCB.SaveValue();
m_pCTLSupportCB->Check( m_bOldCtl = pLangConfig->aLanguageOptions.IsCTLFontEnabled() );
m_pCTLSupportCB->SaveValue();
bReadonly = pLangConfig->aLanguageOptions.IsReadOnly(SvtLanguageOptions::E_CTLFONT);
aCTLSupportCB.Enable(!bReadonly);
aCTLSupportFI.Show(bReadonly);
SupportHdl( &aCTLSupportCB );
m_pCTLSupportCB->Enable(!bReadonly);
SupportHdl( m_pCTLSupportCB );
aIgnoreLanguageChangeCB.Check( pLangConfig->aSysLocaleOptions.IsIgnoreLanguageChange() );
m_pIgnoreLanguageChangeCB->Check( pLangConfig->aSysLocaleOptions.IsIgnoreLanguageChange() );
}
OfaLanguagesTabPage::~OfaLanguagesTabPage()
@@ -1236,13 +1217,13 @@ sal_Bool OfaLanguagesTabPage::FillItemSet( SfxItemSet& rSet )
* b) it was already checked but the CTL language has changed
*/
if (
aCTLSupportCB.IsChecked() &&
(aCTLSupportCB.GetSavedValue() != STATE_CHECK ||
aComplexLanguageLB.GetSavedValue() != aComplexLanguageLB.GetSelectEntryPos())
m_pCTLSupportCB->IsChecked() &&
(m_pCTLSupportCB->GetSavedValue() != STATE_CHECK ||
m_pComplexLanguageLB->GetSavedValue() != m_pComplexLanguageLB->GetSelectEntryPos())
)
{
//sequence checking has to be switched on depending on the selected CTL language
LanguageType eCTLLang = aComplexLanguageLB.GetSelectLanguage();
LanguageType eCTLLang = m_pComplexLanguageLB->GetSelectLanguage();
sal_Bool bOn = MsLangId::needsSequenceChecking( eCTLLang);
pLangConfig->aLanguageOptions.SetCTLSequenceCheckingRestricted(bOn);
pLangConfig->aLanguageOptions.SetCTLSequenceChecking(bOn);
@@ -1253,13 +1234,13 @@ sal_Bool OfaLanguagesTabPage::FillItemSet( SfxItemSet& rSet )
// handle settings for UI Language
// a change of setting needs to bring up a warning message
OUString aLangString;
sal_Int32 d = (sal_Int32)(sal_IntPtr)aUserInterfaceLB.GetEntryData(aUserInterfaceLB.GetSelectEntryPos());
sal_Int32 d = (sal_Int32)(sal_IntPtr)m_pUserInterfaceLB->GetEntryData(m_pUserInterfaceLB->GetSelectEntryPos());
if( d > 0 && seqInstalledLanguages.getLength() > d-1)
aLangString = seqInstalledLanguages[d-1];
/*
if( aUserInterfaceLB.GetSelectEntryPos() > 0)
aLangString = ConvertLanguageToIsoString(aUserInterfaceLB.GetSelectLanguage());
if( m_pUserInterfaceLB->GetSelectEntryPos() > 0)
aLangString = ConvertLanguageToIsoString(m_pUserInterfaceLB->GetSelectLanguage());
*/
Reference< XMultiServiceFactory > theConfigProvider(
com::sun::star::configuration::theDefaultProvider::get(
@@ -1305,7 +1286,7 @@ sal_Bool OfaLanguagesTabPage::FillItemSet( SfxItemSet& rSet )
OUString sLang = pLangConfig->aSysLocaleOptions.GetLocaleConfigString();
LanguageType eOldLocale = (!sLang.isEmpty() ?
lcl_LangStringToLangType( sLang ) : LANGUAGE_SYSTEM);
LanguageType eNewLocale = aLocaleSettingLB.GetSelectLanguage();
LanguageType eNewLocale = m_pLocaleSettingLB->GetSelectLanguage();
if ( eOldLocale != eNewLocale )
{
// an empty string denotes SYSTEM locale
@@ -1325,17 +1306,17 @@ sal_Bool OfaLanguagesTabPage::FillItemSet( SfxItemSet& rSet )
aCompatOpts.SetDefault( COMPATIBILITY_PROPERTYNAME_EXPANDWORDSPACE, !bNewCJK );
}
if(aDecimalSeparatorCB.GetSavedValue() != aDecimalSeparatorCB.IsChecked())
pLangConfig->aSysLocaleOptions.SetDecimalSeparatorAsLocale(aDecimalSeparatorCB.IsChecked());
if(m_pDecimalSeparatorCB->GetSavedValue() != m_pDecimalSeparatorCB->IsChecked())
pLangConfig->aSysLocaleOptions.SetDecimalSeparatorAsLocale(m_pDecimalSeparatorCB->IsChecked());
if(aIgnoreLanguageChangeCB.GetSavedValue() != aIgnoreLanguageChangeCB.IsChecked())
pLangConfig->aSysLocaleOptions.SetIgnoreLanguageChange(aIgnoreLanguageChangeCB.IsChecked());
if(m_pIgnoreLanguageChangeCB->GetSavedValue() != m_pIgnoreLanguageChangeCB->IsChecked())
pLangConfig->aSysLocaleOptions.SetIgnoreLanguageChange(m_pIgnoreLanguageChangeCB->IsChecked());
// Configured currency, for example, USD-en-US or EUR-de-DE, or empty for locale default.
OUString sOldCurr = pLangConfig->aSysLocaleOptions.GetCurrencyConfigString();
sal_uInt16 nCurrPos = aCurrencyLB.GetSelectEntryPos();
sal_uInt16 nCurrPos = m_pCurrencyLB->GetSelectEntryPos();
const NfCurrencyEntry* pCurr = (const NfCurrencyEntry*)
aCurrencyLB.GetEntryData( nCurrPos );
m_pCurrencyLB->GetEntryData( nCurrPos );
OUString sNewCurr;
if ( pCurr )
sNewCurr = SvtSysLocaleOptions::CreateCurrencyConfigString(
@@ -1345,20 +1326,20 @@ sal_Bool OfaLanguagesTabPage::FillItemSet( SfxItemSet& rSet )
// Configured date acceptance patterns, for example Y-M-D;M-D or empty for
// locale default.
if (aDatePatternsED.GetText() != aDatePatternsED.GetSavedValue())
pLangConfig->aSysLocaleOptions.SetDatePatternsConfigString( aDatePatternsED.GetText());
if (m_pDatePatternsED->GetText() != m_pDatePatternsED->GetSavedValue())
pLangConfig->aSysLocaleOptions.SetDatePatternsConfigString( m_pDatePatternsED->GetText());
SfxObjectShell* pCurrentDocShell = SfxObjectShell::Current();
Reference< css::linguistic2::XLinguProperties > xLinguProp = LinguMgr::GetLinguPropertySet();
sal_Bool bCurrentDocCBChecked = aCurrentDocCB.IsChecked();
if(aCurrentDocCB.IsEnabled())
sal_Bool bCurrentDocCBChecked = m_pCurrentDocCB->IsChecked();
if(m_pCurrentDocCB->IsEnabled())
bLanguageCurrentDoc_Impl = bCurrentDocCBChecked;
sal_Bool bCurrentDocCBChanged = bCurrentDocCBChecked != aCurrentDocCB.GetSavedValue();
sal_Bool bCurrentDocCBChanged = bCurrentDocCBChecked != m_pCurrentDocCB->GetSavedValue();
sal_Bool bValChanged = aWesternLanguageLB.GetSavedValue() != aWesternLanguageLB.GetSelectEntryPos();
sal_Bool bValChanged = m_pWesternLanguageLB->GetSavedValue() != m_pWesternLanguageLB->GetSelectEntryPos();
if( (bCurrentDocCBChanged && !bCurrentDocCBChecked) || bValChanged)
{
LanguageType eSelectLang = aWesternLanguageLB.GetSelectLanguage();
LanguageType eSelectLang = m_pWesternLanguageLB->GetSelectLanguage();
if(!bCurrentDocCBChecked)
{
Any aValue;
@@ -1375,10 +1356,10 @@ sal_Bool OfaLanguagesTabPage::FillItemSet( SfxItemSet& rSet )
SID_ATTR_LANGUAGE));
}
}
bValChanged = aAsianLanguageLB.GetSavedValue() != aAsianLanguageLB.GetSelectEntryPos();
bValChanged = m_pAsianLanguageLB->GetSavedValue() != m_pAsianLanguageLB->GetSelectEntryPos();
if( (bCurrentDocCBChanged && !bCurrentDocCBChecked) || bValChanged)
{
LanguageType eSelectLang = aAsianLanguageLB.GetSelectLanguage();
LanguageType eSelectLang = m_pAsianLanguageLB->GetSelectLanguage();
if(!bCurrentDocCBChecked)
{
Any aValue;
@@ -1395,10 +1376,10 @@ sal_Bool OfaLanguagesTabPage::FillItemSet( SfxItemSet& rSet )
SID_ATTR_CHAR_CJK_LANGUAGE));
}
}
bValChanged = aComplexLanguageLB.GetSavedValue() != aComplexLanguageLB.GetSelectEntryPos();
bValChanged = m_pComplexLanguageLB->GetSavedValue() != m_pComplexLanguageLB->GetSelectEntryPos();
if( (bCurrentDocCBChanged && !bCurrentDocCBChecked) || bValChanged)
{
LanguageType eSelectLang = aComplexLanguageLB.GetSelectLanguage();
LanguageType eSelectLang = m_pComplexLanguageLB->GetSelectLanguage();
if(!bCurrentDocCBChecked)
{
Any aValue;
@@ -1416,9 +1397,9 @@ sal_Bool OfaLanguagesTabPage::FillItemSet( SfxItemSet& rSet )
}
}
if(aAsianSupportCB.GetSavedValue() != aAsianSupportCB.IsChecked() )
if(m_pAsianSupportCB->GetSavedValue() != m_pAsianSupportCB->IsChecked() )
{
sal_Bool bChecked = aAsianSupportCB.IsChecked();
sal_Bool bChecked = m_pAsianSupportCB->IsChecked();
pLangConfig->aLanguageOptions.SetAll(bChecked);
//iterate over all bindings to invalidate vertical text direction
@@ -1435,9 +1416,9 @@ sal_Bool OfaLanguagesTabPage::FillItemSet( SfxItemSet& rSet )
lcl_UpdateAndDelete(pInvalidItems, pBoolItems, STATE_COUNT);
}
if ( aCTLSupportCB.GetSavedValue() != aCTLSupportCB.IsChecked() )
if ( m_pCTLSupportCB->GetSavedValue() != m_pCTLSupportCB->IsChecked() )
{
pLangConfig->aLanguageOptions.SetCTLFontEnabled( aCTLSupportCB.IsChecked() );
pLangConfig->aLanguageOptions.SetCTLFontEnabled( m_pCTLSupportCB->IsChecked() );
const sal_uInt16 STATE_COUNT = 1;
SfxBoolItem* pBoolItems[STATE_COUNT];
@@ -1464,25 +1445,24 @@ void OfaLanguagesTabPage::Reset( const SfxItemSet& rSet )
{
OUString sLang = pLangConfig->aSysLocaleOptions.GetLocaleConfigString();
if ( !sLang.isEmpty() )
aLocaleSettingLB.SelectLanguage(lcl_LangStringToLangType(sLang));
m_pLocaleSettingLB->SelectLanguage(lcl_LangStringToLangType(sLang));
else
aLocaleSettingLB.SelectLanguage( LANGUAGE_USER_SYSTEM_CONFIG );
m_pLocaleSettingLB->SelectLanguage( LANGUAGE_USER_SYSTEM_CONFIG );
sal_Bool bReadonly = pLangConfig->aSysLocaleOptions.IsReadOnly(SvtSysLocaleOptions::E_LOCALE);
aLocaleSettingLB.Enable(!bReadonly);
aLocaleSettingFT.Enable(!bReadonly);
aLocaleSettingFI.Show(bReadonly);
m_pLocaleSettingLB->Enable(!bReadonly);
m_pLocaleSettingFT->Enable(!bReadonly);
//
aDecimalSeparatorCB.Check( pLangConfig->aSysLocaleOptions.IsDecimalSeparatorAsLocale());
aDecimalSeparatorCB.SaveValue();
m_pDecimalSeparatorCB->Check( pLangConfig->aSysLocaleOptions.IsDecimalSeparatorAsLocale());
m_pDecimalSeparatorCB->SaveValue();
aIgnoreLanguageChangeCB.Check( pLangConfig->aSysLocaleOptions.IsIgnoreLanguageChange());
aIgnoreLanguageChangeCB.SaveValue();
m_pIgnoreLanguageChangeCB->Check( pLangConfig->aSysLocaleOptions.IsIgnoreLanguageChange());
m_pIgnoreLanguageChangeCB->SaveValue();
// let LocaleSettingHdl enable/disable checkboxes for CJK/CTL support
// #i15812# must be done *before* the configured currency is set
// and update the decimal separator used for the given locale
LocaleSettingHdl(&aLocaleSettingLB);
LocaleSettingHdl(m_pLocaleSettingLB);
// configured currency, for example, USD-en-US or EUR-de-DE, or empty for locale default
String aAbbrev;
@@ -1495,12 +1475,11 @@ void OfaLanguagesTabPage::Reset( const SfxItemSet& rSet )
pCurr = SvNumberFormatter::GetCurrencyEntry( aAbbrev, eLang );
}
// if pCurr==NULL the SYSTEM entry is selected
sal_uInt16 nPos = aCurrencyLB.GetEntryPos( (void*) pCurr );
aCurrencyLB.SelectEntryPos( nPos );
sal_uInt16 nPos = m_pCurrencyLB->GetEntryPos( (void*) pCurr );
m_pCurrencyLB->SelectEntryPos( nPos );
bReadonly = pLangConfig->aSysLocaleOptions.IsReadOnly(SvtSysLocaleOptions::E_CURRENCY);
aCurrencyLB.Enable(!bReadonly);
aCurrencyFT.Enable(!bReadonly);
aCurrencyFI.Show(bReadonly);
m_pCurrencyLB->Enable(!bReadonly);
m_pCurrencyFT->Enable(!bReadonly);
// date acceptance patterns
OUString aDatePatternsString = pLangConfig->aSysLocaleOptions.GetDatePatternsConfigString();
@@ -1509,12 +1488,11 @@ void OfaLanguagesTabPage::Reset( const SfxItemSet& rSet )
const LocaleDataWrapper& rLocaleWrapper( Application::GetSettings().GetLocaleDataWrapper() );
aDatePatternsString = lcl_getDatePatternsConfigString( rLocaleWrapper);
}
aDatePatternsED.SetText( aDatePatternsString);
m_pDatePatternsED->SetText( aDatePatternsString);
bReadonly = pLangConfig->aSysLocaleOptions.IsReadOnly(SvtSysLocaleOptions::E_DATEPATTERNS);
aDatePatternsED.Enable(!bReadonly);
aDatePatternsFT.Enable(!bReadonly);
aDatePatternsFI.Show(bReadonly);
aDatePatternsED.SaveValue();
m_pDatePatternsED->Enable(!bReadonly);
m_pDatePatternsFT->Enable(!bReadonly);
m_pDatePatternsED->SaveValue();
//western/CJK/CLK language
LanguageType eCurLang = LANGUAGE_NONE;
@@ -1522,7 +1500,7 @@ void OfaLanguagesTabPage::Reset( const SfxItemSet& rSet )
LanguageType eCurLangCTL = LANGUAGE_NONE;
SfxObjectShell* pCurrentDocShell = SfxObjectShell::Current();
//collect the configuration values first
aCurrentDocCB.Enable(sal_False);
m_pCurrentDocCB->Enable(sal_False);
//
Any aWestLang;
Any aCJKLang;
@@ -1551,8 +1529,8 @@ void OfaLanguagesTabPage::Reset( const SfxItemSet& rSet )
//overwrite them by the values provided by the DocShell
if(pCurrentDocShell)
{
aCurrentDocCB.Enable(sal_True);
aCurrentDocCB.Check(bLanguageCurrentDoc_Impl);
m_pCurrentDocCB->Enable(sal_True);
m_pCurrentDocCB->Check(bLanguageCurrentDoc_Impl);
const SfxPoolItem* pLang;
if( SFX_ITEM_SET == rSet.GetItemState(SID_ATTR_LANGUAGE, sal_False, &pLang))
{
@@ -1576,51 +1554,48 @@ void OfaLanguagesTabPage::Reset( const SfxItemSet& rSet )
}
}
if(LANGUAGE_NONE == eCurLang || LANGUAGE_DONTKNOW == eCurLang)
aWesternLanguageLB.SelectLanguage(LANGUAGE_NONE);
m_pWesternLanguageLB->SelectLanguage(LANGUAGE_NONE);
else
aWesternLanguageLB.SelectLanguage(eCurLang);
m_pWesternLanguageLB->SelectLanguage(eCurLang);
if(LANGUAGE_NONE == eCurLangCJK || LANGUAGE_DONTKNOW == eCurLangCJK)
aAsianLanguageLB.SelectLanguage(LANGUAGE_NONE);
m_pAsianLanguageLB->SelectLanguage(LANGUAGE_NONE);
else
aAsianLanguageLB.SelectLanguage(eCurLangCJK);
m_pAsianLanguageLB->SelectLanguage(eCurLangCJK);
if(LANGUAGE_NONE == eCurLangCTL || LANGUAGE_DONTKNOW == eCurLangCTL)
aComplexLanguageLB.SelectLanguage(LANGUAGE_NONE);
m_pComplexLanguageLB->SelectLanguage(LANGUAGE_NONE);
else
aComplexLanguageLB.SelectLanguage(eCurLangCTL);
m_pComplexLanguageLB->SelectLanguage(eCurLangCTL);
aWesternLanguageLB.SaveValue();
aAsianLanguageLB.SaveValue();
aComplexLanguageLB.SaveValue();
aIgnoreLanguageChangeCB.SaveValue();
aCurrentDocCB.SaveValue();
m_pWesternLanguageLB->SaveValue();
m_pAsianLanguageLB->SaveValue();
m_pComplexLanguageLB->SaveValue();
m_pIgnoreLanguageChangeCB->SaveValue();
m_pCurrentDocCB->SaveValue();
sal_Bool bEnable = !pLangConfig->aLinguConfig.IsReadOnly( "DefaultLocale" );
aWesternLanguageFT.Enable( bEnable );
aWesternLanguageLB.Enable( bEnable );
m_pWesternLanguageFT->Enable( bEnable );
m_pWesternLanguageLB->Enable( bEnable );
aWesternLanguageFI.Show(!bEnable);
// #i15812# controls for CJK/CTL already enabled/disabled from LocaleSettingHdl
#if 0
bEnable = ( !pLangConfig->aLinguConfig.IsReadOnly( "DefaultLocale_CJK" ) && aAsianSupportCB.IsChecked() );
aAsianLanguageFT.Enable( bEnable );
aAsianLanguageLB.Enable( bEnable );
bEnable = ( !pLangConfig->aLinguConfig.IsReadOnly( "DefaultLocale_CJK" ) && m_pAsianSupportCB->IsChecked() );
m_pAsianLanguageLB->Enable( bEnable );
bEnable = ( !pLangConfig->aLinguConfig.IsReadOnly( "DefaultLocale_CTL" ) && aCTLSupportCB.IsChecked() );
aComplexLanguageFT.Enable( bEnable );
aComplexLanguageLB.Enable( bEnable );
bEnable = ( !pLangConfig->aLinguConfig.IsReadOnly( "DefaultLocale_CTL" ) && m_pCTLSupportCB->IsChecked() );
m_pComplexLanguageLB->Enable( bEnable );
#endif
// check the box "For the current document only"
// set the focus to the Western Language box
const SfxPoolItem* pLang = 0;
if ( SFX_ITEM_SET == rSet.GetItemState(SID_SET_DOCUMENT_LANGUAGE, sal_False, &pLang ) &&( (const SfxBoolItem*)pLang)->GetValue() == sal_True )
{
aWesternLanguageLB.GrabFocus();
aCurrentDocCB.Enable(sal_True);
aCurrentDocCB.Check(sal_True);
m_pWesternLanguageLB->GrabFocus();
m_pCurrentDocCB->Enable(sal_True);
m_pCurrentDocCB->Check(sal_True);
}
}
@@ -1629,23 +1604,19 @@ IMPL_LINK( OfaLanguagesTabPage, SupportHdl, CheckBox*, pBox )
DBG_ASSERT( pBox, "OfaLanguagesTabPage::SupportHdl(): pBox invalid" );
sal_Bool bCheck = pBox->IsChecked();
if ( &aAsianSupportCB == pBox )
if ( m_pAsianSupportCB == pBox )
{
sal_Bool bReadonly = pLangConfig->aLinguConfig.IsReadOnly("DefaultLocale_CJK");
bCheck = ( bCheck && !bReadonly );
aAsianLanguageFT.Enable( bCheck );
aAsianLanguageLB.Enable( bCheck );
aAsianLanguageFI.Show(bReadonly);
m_pAsianLanguageLB->Enable( bCheck );
if( pBox->IsEnabled() )
m_bOldAsian = bCheck;
}
else if ( &aCTLSupportCB == pBox )
else if ( m_pCTLSupportCB == pBox )
{
sal_Bool bReadonly = pLangConfig->aLinguConfig.IsReadOnly("DefaultLocale_CTL");
bCheck = ( bCheck && !bReadonly );
aComplexLanguageFT.Enable( bCheck );
aComplexLanguageLB.Enable( bCheck );
aComplexLanguageFI.Show(bReadonly);
m_pComplexLanguageLB->Enable( bCheck );
if( pBox->IsEnabled() )
m_bOldCtl = bCheck;
}
@@ -1657,15 +1628,15 @@ IMPL_LINK( OfaLanguagesTabPage, SupportHdl, CheckBox*, pBox )
namespace
{
void lcl_checkLanguageCheckBox(CheckBox& _rCB,sal_Bool _bNewValue,sal_Bool _bOldValue)
void lcl_checkLanguageCheckBox(CheckBox* _rCB,sal_Bool _bNewValue,sal_Bool _bOldValue)
{
if ( _bNewValue )
_rCB.Check(sal_True);
_rCB->Check(sal_True);
else
_rCB.Check( _bOldValue );
_rCB->Check( _bOldValue );
// #i15082# do not call SaveValue() in running dialog...
// _rCB.SaveValue();
_rCB.Enable( !_bNewValue );
_rCB->Enable( !_bNewValue );
}
}
@@ -1678,40 +1649,40 @@ IMPL_LINK( OfaLanguagesTabPage, LocaleSettingHdl, SvxLanguageBox*, pBox )
if(!pLangConfig->aLanguageOptions.IsReadOnly(SvtLanguageOptions::E_CTLFONT))
{
bool bIsCTLFixed = (nType & SCRIPTTYPE_COMPLEX) != 0;
lcl_checkLanguageCheckBox(aCTLSupportCB, bIsCTLFixed, m_bOldCtl);
SupportHdl( &aCTLSupportCB );
lcl_checkLanguageCheckBox(m_pCTLSupportCB, bIsCTLFixed, m_bOldCtl);
SupportHdl( m_pCTLSupportCB );
}
// second check if CJK must be enabled
// #103299# - if CJK support is not readonly
if(!pLangConfig->aLanguageOptions.IsReadOnly(SvtLanguageOptions::E_ALLCJK))
{
bool bIsCJKFixed = (nType & SCRIPTTYPE_ASIAN) != 0;
lcl_checkLanguageCheckBox(aAsianSupportCB, bIsCJKFixed, m_bOldAsian);
SupportHdl( &aAsianSupportCB );
lcl_checkLanguageCheckBox(m_pAsianSupportCB, bIsCJKFixed, m_bOldAsian);
SupportHdl( m_pAsianSupportCB );
}
sal_uInt16 nPos;
if ( eLang == LANGUAGE_USER_SYSTEM_CONFIG )
nPos = aCurrencyLB.GetEntryPos( (void*) NULL );
nPos = m_pCurrencyLB->GetEntryPos( (void*) NULL );
else
{
const NfCurrencyEntry* pCurr = &SvNumberFormatter::GetCurrencyEntry( eLang );
nPos = aCurrencyLB.GetEntryPos( (void*) pCurr );
nPos = m_pCurrencyLB->GetEntryPos( (void*) pCurr );
}
aCurrencyLB.SelectEntryPos( nPos );
m_pCurrencyLB->SelectEntryPos( nPos );
// obtain corresponding locale data
LanguageTag aLanguageTag( eLang);
LocaleDataWrapper aLocaleWrapper( aLanguageTag );
// update the decimal separator key of the related CheckBox
OUString sTempLabel(sDecimalSeparatorLabel);
OUString sTempLabel(m_pDecimalSeparatorCB->GetText());
sTempLabel = sTempLabel.replaceFirst("%1", aLocaleWrapper.getNumDecimalSep() );
aDecimalSeparatorCB.SetText(sTempLabel);
m_pDecimalSeparatorCB->SetText(sTempLabel);
// update the date acceptance patterns
OUString aDatePatternsString = lcl_getDatePatternsConfigString( aLocaleWrapper);
aDatePatternsED.SetText( aDatePatternsString);
m_pDatePatternsED->SetText( aDatePatternsString);
return 0;
}
diff --git a/cui/source/options/optgdlg.hrc b/cui/source/options/optgdlg.hrc
deleted file mode 100644
index e4a5468..0000000
--- a/cui/source/options/optgdlg.hrc
+++ /dev/null
@@ -1,71 +0,0 @@
/* -*- 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 _SVX_OPTGDLG_HRC
#define _SVX_OPTGDLG_HRC
#include <svtools/controldims.hrc>
// tabpage languages -----------------------------------------------------
#define FL_UI_LANG 1
#define FL_LINGU_LANG 4
#define FT_WEST_LANG 5
#define LB_WEST_LANG 6
#define FT_ASIAN_LANG 7
#define LB_ASIAN_LANG 8
#define FT_COMPLEX_LANG 9
#define LB_COMPLEX_LANG 10
#define CB_CURRENT_DOC 11
#define FL_ENHANCED 12
#define CB_ASIANSUPPORT 13
#define CB_CTLSUPPORT 15
#define FT_LOCALESETTING 16
#define LB_LOCALESETTING 17
#define FT_CURRENCY 18
#define LB_CURRENCY 19
#define FI_WEST_LANG 20
#define FI_ASIAN_LANG 21
#define FI_COMPLEX_LANG 22
#define FI_ASIANSUPPORT 23
#define FI_CTLSUPPORT 24
#define FI_LOCALESETTING 25
#define FI_CURRENCY 26
#define FT_DECIMALSEPARATOR 27
#define CB_DECIMALSEPARATOR 28
#define FI_USERINTERFACE 29
#define FT_USERINTERFACE 30
#define LB_USERINTERFACE 31
#define FI_DATEPATTERNS 32
#define FT_DATEPATTERNS 33
#define ED_DATEPATTERNS 34
#define CB_IGNORE_LANG_CHANGE 35
#define FL_FILEDLG 53
#define FI_FILEDLG_RO 54
#define CB_FILEDLG 55
#define FT_GRAPHICCACHE_UNIT 56
#define FT_GRAPHICOBJECTCACHE_UNIT 57
#define FT_GRAPHICOBJECTTIME_UNIT 58
#define FL_DOCSTATUS 60
#define CB_DOCSTATUS 61
#define CB_SAVE_ALWAYS 74
#endif // #ifndef _SVX_OPTGDLG_HRC
// ******************************************************************* EOF
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/options/optgdlg.hxx b/cui/source/options/optgdlg.hxx
index e1a2436..c89972a 100644
--- a/cui/source/options/optgdlg.hxx
+++ b/cui/source/options/optgdlg.hxx
@@ -24,7 +24,6 @@
#include <vcl/fixed.hxx>
#include <sfx2/tabdlg.hxx>
#include <svx/langbox.hxx>
#include <readonlyimage.hxx>
// predeclarations
class CanvasSettings;
@@ -135,40 +134,23 @@ public:
struct LanguageConfig_Impl;
class OfaLanguagesTabPage : public SfxTabPage
{
FixedLine aUILanguageGB;
ReadOnlyImage aLocaleSettingFI;
FixedText aUserInterfaceFT;
ListBox aUserInterfaceLB;
FixedText aLocaleSettingFT;
SvxLanguageBox aLocaleSettingLB;
ReadOnlyImage aCurrencyFI;
FixedText aDecimalSeparatorFT;
CheckBox aDecimalSeparatorCB;
FixedText aCurrencyFT;
ListBox aCurrencyLB;
ReadOnlyImage aDatePatternsFI;
FixedText aDatePatternsFT;
Edit aDatePatternsED;
ListBox* m_pUserInterfaceLB;
FixedText* m_pLocaleSettingFT;
SvxLanguageBox* m_pLocaleSettingLB;
CheckBox* m_pDecimalSeparatorCB;
FixedText* m_pCurrencyFT;
ListBox* m_pCurrencyLB;
FixedText* m_pDatePatternsFT;
Edit* m_pDatePatternsED;
FixedLine aLinguLanguageGB;
ReadOnlyImage aWesternLanguageFI;
FixedText aWesternLanguageFT;
SvxLanguageBox aWesternLanguageLB;
ReadOnlyImage aAsianLanguageFI;
FixedText aAsianLanguageFT;
SvxLanguageBox aAsianLanguageLB;
ReadOnlyImage aComplexLanguageFI;
FixedText aComplexLanguageFT;
SvxLanguageBox aComplexLanguageLB;
CheckBox aCurrentDocCB;
FixedLine aEnhancedFL;
ReadOnlyImage aAsianSupportFI;
CheckBox aAsianSupportCB;
ReadOnlyImage aCTLSupportFI;
CheckBox aCTLSupportCB;
CheckBox aIgnoreLanguageChangeCB;
const String sDecimalSeparatorLabel;
SvxLanguageBox* m_pWesternLanguageLB;
FixedText* m_pWesternLanguageFT;
SvxLanguageBox* m_pAsianLanguageLB;
SvxLanguageBox* m_pComplexLanguageLB;
CheckBox* m_pCurrentDocCB;
CheckBox* m_pAsianSupportCB;
CheckBox* m_pCTLSupportCB;
CheckBox* m_pIgnoreLanguageChangeCB;
sal_Bool m_bOldAsian;
sal_Bool m_bOldCtl;
diff --git a/cui/source/options/optgdlg.src b/cui/source/options/optgdlg.src
index df1aabe..9beeeea 100644
--- a/cui/source/options/optgdlg.src
+++ b/cui/source/options/optgdlg.src
@@ -18,242 +18,11 @@
*/
#include <cuires.hrc>
#include "optgdlg.hrc"
#include "helpid.hrc"
// *******************************************************************
TabPage OFA_TP_LANGUAGES
{
HelpID = HID_OFA_TP_LANGUAGES ;
SVLook = TRUE ;
Size = MAP_APPFONT ( TP_WIDTH , TP_HEIGHT ) ;
Hide = TRUE ;
FixedLine FL_UI_LANG
{
Pos = MAP_APPFONT ( 6 , 3 ) ;
Size = MAP_APPFONT ( 248 , 8 ) ;
Text [ en-US ] = "Language of";
};
FixedImage FI_USERINTERFACE
{
Pos = MAP_APPFONT ( 5 , 17-1 ) ;
Size = MAP_APPFONT ( 6 , 6 ) ;
Hide = TRUE;
};
FixedText FT_USERINTERFACE
{
Pos = MAP_APPFONT ( 12 , 16-1 ) ;
Size = MAP_APPFONT ( 108 , 8 ) ;
Text [ en-US ] = "~User interface";
};
ListBox LB_USERINTERFACE
{
HelpID = "cui:ListBox:OFA_TP_LANGUAGES:LB_USERINTERFACE";
Pos = MAP_APPFONT ( 123 , 14-1 ) ;
Size = MAP_APPFONT ( 125 , 60 ) ;
DropDown = TRUE ;
Border = TRUE ;
TabStop = TRUE ;
Sort = TRUE;
};
FixedImage FI_LOCALESETTING
{
Pos = MAP_APPFONT ( 5 , 32-2 ) ;
Size = MAP_APPFONT ( 6 , 6 ) ;
Hide = TRUE;
};
FixedText FT_LOCALESETTING
{
Pos = MAP_APPFONT ( 12 , 31-2 ) ;
Size = MAP_APPFONT ( 108 , 8 ) ;
Text [ en-US ] = "Locale setting";
};
ListBox LB_LOCALESETTING
{
HelpID = "cui:ListBox:OFA_TP_LANGUAGES:LB_LOCALESETTING";
Pos = MAP_APPFONT ( 123 , 30-2 ) ;
Size = MAP_APPFONT ( 125 , 60 ) ;
DropDown = TRUE ;
Border = TRUE ;
TabStop = TRUE ;
Sort = TRUE;
};
FixedText FT_DECIMALSEPARATOR
{
Pos = MAP_APPFONT ( 12 , 46-3 ) ;
Size = MAP_APPFONT ( 108 , 8 ) ;
Text [ en-US ] = "Decimal separator key";
};
CheckBox CB_DECIMALSEPARATOR
{
HelpID = "cui:CheckBox:OFA_TP_LANGUAGES:CB_DECIMALSEPARATOR";
Pos = MAP_APPFONT ( 123 , 46-3) ;
Size = MAP_APPFONT ( 125 , RSC_CD_CHECKBOX_HEIGHT ) ;
Text [ en-US ] = "~Same as locale setting ( %1 )";
};
FixedImage FI_CURRENCY
{
Pos = MAP_APPFONT ( 5 , 63-4 ) ;
Size = MAP_APPFONT ( 6 , 6 ) ;
Hide = TRUE;
};
FixedText FT_CURRENCY
{
Pos = MAP_APPFONT ( 12 , 61-4 ) ;
Size = MAP_APPFONT ( 108 , 8 ) ;
Text [ en-US ] = "~Default currency";
};
ListBox LB_CURRENCY
{
HelpID = "cui:ListBox:OFA_TP_LANGUAGES:LB_CURRENCY";
Pos = MAP_APPFONT ( 123 , 59-4 ) ;
Size = MAP_APPFONT ( 125 , 60 ) ;
DropDown = TRUE ;
Border = TRUE ;
TabStop = TRUE ;
Sort = TRUE;
};
FixedImage FI_DATEPATTERNS
{
Pos = MAP_APPFONT ( 5 , 78-5 ) ;
Size = MAP_APPFONT ( 6 , 6 ) ;
Hide = TRUE;
};
FixedText FT_DATEPATTERNS
{
Pos = MAP_APPFONT ( 12 , 76-5 ) ;
Size = MAP_APPFONT ( 108 , 8 ) ;
Text [ en-US ] = "Date acceptance ~patterns";
};
Edit ED_DATEPATTERNS
{
HelpID = "cui:Edit:OFA_TP_LANGUAGES:ED_DATEPATTERNS";
Pos = MAP_APPFONT ( 123 , 74-5 ) ;
Size = MAP_APPFONT ( 125 , 12 ) ;
Border = TRUE ;
TabStop = TRUE ;
};
FixedLine FL_LINGU_LANG
{
Pos = MAP_APPFONT ( 6 , 92-5 ) ;
Size = MAP_APPFONT ( 248 , 8 ) ;
Text [ en-US ] = "Default languages for documents";
};
FixedImage FI_WEST_LANG
{
Pos = MAP_APPFONT ( 5 , 107-6 ) ;
Size = MAP_APPFONT ( 6 , 6 ) ;
Hide = TRUE;
};
FixedText FT_WEST_LANG
{
Pos = MAP_APPFONT ( 12 , 105-6 ) ;
Size = MAP_APPFONT ( 108 , 8 ) ;
Text [ en-US ] = "Western";
};
ListBox LB_WEST_LANG
{
HelpID = "cui:ListBox:OFA_TP_LANGUAGES:LB_WEST_LANG";
Pos = MAP_APPFONT ( 123 , 103-6 ) ;
Size = MAP_APPFONT ( 125 , 60 ) ;
DropDown = TRUE ;
Border = TRUE ;
TabStop = TRUE ;
Sort = TRUE;
};
FixedImage FI_ASIAN_LANG
{
Pos = MAP_APPFONT ( 5 , 123-7 ) ;
Size = MAP_APPFONT ( 6 , 6 ) ;
Hide = TRUE;
};
FixedText FT_ASIAN_LANG
{
Pos = MAP_APPFONT ( 12 , 121-7 ) ;
Size = MAP_APPFONT ( 108 , 8 ) ;
Text [ en-US ] = "Asian";
};
ListBox LB_ASIAN_LANG
{
HelpID = "cui:ListBox:OFA_TP_LANGUAGES:LB_ASIAN_LANG";
Pos = MAP_APPFONT ( 123 , 119-7 ) ;
Size = MAP_APPFONT ( 125 , 60 ) ;
DropDown = TRUE ;
Border = TRUE ;
TabStop = TRUE ;
Sort = TRUE;
};
FixedImage FI_COMPLEX_LANG
{
Pos = MAP_APPFONT ( 5 , 139-8 ) ;
Size = MAP_APPFONT ( 6 , 6 ) ;
Hide = TRUE;
};
FixedText FT_COMPLEX_LANG
{
Pos = MAP_APPFONT ( 12 , 137-8 ) ;
Size = MAP_APPFONT ( 108 , 8 ) ;
Text [ en-US ] = "C~TL";
};
ListBox LB_COMPLEX_LANG
{
HelpID = "cui:ListBox:OFA_TP_LANGUAGES:LB_COMPLEX_LANG";
Pos = MAP_APPFONT ( 123 , 135-8 ) ;
Size = MAP_APPFONT ( 125 , 60 ) ;
DropDown = TRUE ;
Border = TRUE ;
TabStop = TRUE ;
Sort = TRUE;
};
CheckBox CB_CURRENT_DOC
{
HelpID = "cui:CheckBox:OFA_TP_LANGUAGES:CB_CURRENT_DOC";
Pos = MAP_APPFONT ( 123 , 150-8 ) ;
Size = MAP_APPFONT ( 125 , RSC_CD_CHECKBOX_HEIGHT ) ;
Text [ en-US ] = "For the current document only";
};
FixedLine FL_ENHANCED
{
Pos = MAP_APPFONT ( 6 , 160-8 ) ;
Size = MAP_APPFONT ( 248 , 8 ) ;
Text [ en-US ] = "Enhanced language support";
};
FixedImage FI_ASIANSUPPORT
{
Pos = MAP_APPFONT ( 5 , 175-9 ) ;
Size = MAP_APPFONT ( 6 , 6 ) ;
Hide = TRUE;
};
CheckBox CB_ASIANSUPPORT
{
HelpID = "cui:CheckBox:OFA_TP_LANGUAGES:CB_ASIANSUPPORT";
Pos = MAP_APPFONT ( 12 , 173-9 ) ;
Size = MAP_APPFONT ( 236 ,RSC_CD_CHECKBOX_HEIGHT ) ;
Text [ en-US ] = "Show UI elements for East Asia~n writings";
};
FixedImage FI_CTLSUPPORT
{
Pos = MAP_APPFONT ( 5 , 190-10 ) ;
Size = MAP_APPFONT ( 6 , 6 ) ;
Hide = TRUE;
};
CheckBox CB_CTLSUPPORT
{
HelpID = "cui:CheckBox:OFA_TP_LANGUAGES:CB_CTLSUPPORT";
Pos = MAP_APPFONT ( 12 , 188-11 ) ;
Size = MAP_APPFONT ( 236 , RSC_CD_CHECKBOX_HEIGHT ) ;
Text [ en-US ] = "Show UI elements for B~i-Directional writing";
};
CheckBox CB_IGNORE_LANG_CHANGE
{
HelpID = "cui:CheckBox:OFA_TP_LANGUAGES:CB_IGNORE_LANG_CHANGE";
Pos = MAP_APPFONT ( 12 , 188-11+13 ) ;
Size = MAP_APPFONT ( 236 , RSC_CD_CHECKBOX_HEIGHT ) ;
Text [ en-US ] = "Ignore s~ystem input language";
};
};
InfoBox RID_SVX_MSGBOX_LANGUAGE_RESTART
{
diff --git a/cui/source/options/optinet2.hxx b/cui/source/options/optinet2.hxx
index c19ff8d..fcc935c 100644
--- a/cui/source/options/optinet2.hxx
+++ b/cui/source/options/optinet2.hxx
@@ -30,7 +30,6 @@
#include <unotools/configitem.hxx>
#include <svtools/headbar.hxx>
#include <readonlyimage.hxx>
namespace svx {
class SecurityOptionsDialog;
diff --git a/cui/source/options/optpath.cxx b/cui/source/options/optpath.cxx
index 774d335..d4bff5d 100644
--- a/cui/source/options/optpath.cxx
+++ b/cui/source/options/optpath.cxx
@@ -50,7 +50,6 @@
#include <com/sun/star/util/PathSettings.hpp>
#include <officecfg/Office/Common.hxx>
#include "optHeaderTabListbox.hxx"
#include <readonlyimage.hxx>
#include <vcl/help.hxx>
using namespace ::com::sun::star::beans;
diff --git a/cui/source/options/optsave.hxx b/cui/source/options/optsave.hxx
index 111f0d8..eef46ba 100644
--- a/cui/source/options/optsave.hxx
+++ b/cui/source/options/optsave.hxx
@@ -25,7 +25,6 @@
#include <vcl/lstbox.hxx>
#include <sfx2/tabdlg.hxx>
#include <com/sun/star/uno/Reference.h>
#include <readonlyimage.hxx>
namespace com { namespace sun { namespace star {
namespace beans {
diff --git a/cui/source/options/readonlyimage.cxx b/cui/source/options/readonlyimage.cxx
deleted file mode 100644
index dd819cd..0000000
--- a/cui/source/options/readonlyimage.cxx
+++ /dev/null
@@ -1,60 +0,0 @@
/* -*- 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 .
*/
#include <readonlyimage.hxx>
#include <vcl/help.hxx>
#include <dialmgr.hxx>
#include <cuires.hrc>
ReadOnlyImage::ReadOnlyImage(Window* pParent, const ResId rResId) :
FixedImage(pParent, rResId)
{
SetImage( Image(CUI_RES( RID_SVXBMP_LOCK )));
}
ReadOnlyImage::~ReadOnlyImage()
{
}
void ReadOnlyImage::RequestHelp( const HelpEvent& rHEvt )
{
if( Help::IsBalloonHelpEnabled() || Help::IsQuickHelpEnabled() )
{
Rectangle aLogicPix( LogicToPixel( Rectangle( Point(), GetOutputSize() ) ) );
Rectangle aScreenRect( OutputToScreenPixel( aLogicPix.TopLeft() ),
OutputToScreenPixel( aLogicPix.BottomRight() ) );
String aStr(ReadOnlyImage::GetHelpTip());
if ( Help::IsBalloonHelpEnabled() )
Help::ShowBalloon( this, rHEvt.GetMousePosPixel(), aScreenRect,
aStr );
else if ( Help::IsQuickHelpEnabled() )
Help::ShowQuickHelp( this, aScreenRect, aStr );
}
else
Window::RequestHelp( rHEvt );
}
const String& ReadOnlyImage::GetHelpTip()
{
static String aStr(CUI_RES(RID_SVXSTR_READONLY_CONFIG_TIP));
return aStr;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/options/readonlyimage.hxx b/cui/source/options/readonlyimage.hxx
deleted file mode 100644
index f4532c6..0000000
--- a/cui/source/options/readonlyimage.hxx
+++ /dev/null
@@ -1,36 +0,0 @@
/* -*- 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 _SVX_READONLYIMAGE_HXX
#define _SVX_READONLYIMAGE_HXX
#include <vcl/fixed.hxx>
class ReadOnlyImage : public FixedImage
{
public:
ReadOnlyImage(Window* pParent, const ResId rResId);
~ReadOnlyImage();
virtual void RequestHelp( const HelpEvent& rHEvt );
static const String& GetHelpTip();
};
#endif //
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/options/readonlyimage.src b/cui/source/options/readonlyimage.src
deleted file mode 100644
index 2757d35..0000000
--- a/cui/source/options/readonlyimage.src
+++ /dev/null
@@ -1,35 +0,0 @@
/* -*- 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 .
*/
#include <cuires.hrc>
String RID_SVXSTR_READONLY_CONFIG_TIP
{
Text [ en-US ] = "This setting is protected by the Administrator";
};
Image RID_SVXBMP_LOCK
{
ImageBitmap = Bitmap
{
File = "lock.bmp";
};
MaskColor = Color { Red=0xffff; Green=0x0000; Blue=0xffff; };
};
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cui/source/options/securityoptions.hxx b/cui/source/options/securityoptions.hxx
index 2b49d20..8a0766d 100644
--- a/cui/source/options/securityoptions.hxx
+++ b/cui/source/options/securityoptions.hxx
@@ -23,7 +23,6 @@
#include <vcl/dialog.hxx>
#include <vcl/fixed.hxx>
#include "readonlyimage.hxx"
class SvtSecurityOptions;
diff --git a/cui/uiconfig/ui/optlanguagespage.ui b/cui/uiconfig/ui/optlanguagespage.ui
new file mode 100644
index 0000000..8321676
--- /dev/null
+++ b/cui/uiconfig/ui/optlanguagespage.ui
@@ -0,0 +1,389 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkBox" id="OptLanguagesPage">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="orientation">vertical</property>
<property name="spacing">12</property>
<child>
<object class="GtkFrame" id="frame1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">5</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="column_homogeneous">True</property>
<child>
<object class="GtkLabel" id="label4">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_User interface</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">userinterface</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="localesettingFT">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Locale setting</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="label6">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Decimal separator key</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="defaultcurrency">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">_Defalut currency</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">currencylb</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="dataaccpatterns">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Date acceptance _patterns</property>
<property name="use_underline">True</property>
<property name="mnemonic_widget">datepatterns</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">4</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="svxcorelo-SvxLanguageBox" id="userinterface">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="svxcorelo-SvxLanguageBox" id="localesetting">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="svxcorelo-SvxLanguageBox" id="currencylb">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkEntry" id="datepatterns">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="invisible_char">●</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 class="GtkCheckButton" id="decimalseparator">
<property name="label" translatable="yes">_Same as locale setting ( %1 )</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">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Language of</property>
<attributes>
<attribute name="weight" value="semibold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<property name="column_homogeneous">True</property>
<child>
<object class="GtkCheckButton" id="asiansupport">
<property name="label" translatable="yes">Asian</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">0</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="ctlsupport">
<property name="label" translatable="yes">C_TL</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">0</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkLabel" id="western">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Western</property>
</object>
<packing>
<property name="left_attach">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="GtkCheckButton" id="currentdoc">
<property name="label" translatable="yes">For the current document only</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="svxcorelo-SvxLanguageBox" id="westernlanguage">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="svxcorelo-SvxLanguageBox" id="asianlanguage">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">1</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<object class="svxcorelo-SvxLanguageBox" id="complexlanguage">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="left_attach">1</property>
<property name="top_attach">2</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
<child>
<placeholder/>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label2">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Default languages for documents</property>
<attributes>
<attribute name="weight" value="semibold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
<child>
<object class="GtkFrame" id="frame3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label_xalign">0</property>
<property name="shadow_type">none</property>
<child>
<object class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="top_padding">6</property>
<property name="left_padding">12</property>
<child>
<object class="GtkGrid" id="grid3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="row_spacing">6</property>
<child>
<object class="GtkCheckButton" id="ignorelanguagechange">
<property name="label" translatable="yes">Ignore s_ystem input language</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">0</property>
<property name="top_attach">0</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
</object>
</child>
</object>
</child>
<child type="label">
<object class="GtkLabel" id="label3">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">Enhanced language support</property>
<attributes>
<attribute name="weight" value="semibold"/>
</attributes>
</object>
</child>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
</object>
</interface>