Søren Thing Pedersen skrev:
Eike Rathke skrev:

Why initialize first and then immediately assign another value? I'd
write that as

BOOL bAssumeEnglishNumbers = SC_MOD()->GetAppOptions().GetNumberRecognitionAssumeEnglish()


Hmm. What state will bAssumeEnglishNumbers take if the Office.Calc.Misc.NumberRecognition.AssumeEnglish boolean is not even set in calc.xcu?


Furthermore, a patched build for m128 seems to trigger document recovery
everytime Calc is closed as the last OOo application. Did I forget anything? Any usual suspects?

Søren



diff -urN -r --exclude=CVS 
ooo_SRC680_m128_src.orig/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
 ooo_SRC680_m128_src/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
--- 
ooo_SRC680_m128_src.orig/officecfg/registry/schema/org/openoffice/Office/Calc.xcs
   2005-09-08 17:11:22.000000000 +0200
+++ 
ooo_SRC680_m128_src/officecfg/registry/schema/org/openoffice/Office/Calc.xcs    
    2005-09-11 10:35:22.000000000 +0200
@@ -1336,6 +1336,18 @@
                                        <value>5000</value>
                                </prop>
                        </group>
+                       <group oor:name="NumberRecognition">
+                               <info>
+                                       <desc>Contains setting for number 
recognition.</desc>
+                               </info>
+                               <prop oor:name="AssumeEnglish" 
oor:type="xs:boolean">
+                                       <info>
+                                               <desc>Specifies whether 
imported or pasted numbers are recognized as English before current locale. 
E.g. 1.000 is always recognized as 1 when setting is true.</desc>
+                                               <label>Assume English 
Numbers</label>
+                                       </info>
+                                       <value>true</value>
+                               </prop>
+                       </group>
                </group>
        </component>
 </oor:component-schema>
diff -urN -r --exclude=CVS ooo_SRC680_m128_src.orig/sc/inc/appoptio.hxx 
ooo_SRC680_m128_src/sc/inc/appoptio.hxx
--- ooo_SRC680_m128_src.orig/sc/inc/appoptio.hxx        2005-09-08 
19:22:24.000000000 +0200
+++ ooo_SRC680_m128_src/sc/inc/appoptio.hxx     2005-09-09 19:22:50.000000000 
+0200
@@ -102,7 +102,9 @@
        INT32           GetDefaultObjectSizeWidth() const               { 
return nDefaultObjectSizeWidth; }
        void            SetDefaultObjectSizeHeight(INT32 nNew)  { 
nDefaultObjectSizeHeight = nNew; }
        INT32           GetDefaultObjectSizeHeight() const              { 
return nDefaultObjectSizeHeight; }
-
+       void            SetNumberRecognitionAssumeEnglish( BOOL bNew )  { 
bNumberRecognitionAssumeEnglish = bNew; }
+       BOOL            GetNumberRecognitionAssumeEnglish() const               
{ return bNumberRecognitionAssumeEnglish; }
+ 
 
        const ScAppOptions&     operator=       ( const ScAppOptions& rOpt );
        friend SvStream&        operator>>      ( SvStream& rStream, 
ScAppOptions& rOpt );
@@ -124,6 +126,7 @@
        ScLkUpdMode eLinkMode;
        INT32           nDefaultObjectSizeWidth;
        INT32           nDefaultObjectSizeHeight;
+       BOOL            bNumberRecognitionAssumeEnglish;
 };
 
 
diff -urN -r --exclude=CVS 
ooo_SRC680_m128_src.orig/sc/source/core/tool/appoptio.cxx 
ooo_SRC680_m128_src/sc/source/core/tool/appoptio.cxx
--- ooo_SRC680_m128_src.orig/sc/source/core/tool/appoptio.cxx   2005-09-08 
20:38:46.000000000 +0200
+++ ooo_SRC680_m128_src/sc/source/core/tool/appoptio.cxx        2005-09-11 
09:54:08.000000000 +0200
@@ -119,6 +119,7 @@
 
        nDefaultObjectSizeWidth = 8000;
        nDefaultObjectSizeHeight = 5000;
+       bNumberRecognitionAssumeEnglish = TRUE;
 }
 
 //------------------------------------------------------------------------
@@ -139,6 +140,7 @@
        eLinkMode               = rCpy.eLinkMode;
        nDefaultObjectSizeWidth = rCpy.nDefaultObjectSizeWidth;
        nDefaultObjectSizeHeight = rCpy.nDefaultObjectSizeHeight;
+       bNumberRecognitionAssumeEnglish = rCpy.bNumberRecognitionAssumeEnglish;
        return *this;
 }
 
@@ -397,7 +399,8 @@
 
 #define SCMISCOPT_DEFOBJWIDTH          0
 #define SCMISCOPT_DEFOBJHEIGHT         1
-#define SCMISCOPT_COUNT                                2
+#define SCMISCOPT_ENGLISHNUMS                  2 
+#define SCMISCOPT_COUNT                                3
 
 
 Sequence<OUString> ScAppCfg::GetLayoutPropertyNames()
@@ -488,6 +491,7 @@
        {
                "DefaultObjectSize/Width",      // SCMISCOPT_DEFOBJWIDTH
                "DefaultObjectSize/Height"      // SCMISCOPT_DEFOBJHEIGHT
+               "NumberRecognition/AssumeEnglish"       // SCMISCOPT_ENGLISHNUMS
        };
        Sequence<OUString> aNames(SCMISCOPT_COUNT);
        OUString* pNames = aNames.getArray();
@@ -671,6 +675,9 @@
                                        case SCMISCOPT_DEFOBJHEIGHT:
                                                if (pValues[nProp] >>= nIntVal) 
SetDefaultObjectSizeHeight( nIntVal );
                                                break;
+                                       case SCMISCOPT_ENGLISHNUMS:
+                                               
SetNumberRecognitionAssumeEnglish( ScUnoHelpFunctions::GetBoolFromAny( 
pValues[nProp] ) );
+                                               break;
                                }
                        }
                }
@@ -830,6 +837,9 @@
                        case SCMISCOPT_DEFOBJHEIGHT:
                                pValues[nProp] <<= (sal_Int32) 
GetDefaultObjectSizeHeight();
                                break;
+                       case SCMISCOPT_ENGLISHNUMS:
+                               ScUnoHelpFunctions::SetBoolInAny( 
pValues[nProp], GetNumberRecognitionAssumeEnglish() );
+                               break;
                }
        }
        aMiscItem.PutProperties(aNames, aValues);
diff -urN -r --exclude=CVS 
ooo_SRC680_m128_src.orig/sc/source/filter/rtf/eeimpars.cxx 
ooo_SRC680_m128_src/sc/source/filter/rtf/eeimpars.cxx
--- ooo_SRC680_m128_src.orig/sc/source/filter/rtf/eeimpars.cxx  2005-09-08 
21:44:20.000000000 +0200
+++ ooo_SRC680_m128_src/sc/source/filter/rtf/eeimpars.cxx       2005-09-09 
19:41:00.000000000 +0200
@@ -79,6 +79,7 @@
 #include "drwlayer.hxx"
 #include "rangenam.hxx"
 #include "progress.hxx"
+#include "scmod.hxx"
 
 #include "globstr.hrc"
 
@@ -360,7 +361,10 @@
                     }
                                        const sal_Unicode cDecSepEng = '.';
                                        const sal_Unicode cThoSepEng = ',';
-                                       if ( cDecSep != cDecSepEng
+                                       // Check option in 
user/registry/data/org/openoffice/Office/Calc.xcu and disable assumption that 
HTML and RTF is en_US if false: Workaround for issue 50670, issue 39898, issue 
38494    
+                                       BOOL bAssumeEnglishNumbers = 
SC_MOD()->GetAppOptions().GetNumberRecognitionAssumeEnglish();
+                   
+                                       if ( bAssumeEnglishNumbers && cDecSep 
!= cDecSepEng
                                          && aStr.GetTokenCount( cDecSepEng ) 
== 2 )
                                        {       // evtl. englische Zahl wandeln 
und im Deutschen
                                                // den Numberformatter kein 
Datum draus machen lassen..

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to