summaryrefslogtreecommitdiff
path: root/unotools
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedricbosdo@openoffice.org>2010-09-14 17:21:03 +0200
committerCédric Bosdonnat <cedricbosdo@openoffice.org>2010-09-14 17:21:03 +0200
commit615e2b4075b2d285c033aae5e722ffa382e8520e (patch)
treed7579a33cb37076d242e9586265b483ec3dac09d /unotools
parent0ec05d5b9d05cb36523dbed657fe38c73baab7b4 (diff)
cjk-default-compatibility.diff: Don't expand spaces with manual breaks
i#54320
Diffstat (limited to 'unotools')
-rw-r--r--unotools/inc/unotools/compatibility.hxx2
-rw-r--r--unotools/source/config/compatibility.cxx40
2 files changed, 42 insertions, 0 deletions
diff --git a/unotools/inc/unotools/compatibility.hxx b/unotools/inc/unotools/compatibility.hxx
index eb01e43f3ba0..17fa55d2f434 100644
--- a/unotools/inc/unotools/compatibility.hxx
+++ b/unotools/inc/unotools/compatibility.hxx
@@ -153,6 +153,8 @@ class UNOTOOLS_DLLPUBLIC SvtCompatibilityOptions: public utl::detail::Options
void Clear();
+ void SetDefault( ::rtl::OUString sName, bool bValue );
+
/*-****************************************************************************************************//**
@short return complete specified list
@descr Call it to get all entries of compatibility options.
diff --git a/unotools/source/config/compatibility.cxx b/unotools/source/config/compatibility.cxx
index 61ebe0211817..5f733e194464 100644
--- a/unotools/source/config/compatibility.cxx
+++ b/unotools/source/config/compatibility.cxx
@@ -35,6 +35,7 @@
#include <unotools/compatibility.hxx>
#include <unotools/configmgr.hxx>
#include <unotools/configitem.hxx>
+#include <unotools/syslocale.hxx>
#include <tools/debug.hxx>
#include <com/sun/star/uno/Any.hxx>
#include <com/sun/star/uno/Sequence.hxx>
@@ -247,6 +248,8 @@ class SvtCompatibilityOptions_Impl : public ConfigItem
SvtCompatibilityOptions_Impl();
~SvtCompatibilityOptions_Impl();
+ void SetDefault( OUString sName, bool bValue );
+
//---------------------------------------------------------------------------------------------------------
// overloaded methods of baseclass
//---------------------------------------------------------------------------------------------------------
@@ -425,6 +428,12 @@ SvtCompatibilityOptions_Impl::SvtCompatibilityOptions_Impl()
if ( !bDefaultFound && aItem.sName.equals( COMPATIBILITY_DEFAULT_NAME ) != sal_False )
{
+ SvtSysLocale aSysLocale;
+ com::sun::star::lang::Locale aLocale = aSysLocale.GetLocale();
+ if ( aLocale.Language.equalsAscii( "zh" ) || aLocale.Language.equalsAscii( "ja" ) ||
+ aLocale.Language.equalsAscii( "ko" ) )
+ aItem.bExpandWordSpace = false;
+
m_aDefOptions = aItem;
bDefaultFound = true;
}
@@ -443,6 +452,32 @@ SvtCompatibilityOptions_Impl::~SvtCompatibilityOptions_Impl()
}
}
+void SvtCompatibilityOptions_Impl::SetDefault( OUString sName, bool bValue )
+{
+ if ( COMPATIBILITY_PROPERTYNAME_USEPRTMETRICS.equals( sName ) )
+ m_aDefOptions.SetUsePrtMetrics( bValue );
+ else if ( COMPATIBILITY_PROPERTYNAME_ADDSPACING.equals( sName ) )
+ m_aDefOptions.SetAddSpacing( bValue );
+ else if ( COMPATIBILITY_PROPERTYNAME_ADDSPACINGATPAGES.equals( sName ) )
+ m_aDefOptions.SetAddSpacingAtPages( bValue );
+ else if ( COMPATIBILITY_PROPERTYNAME_USEOURTABSTOPS.equals( sName ) )
+ m_aDefOptions.SetUseOurTabStops( bValue );
+ else if ( COMPATIBILITY_PROPERTYNAME_NOEXTLEADING.equals( sName ) )
+ m_aDefOptions.SetNoExtLeading( bValue );
+ else if ( COMPATIBILITY_PROPERTYNAME_USELINESPACING.equals( sName ) )
+ m_aDefOptions.SetUseLineSpacing( bValue );
+ else if ( COMPATIBILITY_PROPERTYNAME_ADDTABLESPACING.equals( sName ) )
+ m_aDefOptions.SetAddTableSpacing( bValue );
+ else if ( COMPATIBILITY_PROPERTYNAME_USEOBJECTPOSITIONING.equals( sName ) )
+ m_aDefOptions.SetUseObjPos( bValue );
+ else if ( COMPATIBILITY_PROPERTYNAME_USEOURTEXTWRAPPING.equals( sName ) )
+ m_aDefOptions.SetUseOurTextWrapping( bValue );
+ else if ( COMPATIBILITY_PROPERTYNAME_CONSIDERWRAPPINGSTYLE.equals( sName ) )
+ m_aDefOptions.SetConsiderWrappingStyle( bValue );
+ else if ( COMPATIBILITY_PROPERTYNAME_EXPANDWORDSPACE.equals( sName ) )
+ m_aDefOptions.SetExpandWordSpace( bValue );
+}
+
//*****************************************************************************************************************
// public method
//*****************************************************************************************************************
@@ -680,6 +715,11 @@ void SvtCompatibilityOptions::Clear()
m_pDataContainer->Clear();
}
+void SvtCompatibilityOptions::SetDefault( ::rtl::OUString sName, bool bValue )
+{
+ m_pDataContainer->SetDefault( sName, bValue );
+}
+
//*****************************************************************************************************************
// public method
//*****************************************************************************************************************