[ooo-build-commit] patches/dev300

Kohei Yoshida kohei at kemper.freedesktop.org
Mon Jun 1 11:45:30 PDT 2009


 patches/dev300/calc-html-import-custom-lang-sc.diff |  169 ++++++++++++++++++++
 1 file changed, 169 insertions(+)

New commits:
commit 4e7cf41c716f21a811f2dac4918ff7434d0ef12f
Author: Kohei Yoshida <kyoshida at novell.com>
Date:   Mon Jun 1 14:44:52 2009 -0400

    Forgot to add two new files this patch was supposed to add.
    
    * patches/dev300/calc-html-import-custom-lang-sc.diff:

diff --git a/patches/dev300/calc-html-import-custom-lang-sc.diff b/patches/dev300/calc-html-import-custom-lang-sc.diff
index d104acc..b2a4733 100644
--- a/patches/dev300/calc-html-import-custom-lang-sc.diff
+++ b/patches/dev300/calc-html-import-custom-lang-sc.diff
@@ -111,6 +111,68 @@ index 637682d..1c9f587 100644
  	virtual		AbstractScAutoFormatDlg * CreateScAutoFormatDlg( Window*					pParent, //add for ScAutoFormatDlg
  																ScAutoFormat*				pAutoFormat,
  																const ScAutoFormatData*    pSelFormatData,
+diff --git sc/inc/stringutil.hxx sc/inc/stringutil.hxx
+new file mode 100644
+index 0000000..4ca8629
+--- /dev/null
++++ sc/inc/stringutil.hxx
+@@ -0,0 +1,56 @@
++/*************************************************************************
++ *
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++ * 
++ * Copyright 2008 by Sun Microsystems, Inc.
++ *
++ * OpenOffice.org - a multi-platform office productivity suite
++ *
++ * $RCSfile: table.hxx,v $
++ * $Revision: 1.35 $
++ *
++ * This file is part of OpenOffice.org.
++ *
++ * OpenOffice.org is free software: you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License version 3
++ * only, as published by the Free Software Foundation.
++ *
++ * OpenOffice.org is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License version 3 for more details
++ * (a copy is included in the LICENSE file that accompanied this code).
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * version 3 along with OpenOffice.org.  If not, see
++ * <http://www.openoffice.org/license.html>
++ * for a copy of the LGPLv3 License.
++ *
++ ************************************************************************/
++
++#ifndef SC_STRINGUTIL_HXX
++#define SC_STRINGUTIL_HXX
++
++#include "rtl/ustring.hxx"
++
++class ScStringUtil
++{
++public:
++    /** 
++     * Check if a given string is a simple decimal number (e.g. 12.345). We 
++     * don't do any elaborate parsing here; we only check for the simplest 
++     * case of decimal number format. 
++     *
++     * @param rStr string to parse
++     * @param dsep decimal separator
++     * @param gsep group separator (aka thousands separator)
++     * @param rVal value of successfully parsed number
++     * 
++     * @return true if the string is a valid number, false otherwise.
++     */
++    static bool parseSimpleNumber(
++        const ::rtl::OUString& rStr, sal_Unicode dsep, sal_Unicode gsep, double& rVal);
++};
++
++
++#endif
 diff --git sc/inc/table.hxx sc/inc/table.hxx
 index b95c40c..ea24628 100644
 --- sc/inc/table.hxx
@@ -335,6 +397,113 @@ index 1bf94ea..b54c041 100644
  		$(SLO)$/token.obj
  
  # [kh] POWERPC compiler problem
+diff --git sc/source/core/tool/stringutil.cxx sc/source/core/tool/stringutil.cxx
+new file mode 100644
+index 0000000..eaf756e
+--- /dev/null
++++ sc/source/core/tool/stringutil.cxx
+@@ -0,0 +1,101 @@
++/*************************************************************************
++ *
++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
++ * 
++ * Copyright 2008 by Sun Microsystems, Inc.
++ *
++ * OpenOffice.org - a multi-platform office productivity suite
++ *
++ * $RCSfile: table.hxx,v $
++ * $Revision: 1.35 $
++ *
++ * This file is part of OpenOffice.org.
++ *
++ * OpenOffice.org is free software: you can redistribute it and/or modify
++ * it under the terms of the GNU Lesser General Public License version 3
++ * only, as published by the Free Software Foundation.
++ *
++ * OpenOffice.org is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU Lesser General Public License version 3 for more details
++ * (a copy is included in the LICENSE file that accompanied this code).
++ *
++ * You should have received a copy of the GNU Lesser General Public License
++ * version 3 along with OpenOffice.org.  If not, see
++ * <http://www.openoffice.org/license.html>
++ * for a copy of the LGPLv3 License.
++ *
++ ************************************************************************/
++
++// MARKER(update_precomp.py): autogen include statement, do not remove
++#include "precompiled_sc.hxx"
++
++// System - Includes -----------------------------------------------------
++
++#include "stringutil.hxx"
++#include "rtl/ustrbuf.hxx"
++
++using ::rtl::OUString;
++using ::rtl::OUStringBuffer;
++
++bool ScStringUtil::parseSimpleNumber(
++    const OUString& rStr, sal_Unicode dsep, sal_Unicode gsep, double& rVal)
++{
++    OUStringBuffer aBuf;
++    sal_Int32 n = rStr.getLength();
++    const sal_Unicode* p = rStr.getStr();
++    sal_Int32 nPosDSep = -1, nPosGSep = -1;
++    for (sal_Int32 i = 0; i < n; ++i)
++    {
++        sal_Unicode c = p[i];
++        if (sal_Unicode('0') <= c && c <= sal_Unicode('9'))
++        {
++            // this is a digit.
++            aBuf.append(c);
++        }
++        else if (c == dsep)
++        {
++            // this is a decimal separator.
++
++            if (nPosDSep >= 0)
++                // a second decimal separator -> not a valid number.
++                return false;
++            if (nPosGSep >= 0 && i - nPosGSep != 4)
++                // the number has a group separator and the decimal sep is not
++                // positioned correctly.
++                return false;
++
++            nPosDSep = i;
++            aBuf.append(c);
++        }
++        else if (c == gsep)
++        {
++            // this is a group (thousand) separator.
++            if (i == 0)
++                return false;
++
++            if (nPosGSep >= 0 && i - nPosGSep != 4)
++            {    
++                // this group separator is not positioned correctly relative
++                // to the last group separator.
++                return false;
++            }
++
++            nPosGSep = i;
++        }
++        else if (c == sal_Unicode('-') || c == sal_Unicode('+'))
++        {
++            // A sign must be the first character if it's given.
++            if (i == 0)
++                aBuf.append(c);
++            else
++                return false;
++        }
++        else
++            return false;
++    }
++
++    rVal = aBuf.makeStringAndClear().toDouble();
++    return true;
++}
 diff --git sc/source/filter/html/htmlimp.cxx sc/source/filter/html/htmlimp.cxx
 index 8c92f3d..8fbd9aa 100644
 --- sc/source/filter/html/htmlimp.cxx


More information about the ooo-build-commit mailing list