[Libreoffice-commits] core.git: sc/inc sc/source

Laurent Godard lgodard.libre at laposte.net
Thu Aug 8 10:35:58 PDT 2013


 sc/inc/editutil.hxx                   |    2 ++
 sc/source/core/data/autonamecache.cxx |    6 +-----
 sc/source/core/tool/editutil.cxx      |   25 ++++++++++++++++++++++++-
 3 files changed, 27 insertions(+), 6 deletions(-)

New commits:
commit f807403faa3a20a6b4e95c9e8441cd637e3e548d
Author: Laurent Godard <lgodard.libre at laposte.net>
Date:   Thu Aug 8 17:18:29 2013 +0200

    import performance : do not use EditEngine anymore
    
    Change-Id: I5849add3444cff15a201a276c8917fabc4b33262
    Reviewed-on: https://gerrit.libreoffice.org/5317
    Reviewed-by: Kohei Yoshida <kohei.yoshida at suse.de>
    Tested-by: Kohei Yoshida <kohei.yoshida at suse.de>

diff --git a/sc/inc/editutil.hxx b/sc/inc/editutil.hxx
index 88a42e8..34ffd34 100644
--- a/sc/inc/editutil.hxx
+++ b/sc/inc/editutil.hxx
@@ -55,9 +55,11 @@ public:
 
     /// Retrieves string with paragraphs delimited by spaces
     static OUString GetSpaceDelimitedString( const EditEngine& rEngine );
+    static OUString GetSpaceDelimitedString( const EditTextObject& rEdit );
 
     /// Retrieves string with paragraphs delimited by new lines ('\n').
     static OUString GetMultilineString( const EditEngine& rEngine );
+    static OUString GetMultilineString( const EditTextObject& rEdit );
 
     /** Retrieves string with paragraphs delimited by new lines ('\n').
 
diff --git a/sc/source/core/data/autonamecache.cxx b/sc/source/core/data/autonamecache.cxx
index 5d2257b..02d74cd 100644
--- a/sc/source/core/data/autonamecache.cxx
+++ b/sc/source/core/data/autonamecache.cxx
@@ -72,11 +72,7 @@ const ScAutoNameAddresses& ScAutoNameCache::GetNameOccurrences( const String& rN
                 {
                     const EditTextObject* p = aIter.getEditText();
                     if (p)
-                    {
-                        ScFieldEditEngine& rEngine = pDoc->GetEditEngine();
-                        rEngine.SetText(*p);
-                        aStr = ScEditUtil::GetMultilineString(rEngine); // string with line separators between paragraphs
-                    }
+                        aStr = ScEditUtil::GetMultilineString(*p); // string with line separators between paragraphs
                 }
                 break;
                 case CELLTYPE_NONE:
diff --git a/sc/source/core/tool/editutil.cxx b/sc/source/core/tool/editutil.cxx
index ea87597..8935fad 100644
--- a/sc/source/core/tool/editutil.cxx
+++ b/sc/source/core/tool/editutil.cxx
@@ -29,7 +29,7 @@
 #include <editeng/flditem.hxx>
 #include <editeng/numitem.hxx>
 #include <editeng/justifyitem.hxx>
-#include "editeng/editobj.hxx"
+#include <editeng/editobj.hxx>
 #include <vcl/svapp.hxx>
 #include <vcl/outdev.hxx>
 #include <svl/inethist.hxx>
@@ -81,16 +81,39 @@ static OUString lcl_GetDelimitedString( const EditEngine& rEngine, const sal_Cha
     return aRet.makeStringAndClear();
 }
 
+static OUString lcl_GetDelimitedString( const EditTextObject& rEdit, const sal_Char c )
+{
+    sal_Int32 nParCount = rEdit.GetParagraphCount();
+    OUStringBuffer aRet( nParCount * 80 );
+    for (sal_Int32 nPar=0; nPar<nParCount; nPar++)
+    {
+        if (nPar > 0)
+            aRet.append(c);
+        aRet.append( rEdit.GetText( nPar ));
+    }
+    return aRet.makeStringAndClear();
+}
+
 OUString ScEditUtil::GetSpaceDelimitedString( const EditEngine& rEngine )
 {
     return lcl_GetDelimitedString(rEngine, ' ');
 }
 
+OUString ScEditUtil::GetSpaceDelimitedString( const EditTextObject& rEdit )
+{
+    return lcl_GetDelimitedString(rEdit, ' ');
+}
+
 OUString ScEditUtil::GetMultilineString( const EditEngine& rEngine )
 {
     return lcl_GetDelimitedString(rEngine, '\n');
 }
 
+OUString ScEditUtil::GetMultilineString( const EditTextObject& rEdit )
+{
+    return lcl_GetDelimitedString(rEdit, '\n');
+}
+
 OUString ScEditUtil::GetString( const EditTextObject& rEditText, const ScDocument* pDoc )
 {
     // ScFieldEditEngine is needed to resolve field contents.


More information about the Libreoffice-commits mailing list