[Libreoffice-commits] core.git: include/svx svx/source

Caolán McNamara caolanm at redhat.com
Thu Jul 25 01:56:55 PDT 2013


 include/svx/cube3d.hxx           |    2 -
 include/svx/extrud3d.hxx         |    2 -
 include/svx/lathe3d.hxx          |    2 -
 include/svx/obj3d.hxx            |    2 -
 include/svx/scene3d.hxx          |    2 -
 include/svx/sphere3d.hxx         |    2 -
 include/svx/svdoashp.hxx         |    2 -
 include/svx/svdobj.hxx           |    2 -
 include/svx/svdocapt.hxx         |    2 -
 include/svx/svdocirc.hxx         |    2 -
 include/svx/svdoedge.hxx         |    2 -
 include/svx/svdograf.hxx         |    2 -
 include/svx/svdogrp.hxx          |    2 -
 include/svx/svdomeas.hxx         |    2 -
 include/svx/svdomedia.hxx        |    2 -
 include/svx/svdoole2.hxx         |    2 -
 include/svx/svdopage.hxx         |    2 -
 include/svx/svdopath.hxx         |    2 -
 include/svx/svdorect.hxx         |    2 -
 include/svx/svdotable.hxx        |    2 -
 include/svx/svdotext.hxx         |    2 -
 include/svx/svdouno.hxx          |    2 -
 include/svx/svdovirt.hxx         |    2 -
 svx/source/engine3d/cube3d.cxx   |   17 ++++----
 svx/source/engine3d/extrud3d.cxx |   17 ++++----
 svx/source/engine3d/lathe3d.cxx  |   17 ++++----
 svx/source/engine3d/obj3d.cxx    |   17 ++++----
 svx/source/engine3d/scene3d.cxx  |   17 ++++----
 svx/source/engine3d/sphere3d.cxx |   17 ++++----
 svx/source/svdraw/svddrgv.cxx    |    5 +-
 svx/source/svdraw/svdedtv2.cxx   |    4 +-
 svx/source/svdraw/svdedxv.cxx    |    3 -
 svx/source/svdraw/svdmark.cxx    |    4 +-
 svx/source/svdraw/svdoashp.cxx   |   17 ++++----
 svx/source/svdraw/svdobj.cxx     |   20 +++++-----
 svx/source/svdraw/svdocapt.cxx   |   18 +++++----
 svx/source/svdraw/svdocirc.cxx   |   17 ++++----
 svx/source/svdraw/svdoedge.cxx   |   17 ++++----
 svx/source/svdraw/svdograf.cxx   |   74 ++++++++++++++++++++-------------------
 svx/source/svdraw/svdogrp.cxx    |   22 ++++++-----
 svx/source/svdraw/svdomeas.cxx   |   18 +++++----
 svx/source/svdraw/svdomedia.cxx  |   18 +++++----
 svx/source/svdraw/svdoole2.cxx   |   16 ++++----
 svx/source/svdraw/svdopage.cxx   |   18 +++++----
 svx/source/svdraw/svdopath.cxx   |   45 +++++++++++------------
 svx/source/svdraw/svdorect.cxx   |   42 +++++++++++-----------
 svx/source/svdraw/svdotext.cxx   |   17 ++++----
 svx/source/svdraw/svdouno.cxx    |   18 +++++----
 svx/source/svdraw/svdovirt.cxx   |   22 ++++++-----
 svx/source/svdraw/svdundo.cxx    |    3 -
 svx/source/svdraw/svdview.cxx    |    2 -
 svx/source/table/svdotable.cxx   |   18 +++++----
 svx/source/unodraw/unoshape.cxx  |    4 --
 53 files changed, 310 insertions(+), 280 deletions(-)

New commits:
commit 75a66d2d1f295a1a9a488f0a12c672a975ffaf81
Author: Caolán McNamara <caolanm at redhat.com>
Date:   Thu Jul 25 09:27:58 2013 +0100

    convert TakeObjNameSingul family to OUString
    
    Change-Id: I0c667cbcfcc1ea1f04d113a53b7ba83c943052e4

diff --git a/include/svx/cube3d.hxx b/include/svx/cube3d.hxx
index 5d65cc5..fc25aae 100644
--- a/include/svx/cube3d.hxx
+++ b/include/svx/cube3d.hxx
@@ -79,7 +79,7 @@ public:
     sal_uInt16 GetSideFlags() { return nSideFlags; }
 
     // TakeObjName...() is for the display in the UI, for example "3 frames selected".
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 };
 
diff --git a/include/svx/extrud3d.hxx b/include/svx/extrud3d.hxx
index 60da908..d24857b 100644
--- a/include/svx/extrud3d.hxx
+++ b/include/svx/extrud3d.hxx
@@ -86,7 +86,7 @@ public:
     virtual E3dExtrudeObj* Clone() const;
 
     // TakeObjName...() is for the display in the UI (for example "3 frames selected")
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     // set/get local parameters with geometry regeneration
diff --git a/include/svx/lathe3d.hxx b/include/svx/lathe3d.hxx
index c43c426..fe9c607 100644
--- a/include/svx/lathe3d.hxx
+++ b/include/svx/lathe3d.hxx
@@ -97,7 +97,7 @@ private:
     virtual SdrObject* DoConvertToPolyObj(sal_Bool bBezier, bool bAddText) const;
 
     // TakeObjName...() is for the display in the UI, for example "3 frames selected".
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     // set/get local parameters with geometry recreation
diff --git a/include/svx/obj3d.hxx b/include/svx/obj3d.hxx
index 1074fbc..4628bcd 100644
--- a/include/svx/obj3d.hxx
+++ b/include/svx/obj3d.hxx
@@ -184,7 +184,7 @@ public:
     basegfx::B3DPolyPolygon CreateWireframe() const;
 
     // TakeObjName...() is for the display in the UI, for example "3 frames selected".
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
     sal_uInt16 GetLogicalGroup() { return 0; }
     virtual E3dObject* Clone() const;
diff --git a/include/svx/scene3d.hxx b/include/svx/scene3d.hxx
index c2e9f77..04273fe 100644
--- a/include/svx/scene3d.hxx
+++ b/include/svx/scene3d.hxx
@@ -214,7 +214,7 @@ public:
     void RotateScene(const Point& rRef, long nWink, double sn, double cs);
 
     // TakeObjName...() is for the display in the UI, for example "3 frames selected".
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     // get transformations
diff --git a/include/svx/sphere3d.hxx b/include/svx/sphere3d.hxx
index a36216c..c32c0a8 100644
--- a/include/svx/sphere3d.hxx
+++ b/include/svx/sphere3d.hxx
@@ -68,7 +68,7 @@ public:
     void SetSize(const basegfx::B3DVector& rNew);
 
     // TakeObjName...() is for displaying in the UI, eg "3 selected frames."
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 };
 
diff --git a/include/svx/svdoashp.hxx b/include/svx/svdoashp.hxx
index 91890dc..5733599 100644
--- a/include/svx/svdoashp.hxx
+++ b/include/svx/svdoashp.hxx
@@ -223,7 +223,7 @@ public:
     virtual SdrObjCustomShape* Clone() const;
     SdrObjCustomShape& operator=(const SdrObjCustomShape& rObj);
 
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     virtual basegfx::B2DPolyPolygon TakeCreatePoly( const SdrDragStat& rDrag) const;
diff --git a/include/svx/svdobj.hxx b/include/svx/svdobj.hxx
index 7885c8a..44ced52 100644
--- a/include/svx/svdobj.hxx
+++ b/include/svx/svdobj.hxx
@@ -623,7 +623,7 @@ public:
     SdrObject& operator=(const SdrObject& rObj);
 
     // TakeObjName...() ist fuer die Anzeige in der UI, z.B. "3 Rahmen selektiert".
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     // Das Xor-Polygon wird von der View zu Draggen des Objektes benoetigt.
diff --git a/include/svx/svdocapt.hxx b/include/svx/svdocapt.hxx
index 54c67fb..abd875e 100644
--- a/include/svx/svdocapt.hxx
+++ b/include/svx/svdocapt.hxx
@@ -91,7 +91,7 @@ public:
     // for calc: fixed note tail position.
     void SetFixedTail() { mbFixedTail = sal_True; }
 
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
diff --git a/include/svx/svdocirc.hxx b/include/svx/svdocirc.hxx
index d613327..dede492 100644
--- a/include/svx/svdocirc.hxx
+++ b/include/svx/svdocirc.hxx
@@ -98,7 +98,7 @@ public:
     virtual sal_uInt16 GetObjIdentifier() const;
     virtual void TakeUnrotatedSnapRect(Rectangle& rRect) const;
 
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     virtual SdrCircObj* Clone() const;
diff --git a/include/svx/svdoedge.hxx b/include/svx/svdoedge.hxx
index ea0968c..a5bb981f 100644
--- a/include/svx/svdoedge.hxx
+++ b/include/svx/svdoedge.hxx
@@ -239,7 +239,7 @@ public:
     virtual void TakeUnrotatedSnapRect(Rectangle& rRect) const;
     virtual SdrEdgeObj* Clone() const;
     SdrEdgeObj& operator=(const SdrEdgeObj& rObj);
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     void    SetEdgeTrackPath( const basegfx::B2DPolyPolygon& rPoly );
diff --git a/include/svx/svdograf.hxx b/include/svx/svdograf.hxx
index 036a83e..64e109a 100644
--- a/include/svx/svdograf.hxx
+++ b/include/svx/svdograf.hxx
@@ -149,7 +149,7 @@ public:
     virtual void            TakeObjInfo(SdrObjTransformInfoRec& rInfo) const;
     virtual sal_uInt16          GetObjIdentifier() const;
 
-    virtual void            TakeObjNameSingul(String& rName) const;
+    virtual OUString        TakeObjNameSingul() const;
     virtual void            TakeObjNamePlural(String& rName) const;
 
     // #i25616#
diff --git a/include/svx/svdogrp.hxx b/include/svx/svdogrp.hxx
index d12f380..e25b169 100644
--- a/include/svx/svdogrp.hxx
+++ b/include/svx/svdogrp.hxx
@@ -70,7 +70,7 @@ public:
     virtual SdrObjGroup* Clone() const;
     SdrObjGroup& operator=(const SdrObjGroup& rObj);
 
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     virtual void RecalcSnapRect();
diff --git a/include/svx/svdomeas.hxx b/include/svx/svdomeas.hxx
index ad3e737..144292b 100644
--- a/include/svx/svdomeas.hxx
+++ b/include/svx/svdomeas.hxx
@@ -95,7 +95,7 @@ public:
     virtual void TakeUnrotatedSnapRect(Rectangle& rRect) const;
     virtual SdrMeasureObj* Clone() const;
 
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
diff --git a/include/svx/svdomedia.hxx b/include/svx/svdomedia.hxx
index 48a29cb..163b219 100644
--- a/include/svx/svdomedia.hxx
+++ b/include/svx/svdomedia.hxx
@@ -50,7 +50,7 @@ public:
         virtual void                TakeObjInfo(SdrObjTransformInfoRec& rInfo) const;
         virtual sal_uInt16              GetObjIdentifier() const;
 
-        virtual void                TakeObjNameSingul(String& rName) const;
+        virtual OUString            TakeObjNameSingul() const;
         virtual void                TakeObjNamePlural(String& rName) const;
 
         virtual SdrMediaObj*            Clone() const;
diff --git a/include/svx/svdoole2.hxx b/include/svx/svdoole2.hxx
index 92b4ad5..fea461e 100644
--- a/include/svx/svdoole2.hxx
+++ b/include/svx/svdoole2.hxx
@@ -141,7 +141,7 @@ public:
 
     virtual void TakeObjInfo(SdrObjTransformInfoRec& rInfo) const;
     virtual sal_uInt16 GetObjIdentifier() const;
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     SdrOle2Obj* Clone() const;
diff --git a/include/svx/svdopage.hxx b/include/svx/svdopage.hxx
index 2109dfb..39cda1b 100644
--- a/include/svx/svdopage.hxx
+++ b/include/svx/svdopage.hxx
@@ -59,7 +59,7 @@ public:
     virtual SdrPageObj* Clone() const;
     SdrPageObj& operator=(const SdrPageObj& rObj);
 
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 };
 
diff --git a/include/svx/svdopath.hxx b/include/svx/svdopath.hxx
index 61f3c90..610692b 100644
--- a/include/svx/svdopath.hxx
+++ b/include/svx/svdopath.hxx
@@ -94,7 +94,7 @@ public:
     virtual SdrPathObj* Clone() const;
     SdrPathObj& operator=(const SdrPathObj& rObj);
 
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
     virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
     virtual void RecalcSnapRect();
diff --git a/include/svx/svdorect.hxx b/include/svx/svdorect.hxx
index f984bb2..71cc9f1 100644
--- a/include/svx/svdorect.hxx
+++ b/include/svx/svdorect.hxx
@@ -83,7 +83,7 @@ public:
     virtual sal_uInt16 GetObjIdentifier() const;
     virtual void TakeUnrotatedSnapRect(Rectangle& rRect) const;
 
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     virtual SdrRectObj* Clone() const;
diff --git a/include/svx/svdotable.hxx b/include/svx/svdotable.hxx
index f14b725..5234bde 100644
--- a/include/svx/svdotable.hxx
+++ b/include/svx/svdotable.hxx
@@ -205,7 +205,7 @@ public:
 
     virtual bool AdjustTextFrameWidthAndHeight(Rectangle& rR, bool bHgt = true, bool bWdt = true) const;
     virtual bool AdjustTextFrameWidthAndHeight(bool bHgt = true, bool bWdt = true);
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
     virtual SdrTableObj* Clone() const;
     SdrTableObj& operator=(const SdrTableObj& rObj);
diff --git a/include/svx/svdotext.hxx b/include/svx/svdotext.hxx
index 36bf4a4..2752be0 100644
--- a/include/svx/svdotext.hxx
+++ b/include/svx/svdotext.hxx
@@ -421,7 +421,7 @@ public:
 
     // Wird zur Bestimmung des Textankerbereichs benoetigt
     virtual void TakeUnrotatedSnapRect(Rectangle& rRect) const;
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
     virtual SdrTextObj* Clone() const;
     SdrTextObj& operator=(const SdrTextObj& rObj);
diff --git a/include/svx/svdouno.hxx b/include/svx/svdouno.hxx
index 243bcce..d02a05a 100644
--- a/include/svx/svdouno.hxx
+++ b/include/svx/svdouno.hxx
@@ -90,7 +90,7 @@ public:
     virtual bool supportsFullDrag() const;
     virtual SdrObject* getFullDragClone() const;
 
-    virtual void TakeObjNameSingul(XubString& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(XubString& rName) const;
 
     virtual void SetContextWritingMode( const sal_Int16 _nContextWritingMode );
diff --git a/include/svx/svdovirt.hxx b/include/svx/svdovirt.hxx
index e7493f5..d3e62f4 100644
--- a/include/svx/svdovirt.hxx
+++ b/include/svx/svdovirt.hxx
@@ -72,7 +72,7 @@ public:
     virtual SdrVirtObj* Clone() const;
     SdrVirtObj& operator=(const SdrVirtObj& rObj);
 
-    virtual void TakeObjNameSingul(String& rName) const;
+    virtual OUString TakeObjNameSingul() const;
     virtual void TakeObjNamePlural(String& rName) const;
 
     virtual basegfx::B2DPolyPolygon TakeXorPoly() const;
diff --git a/svx/source/engine3d/cube3d.cxx b/svx/source/engine3d/cube3d.cxx
index 9f8d8a7..5328d24 100644
--- a/svx/source/engine3d/cube3d.cxx
+++ b/svx/source/engine3d/cube3d.cxx
@@ -110,18 +110,19 @@ void E3dCubeObj::SetPosIsCenter(sal_Bool bNew)
 
 // Get the name of the object (singular)
 
-void E3dCubeObj::TakeObjNameSingul(XubString& rName) const
+OUString E3dCubeObj::TakeObjNameSingul() const
 {
-    rName=ImpGetResStr(STR_ObjNameSingulCube3d);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulCube3d));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+    return sName.makeStringAndClear();
 }
 
 // Get the name of the object (plural)
diff --git a/svx/source/engine3d/extrud3d.cxx b/svx/source/engine3d/extrud3d.cxx
index 724f45d..6b4c607 100644
--- a/svx/source/engine3d/extrud3d.cxx
+++ b/svx/source/engine3d/extrud3d.cxx
@@ -120,18 +120,19 @@ void E3dExtrudeObj::SetExtrudePolygon(const basegfx::B2DPolyPolygon &rNew)
 
 // Get the name of the object (singular)
 
-void E3dExtrudeObj::TakeObjNameSingul(XubString& rName) const
+OUString E3dExtrudeObj::TakeObjNameSingul() const
 {
-    rName=ImpGetResStr(STR_ObjNameSingulExtrude3d);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulExtrude3d));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+    return sName.makeStringAndClear();
 }
 
 // Get the name of the object (plural)
diff --git a/svx/source/engine3d/lathe3d.cxx b/svx/source/engine3d/lathe3d.cxx
index d9153bf..5900509 100644
--- a/svx/source/engine3d/lathe3d.cxx
+++ b/svx/source/engine3d/lathe3d.cxx
@@ -148,18 +148,19 @@ void E3dLatheObj::SetPolyPoly2D(const basegfx::B2DPolyPolygon& rNew)
 
 // Get the name of the object (singular)
 
-void E3dLatheObj::TakeObjNameSingul(XubString& rName) const
+OUString E3dLatheObj::TakeObjNameSingul() const
 {
-    rName=ImpGetResStr(STR_ObjNameSingulLathe3d);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulLathe3d));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+    return sName.makeStringAndClear();
 }
 
 // Get the name of the object (plural)
diff --git a/svx/source/engine3d/obj3d.cxx b/svx/source/engine3d/obj3d.cxx
index 06835ce..6e74d2f 100644
--- a/svx/source/engine3d/obj3d.cxx
+++ b/svx/source/engine3d/obj3d.cxx
@@ -664,18 +664,19 @@ basegfx::B3DPolyPolygon E3dObject::CreateWireframe() const
 
 // Get the name of the object (singular)
 
-void E3dObject::TakeObjNameSingul(XubString& rName) const
+OUString E3dObject::TakeObjNameSingul() const
 {
-    rName=ImpGetResStr(STR_ObjNameSingulObj3d);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulObj3d));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+    return sName.makeStringAndClear();
 }
 
 // Get the name of the object (plural)
diff --git a/svx/source/engine3d/scene3d.cxx b/svx/source/engine3d/scene3d.cxx
index 059e61f..cfc4163 100644
--- a/svx/source/engine3d/scene3d.cxx
+++ b/svx/source/engine3d/scene3d.cxx
@@ -573,18 +573,19 @@ void E3dScene::RotateScene (const Point& rRef, long /*nWink*/, double sn, double
     NbcMove (Differenz);  // Actually executes the coordinate transformation.
 }
 
-void E3dScene::TakeObjNameSingul(XubString& rName) const
+OUString E3dScene::TakeObjNameSingul() const
 {
-    rName=ImpGetResStr(STR_ObjNameSingulScene3d);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulScene3d));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+    return sName.makeStringAndClear();
 }
 
 void E3dScene::TakeObjNamePlural(XubString& rName) const
diff --git a/svx/source/engine3d/sphere3d.cxx b/svx/source/engine3d/sphere3d.cxx
index ee831f7..b1c17be 100644
--- a/svx/source/engine3d/sphere3d.cxx
+++ b/svx/source/engine3d/sphere3d.cxx
@@ -127,18 +127,19 @@ void E3dSphereObj::SetSize(const basegfx::B3DVector& rNew)
 
 // Get the name of the object (singular)
 
-void E3dSphereObj::TakeObjNameSingul(XubString& rName) const
+OUString E3dSphereObj::TakeObjNameSingul() const
 {
-    rName=ImpGetResStr(STR_ObjNameSingulSphere3d);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulSphere3d));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+    return sName.makeStringAndClear();
 }
 
 // Get the name of the object (plural)
diff --git a/svx/source/svdraw/svddrgv.cxx b/svx/source/svdraw/svddrgv.cxx
index e4cbdd4..da555ea 100644
--- a/svx/source/svdraw/svddrgv.cxx
+++ b/svx/source/svdraw/svddrgv.cxx
@@ -640,8 +640,7 @@ sal_Bool SdrDragView::ImpBegInsObjPoint(sal_Bool bIdxZwang, sal_uInt32 nIdx, con
         DBG_ASSERT( pInsPointUndo, "svx::SdrDragView::BegInsObjPoint(), could not create correct undo object!" );
 
         XubString aStr(ImpGetResStr(STR_DragInsertPoint));
-        XubString aName;
-        pMarkedObj->TakeObjNameSingul(aName);
+        OUString aName(pMarkedObj->TakeObjNameSingul());
         xub_StrLen nPos(aStr.SearchAscii("%1"));
 
         if(STRING_NOTFOUND != nPos)
@@ -751,7 +750,7 @@ sal_Bool SdrDragView::BegInsGluePoint(const Point& rPnt)
         pInsPointUndo= dynamic_cast< SdrUndoGeoObj* >( GetModel()->GetSdrUndoFactory().CreateUndoGeoObject(*pObj) );
         DBG_ASSERT( pInsPointUndo, "svx::SdrDragView::BegInsObjPoint(), could not create correct undo object!" );
         XubString aStr(ImpGetResStr(STR_DragInsertGluePoint));
-        XubString aName; pObj->TakeObjNameSingul(aName);
+        OUString aName(pObj->TakeObjNameSingul());
 
         aStr.SearchAndReplaceAscii("%1", aName);
 
diff --git a/svx/source/svdraw/svdedtv2.cxx b/svx/source/svdraw/svdedtv2.cxx
index 6f626da..91573cc 100644
--- a/svx/source/svdraw/svdedtv2.cxx
+++ b/svx/source/svdraw/svdedtv2.cxx
@@ -1795,7 +1795,7 @@ void SdrEditView::UnGroupMarked()
 
     sal_uIntPtr nCount=0;
     XubString aName1;
-    XubString aName;
+    OUString aName;
     bool bNameOk=false;
     for (sal_uIntPtr nm=GetMarkedObjectCount(); nm>0;) {
         nm--;
@@ -1805,7 +1805,7 @@ void SdrEditView::UnGroupMarked()
         if (pSrcLst!=NULL) {
             nCount++;
             if (nCount==1) {
-                pGrp->TakeObjNameSingul(aName);  // retrieve name of group
+                aName = pGrp->TakeObjNameSingul();  // retrieve name of group
                 pGrp->TakeObjNamePlural(aName1); // retrieve name of group
                 bNameOk=true;
             } else {
diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
index 8ed8c24..6722ad3 100644
--- a/svx/source/svdraw/svdedxv.cxx
+++ b/svx/source/svdraw/svdedxv.cxx
@@ -917,8 +917,7 @@ SdrEndTextEditKind SdrObjEditView::SdrEndTextEdit(sal_Bool bDontDeleteReally)
             const bool bUndo = IsUndoEnabled();
             if( bUndo )
             {
-                XubString aObjName;
-                pTEObj->TakeObjNameSingul(aObjName);
+                OUString aObjName(pTEObj->TakeObjNameSingul());
                 BegUndo(ImpGetResStr(STR_UndoObjSetText),aObjName);
             }
 
diff --git a/svx/source/svdraw/svdmark.cxx b/svx/source/svdraw/svdmark.cxx
index 40820e7..73dd2b9 100644
--- a/svx/source/svdraw/svdmark.cxx
+++ b/svx/source/svdraw/svdmark.cxx
@@ -569,7 +569,7 @@ const XubString& SdrMarkList::GetMarkDescription() const
         {
             if(pMark->GetMarkedSdrObj())
             {
-                pMark->GetMarkedSdrObj()->TakeObjNameSingul(aNam);
+                aNam = pMark->GetMarkedSdrObj()->TakeObjNameSingul();
             }
         }
         else
@@ -663,7 +663,7 @@ const XubString& SdrMarkList::GetPointMarkDescription(sal_Bool bGlue) const
         {
             if(pMark->GetMarkedSdrObj())
             {
-                pMark->GetMarkedSdrObj()->TakeObjNameSingul(aNam);
+                aNam = pMark->GetMarkedSdrObj()->TakeObjNameSingul();
             }
         }
         else
diff --git a/svx/source/svdraw/svdoashp.cxx b/svx/source/svdraw/svdoashp.cxx
index b6bfd6c..dbfb8a0 100644
--- a/svx/source/svdraw/svdoashp.cxx
+++ b/svx/source/svdraw/svdoashp.cxx
@@ -2824,17 +2824,18 @@ SdrObjCustomShape& SdrObjCustomShape::operator=(const SdrObjCustomShape& rObj)
 }
 
 
-void SdrObjCustomShape::TakeObjNameSingul(XubString& rName) const
+OUString SdrObjCustomShape::TakeObjNameSingul() const
 {
-    rName = ImpGetResStr(STR_ObjNameSingulCUSTOMSHAPE);
-    String aNm( GetName() );
-    if( aNm.Len() )
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulCUSTOMSHAPE));
+    OUString aNm(GetName());
+    if (!aNm.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aNm;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aNm);
+        sName.append('\'');
     }
+    return sName.makeStringAndClear();
 }
 
 void SdrObjCustomShape::TakeObjNamePlural(XubString& rName) const
diff --git a/svx/source/svdraw/svdobj.cxx b/svx/source/svdraw/svdobj.cxx
index b6e760f..60d42ec 100644
--- a/svx/source/svdraw/svdobj.cxx
+++ b/svx/source/svdraw/svdobj.cxx
@@ -1090,18 +1090,19 @@ SdrObject& SdrObject::operator=(const SdrObject& rObj)
     return *this;
 }
 
-void SdrObject::TakeObjNameSingul(XubString& rName) const
+OUString SdrObject::TakeObjNameSingul() const
 {
-    rName=ImpGetResStr(STR_ObjNameSingulNONE);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulNONE));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+    return sName.makeStringAndClear();
 }
 
 void SdrObject::TakeObjNamePlural(XubString& rName) const
@@ -1116,8 +1117,7 @@ void SdrObject::ImpTakeDescriptionStr(sal_uInt16 nStrCacheID, OUString& rStr, sa
     if (nPos >= 0)
     {
         // Replace '%1' with the object name.
-        XubString aObjName;
-        TakeObjNameSingul(aObjName);
+        OUString aObjName(TakeObjNameSingul());
         rStr = rStr.replaceAt(nPos, 2, aObjName);
     }
 
diff --git a/svx/source/svdraw/svdocapt.cxx b/svx/source/svdraw/svdocapt.cxx
index 29115e8..ceb341b 100644
--- a/svx/source/svdraw/svdocapt.cxx
+++ b/svx/source/svdraw/svdocapt.cxx
@@ -240,18 +240,20 @@ SdrCaptionObj* SdrCaptionObj::Clone() const
     return CloneHelper< SdrCaptionObj >();
 }
 
-void SdrCaptionObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrCaptionObj::TakeObjNameSingul() const
 {
-    rName=ImpGetResStr(STR_ObjNameSingulCAPTION);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulCAPTION));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+
+    return sName.makeStringAndClear();
 }
 
 void SdrCaptionObj::TakeObjNamePlural(XubString& rName) const
diff --git a/svx/source/svdraw/svdocirc.cxx b/svx/source/svdraw/svdocirc.cxx
index 5edc746..b43c842 100644
--- a/svx/source/svdraw/svdocirc.cxx
+++ b/svx/source/svdraw/svdocirc.cxx
@@ -283,7 +283,7 @@ void SdrCircObj::RecalcXPoly()
     mpXPoly = new XPolygon(aPolyCirc);
 }
 
-void SdrCircObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrCircObj::TakeObjNameSingul() const
 {
     sal_uInt16 nID=STR_ObjNameSingulCIRC;
     if (aRect.GetWidth()==aRect.GetHeight() && aGeo.nShearWink==0) {
@@ -303,16 +303,17 @@ void SdrCircObj::TakeObjNameSingul(XubString& rName) const
             default: break;
         }
     }
-    rName=ImpGetResStr(nID);
+    OUStringBuffer sName(ImpGetResStr(nID));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+    return sName.makeStringAndClear();
 }
 
 void SdrCircObj::TakeObjNamePlural(XubString& rName) const
diff --git a/svx/source/svdraw/svdoedge.cxx b/svx/source/svdraw/svdoedge.cxx
index 6c3eaa1..30d3366 100644
--- a/svx/source/svdraw/svdoedge.cxx
+++ b/svx/source/svdraw/svdoedge.cxx
@@ -1638,18 +1638,19 @@ SdrEdgeObj& SdrEdgeObj::operator=(const SdrEdgeObj& rObj)
     return *this;
 }
 
-void SdrEdgeObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrEdgeObj::TakeObjNameSingul() const
 {
-    rName=ImpGetResStr(STR_ObjNameSingulEDGE);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulEDGE));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+    return sName.makeStringAndClear();
 }
 
 void SdrEdgeObj::TakeObjNamePlural(XubString& rName) const
diff --git a/svx/source/svdraw/svdograf.cxx b/svx/source/svdraw/svdograf.cxx
index 00da762..fb550c1 100644
--- a/svx/source/svdraw/svdograf.cxx
+++ b/svx/source/svdraw/svdograf.cxx
@@ -713,53 +713,57 @@ void SdrGrafObj::ImpSetLinkedGraphic( const Graphic& rGraphic )
     GetModel()->SetChanged( bIsChanged );
 }
 
-void SdrGrafObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrGrafObj::TakeObjNameSingul() const
 {
-    if(pGraphic)
-    {
-        const SvgDataPtr& rSvgDataPtr = pGraphic->GetGraphic().getSvgData();
+    if (!pGraphic)
+        return OUString();
 
-        if(rSvgDataPtr.get())
-        {
-            rName = ImpGetResStr(STR_ObjNameSingulGRAFSVG);
-        }
-        else
+    const SvgDataPtr& rSvgDataPtr = pGraphic->GetGraphic().getSvgData();
+
+    OUStringBuffer sName;
+
+    if(rSvgDataPtr.get())
+    {
+        sName.append(ImpGetResStr(STR_ObjNameSingulGRAFSVG));
+    }
+    else
+    {
+        switch( pGraphic->GetType() )
         {
-            switch( pGraphic->GetType() )
+            case GRAPHIC_BITMAP:
             {
-                case GRAPHIC_BITMAP:
-                {
-                    const sal_uInt16 nId = ( ( pGraphic->IsTransparent() || ( (const SdrGrafTransparenceItem&) GetObjectItem( SDRATTR_GRAFTRANSPARENCE ) ).GetValue() ) ?
-                                         ( IsLinkedGraphic() ? STR_ObjNameSingulGRAFBMPTRANSLNK : STR_ObjNameSingulGRAFBMPTRANS ) :
-                                         ( IsLinkedGraphic() ? STR_ObjNameSingulGRAFBMPLNK : STR_ObjNameSingulGRAFBMP ) );
+                const sal_uInt16 nId = ( ( pGraphic->IsTransparent() || ( (const SdrGrafTransparenceItem&) GetObjectItem( SDRATTR_GRAFTRANSPARENCE ) ).GetValue() ) ?
+                                     ( IsLinkedGraphic() ? STR_ObjNameSingulGRAFBMPTRANSLNK : STR_ObjNameSingulGRAFBMPTRANS ) :
+                                     ( IsLinkedGraphic() ? STR_ObjNameSingulGRAFBMPLNK : STR_ObjNameSingulGRAFBMP ) );
 
-                    rName=ImpGetResStr( nId );
-                }
-                break;
+                sName.append(ImpGetResStr(nId));
+            }
+            break;
 
-                case GRAPHIC_GDIMETAFILE:
-                    rName=ImpGetResStr( IsLinkedGraphic() ? STR_ObjNameSingulGRAFMTFLNK : STR_ObjNameSingulGRAFMTF );
-                break;
+            case GRAPHIC_GDIMETAFILE:
+                sName.append(ImpGetResStr(IsLinkedGraphic() ? STR_ObjNameSingulGRAFMTFLNK : STR_ObjNameSingulGRAFMTF));
+            break;
 
-                case GRAPHIC_NONE:
-                    rName=ImpGetResStr( IsLinkedGraphic() ? STR_ObjNameSingulGRAFNONELNK : STR_ObjNameSingulGRAFNONE );
-                break;
+            case GRAPHIC_NONE:
+                sName.append(ImpGetResStr(IsLinkedGraphic() ? STR_ObjNameSingulGRAFNONELNK : STR_ObjNameSingulGRAFNONE));
+            break;
 
-                default:
-                    rName=ImpGetResStr(  IsLinkedGraphic() ? STR_ObjNameSingulGRAFLNK : STR_ObjNameSingulGRAF );
-                break;
-            }
+            default:
+                sName.append(ImpGetResStr(IsLinkedGraphic() ? STR_ObjNameSingulGRAFLNK : STR_ObjNameSingulGRAF));
+            break;
         }
+    }
 
-        const String aName(GetName());
+    const OUString aName(GetName());
 
-        if( aName.Len() )
-        {
-            rName.AppendAscii( " '" );
-            rName += aName;
-            rName += sal_Unicode( '\'' );
-        }
+    if (!aName.isEmpty())
+    {
+        sName.append(" '");
+        sName.append(aName);
+        sName.append('\'' );
     }
+
+    return sName.makeStringAndClear();
 }
 
 void SdrGrafObj::TakeObjNamePlural( XubString& rName ) const
diff --git a/svx/source/svdraw/svdogrp.cxx b/svx/source/svdraw/svdogrp.cxx
index 37cc3f9..98d7ca3 100644
--- a/svx/source/svdraw/svdogrp.cxx
+++ b/svx/source/svdraw/svdogrp.cxx
@@ -291,26 +291,30 @@ SdrObjGroup& SdrObjGroup::operator=(const SdrObjGroup& rObj)
 }
 
 
-void SdrObjGroup::TakeObjNameSingul(XubString& rName) const
+OUString SdrObjGroup::TakeObjNameSingul() const
 {
+    OUStringBuffer sName;
+
     if(!pSub->GetObjCount())
     {
-        rName = ImpGetResStr(STR_ObjNameSingulGRUPEMPTY);
+        sName.append(ImpGetResStr(STR_ObjNameSingulGRUPEMPTY));
     }
     else
     {
-        rName = ImpGetResStr(STR_ObjNameSingulGRUP);
+        sName.append(ImpGetResStr(STR_ObjNameSingulGRUP));
     }
 
-    const String aName(GetName());
+    const OUString aName(GetName());
 
-    if(aName.Len())
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+
+    return sName.makeStringAndClear();
 }
 
 
diff --git a/svx/source/svdraw/svdomeas.cxx b/svx/source/svdraw/svdomeas.cxx
index d6077cc..5778c74 100644
--- a/svx/source/svdraw/svdomeas.cxx
+++ b/svx/source/svdraw/svdomeas.cxx
@@ -743,18 +743,20 @@ SdrMeasureObj* SdrMeasureObj::Clone() const
     return CloneHelper< SdrMeasureObj >();
 }
 
-void SdrMeasureObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrMeasureObj::TakeObjNameSingul() const
 {
-    rName=ImpGetResStr(STR_ObjNameSingulMEASURE);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulMEASURE));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName( GetName() );
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+
+    return sName.makeStringAndClear();
 }
 
 void SdrMeasureObj::TakeObjNamePlural(XubString& rName) const
diff --git a/svx/source/svdraw/svdomedia.cxx b/svx/source/svdraw/svdomedia.cxx
index 085e805..43b1998 100644
--- a/svx/source/svdraw/svdomedia.cxx
+++ b/svx/source/svdraw/svdomedia.cxx
@@ -139,19 +139,21 @@ sal_uInt16 SdrMediaObj::GetObjIdentifier() const
 
 // ------------------------------------------------------------------------------
 
-void SdrMediaObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrMediaObj::TakeObjNameSingul() const
 {
-    rName=ImpGetResStr(STR_ObjNameSingulMEDIA);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulMEDIA));
 
-    String aName( GetName() );
+    OUString aName(GetName());
 
-    if(aName.Len())
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+
+    return sName.makeStringAndClear();
 }
 
 // ------------------------------------------------------------------------------
diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx
index 1d37bfc..c614f6a 100644
--- a/svx/source/svdraw/svdoole2.cxx
+++ b/svx/source/svdraw/svdoole2.cxx
@@ -1591,18 +1591,20 @@ sal_uInt16 SdrOle2Obj::GetObjIdentifier() const
 
 // -----------------------------------------------------------------------------
 
-void SdrOle2Obj::TakeObjNameSingul(XubString& rName) const
+OUString SdrOle2Obj::TakeObjNameSingul() const
 {
-    rName = ImpGetResStr(bFrame ? STR_ObjNameSingulFrame : STR_ObjNameSingulOLE2);
+    OUStringBuffer sName(ImpGetResStr(bFrame ? STR_ObjNameSingulFrame : STR_ObjNameSingulOLE2));
 
-    const String aName(GetName());
+    const OUString aName(GetName());
 
-    if( aName.Len() )
+    if (!aName.isEmpty())
     {
-        rName.AppendAscii(" '");
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(" '");
+        sName.append(aName);
+        sName.append('\'');
     }
+
+    return sName.makeStringAndClear();
 }
 
 // -----------------------------------------------------------------------------
diff --git a/svx/source/svdraw/svdopage.cxx b/svx/source/svdraw/svdopage.cxx
index 2abcf57..8bb424d 100644
--- a/svx/source/svdraw/svdopage.cxx
+++ b/svx/source/svdraw/svdopage.cxx
@@ -166,18 +166,20 @@ SdrPageObj& SdrPageObj::operator=(const SdrPageObj& rObj)
     return *this;
 }
 
-void SdrPageObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrPageObj::TakeObjNameSingul() const
 {
-    rName=ImpGetResStr(STR_ObjNameSingulPAGE);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulPAGE));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+
+    return sName.makeStringAndClear();
 }
 
 void SdrPageObj::TakeObjNamePlural(XubString& rName) const
diff --git a/svx/source/svdraw/svdopath.cxx b/svx/source/svdraw/svdopath.cxx
index dbbaaef..b7ea371 100644
--- a/svx/source/svdraw/svdopath.cxx
+++ b/svx/source/svdraw/svdopath.cxx
@@ -1866,8 +1866,10 @@ SdrPathObj& SdrPathObj::operator=(const SdrPathObj& rObj)
     return *this;
 }
 
-void SdrPathObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrPathObj::TakeObjNameSingul() const
 {
+    OUStringBuffer sName;
+
     if(OBJ_LINE == meKind)
     {
         sal_uInt16 nId(STR_ObjNameSingulLINE);
@@ -1901,7 +1903,7 @@ void SdrPathObj::TakeObjNameSingul(XubString& rName) const
             }
         }
 
-        rName = ImpGetResStr(nId);
+        sName.append(ImpGetResStr(nId));
     }
     else if(OBJ_PLIN == meKind || OBJ_POLY == meKind)
     {
@@ -1919,7 +1921,7 @@ void SdrPathObj::TakeObjNameSingul(XubString& rName) const
                 nId = STR_ObjNameSingulPLIN;
             }
 
-            rName = ImpGetResStr(nId);
+            sName.append(ImpGetResStr(nId));
         }
         else
         {
@@ -1941,38 +1943,35 @@ void SdrPathObj::TakeObjNameSingul(XubString& rName) const
                 nId = STR_ObjNameSingulPLIN_PntAnz;
             }
 
-            rName = ImpGetResStr(nId);
-            sal_uInt16 nPos(rName.SearchAscii("%2")); // #i96537#
-
-            if(STRING_NOTFOUND != nPos)
-            {
-                rName.Erase(nPos, 2);
-                rName.Insert(OUString::number(nPointCount), nPos);
-            }
+            OUString sTemp(ImpGetResStr(nId));
+            // #i96537#
+            sName.append(sTemp.replaceFirst("%2", OUString::number(nPointCount)));
         }
     }
     else
     {
         switch (meKind)
         {
-            case OBJ_PATHLINE: rName=ImpGetResStr(STR_ObjNameSingulPATHLINE); break;
-            case OBJ_FREELINE: rName=ImpGetResStr(STR_ObjNameSingulFREELINE); break;
-            case OBJ_SPLNLINE: rName=ImpGetResStr(STR_ObjNameSingulNATSPLN); break;
-            case OBJ_PATHFILL: rName=ImpGetResStr(STR_ObjNameSingulPATHFILL); break;
-            case OBJ_FREEFILL: rName=ImpGetResStr(STR_ObjNameSingulFREEFILL); break;
-            case OBJ_SPLNFILL: rName=ImpGetResStr(STR_ObjNameSingulPERSPLN); break;
+            case OBJ_PATHLINE: sName.append(ImpGetResStr(STR_ObjNameSingulPATHLINE)); break;
+            case OBJ_FREELINE: sName.append(ImpGetResStr(STR_ObjNameSingulFREELINE)); break;
+            case OBJ_SPLNLINE: sName.append(ImpGetResStr(STR_ObjNameSingulNATSPLN)); break;
+            case OBJ_PATHFILL: sName.append(ImpGetResStr(STR_ObjNameSingulPATHFILL)); break;
+            case OBJ_FREEFILL: sName.append(ImpGetResStr(STR_ObjNameSingulFREEFILL)); break;
+            case OBJ_SPLNFILL: sName.append(ImpGetResStr(STR_ObjNameSingulPERSPLN)); break;
             default: break;
         }
     }
 
-    String aName(GetName());
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+
+    return sName.makeStringAndClear();
 }
 
 void SdrPathObj::TakeObjNamePlural(XubString& rName) const
diff --git a/svx/source/svdraw/svdorect.cxx b/svx/source/svdraw/svdorect.cxx
index d17a0ed..65cd363 100644
--- a/svx/source/svdraw/svdorect.cxx
+++ b/svx/source/svdraw/svdorect.cxx
@@ -219,32 +219,34 @@ void SdrRectObj::TakeUnrotatedSnapRect(Rectangle& rRect) const
     }
 }
 
-void SdrRectObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrRectObj::TakeObjNameSingul() const
 {
     if (IsTextFrame())
     {
-        SdrTextObj::TakeObjNameSingul(rName);
+        return SdrTextObj::TakeObjNameSingul();
     }
-    else
-    {
-        sal_uInt16 nResId=STR_ObjNameSingulRECT;
-        if (aGeo.nShearWink!=0) {
-            nResId+=4;  // parallelogram or, maybe, rhombus
-        } else {
-            if (aRect.GetWidth()==aRect.GetHeight()) nResId+=2; // square
-        }
-        if (GetEckenradius()!=0) nResId+=8; // rounded down
-        rName=ImpGetResStr(nResId);
 
-        String aName( GetName() );
-        if(aName.Len())
-        {
-            rName += sal_Unicode(' ');
-            rName += sal_Unicode('\'');
-            rName += aName;
-            rName += sal_Unicode('\'');
-        }
+    OUStringBuffer sName;
+
+    sal_uInt16 nResId=STR_ObjNameSingulRECT;
+    if (aGeo.nShearWink!=0) {
+        nResId+=4;  // parallelogram or, maybe, rhombus
+    } else {
+        if (aRect.GetWidth()==aRect.GetHeight()) nResId+=2; // square
     }
+    if (GetEckenradius()!=0) nResId+=8; // rounded down
+    sName.append(ImpGetResStr(nResId));
+
+    OUString aName(GetName());
+    if (!aName.isEmpty())
+    {
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
+    }
+
+    return sName.makeStringAndClear();
 }
 
 void SdrRectObj::TakeObjNamePlural(XubString& rName) const
diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx
index 387a561..f46744f 100644
--- a/svx/source/svdraw/svdotext.cxx
+++ b/svx/source/svdraw/svdotext.cxx
@@ -966,7 +966,7 @@ void SdrTextObj::ImpSetCharStretching(SdrOutliner& rOutliner, const Size& rTextS
     }
 }
 
-void SdrTextObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrTextObj::TakeObjNameSingul() const
 {
     XubString aStr;
 
@@ -1020,17 +1020,18 @@ void SdrTextObj::TakeObjNameSingul(XubString& rName) const
         }
     }
 
-    rName = aStr;
+    OUStringBuffer sName(aStr);
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
 
+    return sName.makeStringAndClear();
 }
 
 void SdrTextObj::TakeObjNamePlural(XubString& rName) const
diff --git a/svx/source/svdraw/svdouno.cxx b/svx/source/svdraw/svdouno.cxx
index 82d7fe3..f23ca26 100644
--- a/svx/source/svdraw/svdouno.cxx
+++ b/svx/source/svdraw/svdouno.cxx
@@ -255,18 +255,20 @@ void SdrUnoObj::SetContextWritingMode( const sal_Int16 _nContextWritingMode )
     }
 }
 
-void SdrUnoObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrUnoObj::TakeObjNameSingul() const
 {
-    rName = ImpGetResStr(STR_ObjNameSingulUno);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulUno));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+
+    return sName.makeStringAndClear();
 }
 
 void SdrUnoObj::TakeObjNamePlural(XubString& rName) const
diff --git a/svx/source/svdraw/svdovirt.cxx b/svx/source/svdraw/svdovirt.cxx
index 2e80aa5..991d283 100644
--- a/svx/source/svdraw/svdovirt.cxx
+++ b/svx/source/svdraw/svdovirt.cxx
@@ -151,20 +151,22 @@ SdrVirtObj& SdrVirtObj::operator=(const SdrVirtObj& rObj)
     return *this;
 }
 
-void SdrVirtObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrVirtObj::TakeObjNameSingul() const
 {
-    rRefObj.TakeObjNameSingul(rName);
-    rName.Insert(sal_Unicode('['), 0);
-    rName += sal_Unicode(']');
+    OUStringBuffer sName(rRefObj.TakeObjNameSingul());
+    sName.insert(0, '[');
+    sName.append(']');
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+
+    return sName.makeStringAndClear();
 }
 
 void SdrVirtObj::TakeObjNamePlural(XubString& rName) const
diff --git a/svx/source/svdraw/svdundo.cxx b/svx/source/svdraw/svdundo.cxx
index 8cae9f4..2d478e0 100644
--- a/svx/source/svdraw/svdundo.cxx
+++ b/svx/source/svdraw/svdundo.cxx
@@ -221,8 +221,7 @@ void SdrUndoObj::GetDescriptionStringForObject( const SdrObject& _rForObject, sa
         }
         else
         {
-            XubString aStr;
-            _rForObject.TakeObjNameSingul(aStr);
+            OUString aStr(_rForObject.TakeObjNameSingul());
             rStr.Insert(aStr, nPos);
         }
     }
diff --git a/svx/source/svdraw/svdview.cxx b/svx/source/svdraw/svdview.cxx
index b933860..89d0782 100644
--- a/svx/source/svdraw/svdview.cxx
+++ b/svx/source/svdraw/svdview.cxx
@@ -1176,7 +1176,7 @@ XubString SdrView::GetStatusText()
 
         if(!aStr.Len())
         {
-            pAktCreate->TakeObjNameSingul(aName);
+            aName = pAktCreate->TakeObjNameSingul();
             aStr = ImpGetResStr(STR_ViewCreateObj);
         }
     }
diff --git a/svx/source/table/svdotable.cxx b/svx/source/table/svdotable.cxx
index 404bfae..47251aa 100644
--- a/svx/source/table/svdotable.cxx
+++ b/svx/source/table/svdotable.cxx
@@ -1690,18 +1690,20 @@ struct ImplTableShadowPaintInfo
 
 // --------------------------------------------------------------------
 
-void SdrTableObj::TakeObjNameSingul(XubString& rName) const
+OUString SdrTableObj::TakeObjNameSingul() const
 {
-    rName = ImpGetResStr(STR_ObjNameSingulTable);
+    OUStringBuffer sName(ImpGetResStr(STR_ObjNameSingulTable));
 
-    String aName( GetName() );
-    if(aName.Len())
+    OUString aName(GetName());
+    if (!aName.isEmpty())
     {
-        rName += sal_Unicode(' ');
-        rName += sal_Unicode('\'');
-        rName += aName;
-        rName += sal_Unicode('\'');
+        sName.append(' ');
+        sName.append('\'');
+        sName.append(aName);
+        sName.append('\'');
     }
+
+    return sName.makeStringAndClear();
 }
 
 // --------------------------------------------------------------------
diff --git a/svx/source/unodraw/unoshape.cxx b/svx/source/unodraw/unoshape.cxx
index 68267c7..cd34020 100644
--- a/svx/source/unodraw/unoshape.cxx
+++ b/svx/source/unodraw/unoshape.cxx
@@ -2908,9 +2908,7 @@ bool SvxShape::getPropertyValueImpl( const OUString&, const SfxItemPropertySimpl
 
     case OWN_ATTR_UINAME_SINGULAR:
     {
-        String aTmp;
-        mpObj->TakeObjNameSingul( aTmp );
-        rValue <<= OUString( aTmp );
+        rValue <<= mpObj->TakeObjNameSingul();
         break;
     }
 


More information about the Libreoffice-commits mailing list