[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