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.li...@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.yosh...@suse.de>
    Tested-by: Kohei Yoshida <kohei.yosh...@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.
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to