[ooo-build-commit] .: 6 commits - bin/mkdocs.sh patches/dev300

Thorsten Behrens thorsten at kemper.freedesktop.org
Sun Aug 15 14:26:57 PDT 2010


 bin/mkdocs.sh                                       |    2 
 patches/dev300/apply                                |    8 
 patches/dev300/fit-list-to-size-popup.diff          |  294 ----
 patches/dev300/fit-list-to-size-style-defaults.diff |   25 
 patches/dev300/fit-list-to-size.diff                | 1303 ++++++++++++--------
 patches/dev300/linkwarn-dlg-in-apps.diff            |   38 
 6 files changed, 826 insertions(+), 844 deletions(-)

New commits:
commit b7c42fa6a9793aa4149e3ff5351313f3febbe0e4
Author: Thorsten Behrens <thb at openoffice.org>
Date:   Sun Aug 15 23:19:18 2010 +0200

    Also enable fit-list binfilter patch
    
    * patches/dev300/apply: enabled fit-list-to-size-binfilter.diff

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 047c202..02bc66e 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2828,7 +2828,7 @@ unoxml-boost-workaround.diff, thorsten
 # FIXME dev300-m77 sc-autofilter-l10n-es.diff, i#103840, pmladek
 
 [ BFFixes ]
-# FIXME dev300-m77 fit-list-to-size-binfilter.diff, i#94086, thorsten
+fit-list-to-size-binfilter.diff, i#94086, thorsten
 
 [ ArkOnly ]
 SectionOwner => brosenk
commit 47c539803903c5c485d4ec2df62433a81752c747
Author: Thorsten Behrens <thb at openoffice.org>
Date:   Sun Aug 15 23:15:48 2010 +0200

    Fix breakage in newly-enabled linkwarn-dlg
    
    * patches/dev300/linkwarn-dlg-in-apps.diff:

diff --git a/patches/dev300/linkwarn-dlg-in-apps.diff b/patches/dev300/linkwarn-dlg-in-apps.diff
index 434ae45..5049bc1 100644
--- a/patches/dev300/linkwarn-dlg-in-apps.diff
+++ b/patches/dev300/linkwarn-dlg-in-apps.diff
@@ -75,14 +75,14 @@ index c09fed5..916a512 100755
                      String aPath(aDlg.GetPath());
                      pGrafObj->SetGraphicLink(aPath, aFltName);
 diff --git sw/source/ui/uiview/view2.cxx sw/source/ui/uiview/view2.cxx
-index 224ab55..8941cfa 100755
+index 224ab55..dbabf2b 100755
 --- sw/source/ui/uiview/view2.cxx
 +++ sw/source/ui/uiview/view2.cxx
 @@ -48,6 +48,7 @@
  #include <caption.hxx>
  #include <svl/PasswordHelper.hxx>
  #include <svl/urihelper.hxx>
-+#include <svl/miscopt.hxx>
++#include <svtools/miscopt.hxx>
  #include <sfx2/passwd.hxx>
  #include <sfx2/sfxdlg.hxx>
  #include <sfx2/filedlghelper.hxx>
commit dba9a94fc66a22fa4aa5edac872002578ed2c876
Author: Thorsten Behrens <thb at openoffice.org>
Date:   Sun Aug 15 23:13:36 2010 +0200

    Fix build breakage in newly enabled fit-list-to-size
    
    * patches/dev300/fit-list-to-size.diff:

diff --git a/patches/dev300/fit-list-to-size.diff b/patches/dev300/fit-list-to-size.diff
index 9d80da3..4ecaaa0 100644
--- a/patches/dev300/fit-list-to-size.diff
+++ b/patches/dev300/fit-list-to-size.diff
@@ -24,12 +24,12 @@ From: Thorsten Behrens <thb at openoffice.org>
  sd/source/ui/view/drviews2.cxx                     |   25 ++++
  sd/source/ui/view/drviews4.cxx                     |    6 +
  sd/source/ui/view/drviewsj.cxx                     |   19 ++-
- svx/inc/svx/sdr/attribute/sdrtextattribute.hxx     |    1 
+ svx/inc/svx/sdr/attribute/sdrtextattribute.hxx     |    2 
  svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx |   41 ++++++
  .../svx/sdr/primitive2d/svx_primitivetypes2d.hxx   |    1 
  svx/inc/svx/sdtfsitm.hxx                           |   26 ++--
  svx/inc/svx/svdotext.hxx                           |   16 ++
- svx/source/sdr/attribute/sdrtextattribute.cxx      |   11 ++
+ svx/source/sdr/attribute/sdrtextattribute.cxx      |   14 ++
  svx/source/sdr/primitive2d/sdrattributecreator.cxx |    3 
  .../sdr/primitive2d/sdrdecompositiontools.cxx      |    5 +
  svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx  |   49 +++++++
@@ -41,7 +41,7 @@ From: Thorsten Behrens <thb at openoffice.org>
  svx/source/svdraw/svdotxtr.cxx                     |    9 -
  svx/source/svdraw/svdview.cxx                      |    3 
  xmloff/source/draw/sdpropls.cxx                    |    4 -
- 36 files changed, 605 insertions(+), 122 deletions(-)
+ 36 files changed, 608 insertions(+), 123 deletions(-)
 
 
 diff --git cui/source/options/dbregisterednamesconfig.cxx cui/source/options/dbregisterednamesconfig.cxx
@@ -633,7 +633,7 @@ index 59580e4..4351ed1 100644
  
              if( !bMeasureObj )
 diff --git svx/inc/svx/sdr/attribute/sdrtextattribute.hxx svx/inc/svx/sdr/attribute/sdrtextattribute.hxx
-index a31c6b1..f1d7c35 100644
+index a31c6b1..e44b267 100644
 --- svx/inc/svx/sdr/attribute/sdrtextattribute.hxx
 +++ svx/inc/svx/sdr/attribute/sdrtextattribute.hxx
 @@ -75,6 +75,7 @@ namespace drawinglayer
@@ -644,8 +644,16 @@ index a31c6b1..f1d7c35 100644
                  bool bHideContour, 
                  bool bBlink, 
                  bool bScroll,
+@@ -97,6 +98,7 @@ namespace drawinglayer
+             const OutlinerParaObject& getOutlinerParaObject() const;
+             bool isContour() const;
+             bool isFitToSize() const;
++            bool isAutoFit() const;
+             bool isHideContour() const;
+             bool isBlink() const;
+             bool isScroll() const;
 diff --git svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
-index 145fdd6..13d6d16 100644
+index 145fdd6..726e878 100644
 --- svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
 +++ svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
 @@ -300,6 +300,47 @@ namespace drawinglayer
@@ -666,7 +674,7 @@ index 145fdd6..13d6d16 100644
 +
 +        protected:
 +            // local decomposition.
-+            virtual Primitive2DSequence createLocalDecomposition(const geometry::ViewInformation2D& aViewInformation) const;
++            virtual Primitive2DSequence create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const;
 +
 +        public:
 +            SdrAutoFitTextPrimitive2D(
@@ -809,7 +817,7 @@ index 0592401..52782f0 100644
          drawinglayer::primitive2d::Primitive2DSequence& rTarget, 
          const drawinglayer::primitive2d::SdrStretchTextPrimitive2D& rSdrStretchTextPrimitive,
 diff --git svx/source/sdr/attribute/sdrtextattribute.cxx svx/source/sdr/attribute/sdrtextattribute.cxx
-index c231f2a..e432fdb 100644
+index c231f2a..01cfbdf 100644
 --- svx/source/sdr/attribute/sdrtextattribute.cxx
 +++ svx/source/sdr/attribute/sdrtextattribute.cxx
 @@ -71,6 +71,7 @@ namespace drawinglayer
@@ -860,7 +868,24 @@ index c231f2a..e432fdb 100644
                      && isHideContour() == rCandidate.isHideContour()
                      && isBlink() == rCandidate.isBlink()
                      && isScroll() == rCandidate.isScroll()
-@@ -369,6 +375,11 @@ namespace drawinglayer
+@@ -272,6 +278,7 @@ namespace drawinglayer
+             SdrTextVertAdjust aSdrTextVertAdjust,
+             bool bContour, 
+             bool bFitToSize, 
++            bool bAutoFit, 
+             bool bHideContour, 
+             bool bBlink, 
+             bool bScroll,
+@@ -281,7 +288,7 @@ namespace drawinglayer
+         :	mpSdrTextAttribute(new ImpSdrTextAttribute(
+                 &rSdrText, rOutlinerParaObject, eFormTextStyle, aTextLeftDistance, aTextUpperDistance,
+                 aTextRightDistance, aTextLowerDistance, aSdrTextHorzAdjust, aSdrTextVertAdjust, bContour, 
+-                bFitToSize, bHideContour, bBlink, bScroll, bInEditMode, bFixedCellHeight, bWrongSpell))
++                bFitToSize, bAutoFit, bHideContour, bBlink, bScroll, bInEditMode, bFixedCellHeight, bWrongSpell))
+         {
+         }
+ 
+@@ -369,6 +376,11 @@ namespace drawinglayer
              return mpSdrTextAttribute->isFitToSize(); 
          }
  
commit cd687a1c1d36dfcd16ba220c37482aa5f398d768
Author: Thorsten Behrens <thb at openoffice.org>
Date:   Sun Aug 15 21:55:10 2010 +0200

    Adapted doxygen script to new module split
    
    * bin/mkdocs.sh: include svl, editeng, cui and comphelper

diff --git a/bin/mkdocs.sh b/bin/mkdocs.sh
index 9510631..e1d6ec3 100755
--- a/bin/mkdocs.sh
+++ b/bin/mkdocs.sh
@@ -27,7 +27,7 @@ BINDIR=`dirname $0`
 
 # get list of modules in build order - bah, blows RAM & disk, static list below
 #INPUT_PROJECTS=`build --all --show | sed -n -e '/Entering module/ s/Entering module // p'`
-INPUT_PROJECTS="o3tl basegfx vcl canvas cppcanvas oox svtools goodies drawinglayer xmloff slideshow sfx2 svx chart2 dbaccess sd starmath sc sw"
+INPUT_PROJECTS="o3tl basegfx comphelper svl vcl canvas cppcanvas oox svtools goodies drawinglayer xmloff slideshow sfx2 editeng svx cui chart2 dbaccess sd starmath sc sw"
 
 # output directory for generated documentation
 BASE_OUTPUT="$1"
commit ceddf1c213b542b2870cc18843c859aed9ef58a4
Author: Thorsten Behrens <thb at openoffice.org>
Date:   Sun Aug 15 21:48:09 2010 +0200

    Lifted fit-list patches to ooo330 code line
    
    * patches/dev300/apply: enabled/removed below patches
    * patches/dev300/fit-list-to-size-popup.diff: folded into main patch
    * patches/dev300/fit-list-to-size-style-defaults.diff: folded into
      main patch
    * patches/dev300/fit-list-to-size.diff: adapted to ooo330 code line

diff --git a/patches/dev300/apply b/patches/dev300/apply
index cc15b5c..047c202 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2768,9 +2768,7 @@ sd-custom-show-fix.diff, n#355638, i#90145, thorsten
 
 # have Impress outline text boxes shrink font automatically when text
 # starts to overflow
-# FIXME dev300-m77 fit-list-to-size.diff, i#94086, thorsten #needs update
-# FIXME dev300-m77 fit-list-to-size-style-defaults.diff, i#94086, thorsten
-# FIXME dev300-m77 fit-list-to-size-popup.diff, i#94086, thorsten
+fit-list-to-size.diff, i#94086, thorsten
 
 # apply this patch if you need to disable vcl grabbing your mouse -
 # after applying the patch, set SAL_NO_MOUSEGRABS in your env
diff --git a/patches/dev300/fit-list-to-size-popup.diff b/patches/dev300/fit-list-to-size-popup.diff
deleted file mode 100644
index 44ed7f2..0000000
--- a/patches/dev300/fit-list-to-size-popup.diff
+++ /dev/null
@@ -1,294 +0,0 @@
-From 567cd25133c7c12648009b4814d95716edf394c4 Mon Sep 17 00:00:00 2001
-From: Jan Holesovsky <kendy at suse.cz>
-Date: Fri, 14 May 2010 17:04:39 +0200
-Subject: [PATCH 555/768] fit-list-to-size-popup.diff
-
----
- sd/inc/app.hrc                    |    7 +++--
- sd/sdi/_drvwsh.sdi                |    5 ++++
- sd/sdi/sdraw.sdi                  |   27 +++++++++++++++++++++++
- sd/source/ui/app/menuids_tmpl.src |    8 +++++++
- sd/source/ui/app/popup2_tmpl.src  |   43 +++++++++++++++++++++++++++++++++++++
- sd/source/ui/inc/res_bmp.hrc      |    3 ++
- sd/source/ui/view/drviews2.cxx    |   25 +++++++++++++++++++++
- sd/source/ui/view/drviews4.cxx    |    6 ++++-
- sd/source/ui/view/drviewsj.cxx    |   19 ++++++++++------
- 9 files changed, 132 insertions(+), 11 deletions(-)
-
-diff --git sd/inc/app.hrc sd/inc/app.hrc
-index a8424d7..f6e78c4 100644
---- sd/inc/app.hrc
-+++ sd/inc/app.hrc
-@@ -456,11 +456,12 @@
- #define SID_DISPLAY_MASTER_OBJECTS          (SID_SD_START+437)
- #define SID_INSERTPAGE_LAYOUT_MENU          (SID_SD_START+438)
- #define SID_TP_EDIT_MASTER					(SID_SD_START+439)
-+#define SID_OUTLINE_TEXT_AUTOFIT            (SID_SD_START+440)
- 
- // Add companion for the SID_HIDE_SLIDE (that is defined in svx)
--#define SID_SHOW_SLIDE                      (SID_SD_START+440)
-+#define SID_SHOW_SLIDE                      (SID_SD_START+441)
- 
--#define SID_ADD_MOTION_PATH					(SID_SD_START+441)
--#define SID_TABLE_TOOLBOX					(SID_SD_START+442)
-+#define SID_ADD_MOTION_PATH					(SID_SD_START+442)
-+#define SID_TABLE_TOOLBOX					(SID_SD_START+443)
- 
- #endif
-diff --git sd/sdi/_drvwsh.sdi sd/sdi/_drvwsh.sdi
-index dd8a9c0..9db010a 100644
---- sd/sdi/_drvwsh.sdi
-+++ sd/sdi/_drvwsh.sdi
-@@ -674,6 +674,11 @@ interface DrawView
-         ExecMethod = FuPermanent ;
-         StateMethod = GetMenuState ;
-     ]
-+    SID_OUTLINE_TEXT_AUTOFIT // ole : no, status : ?
-+    [
-+        ExecMethod = FuTemporary ;
-+        StateMethod = GetMenuState ;
-+    ]
-     SID_TEXT_FITTOSIZE_VERTICAL // ole : no, status : ?
-     [
-         ExecMethod = FuPermanent ;
-diff --git sd/sdi/sdraw.sdi sd/sdi/sdraw.sdi
-index 918cb2d..c9487d6 100644
---- sd/sdi/sdraw.sdi
-+++ sd/sdi/sdraw.sdi
-@@ -6351,6 +6351,33 @@ SfxBoolItem TextFitToSizeTool SID_TEXT_FITTOSIZE
- ]
- 
- //--------------------------------------------------------------------------
-+SfxBoolItem TextAutoFitToSize SID_OUTLINE_TEXT_AUTOFIT
-+
-+[
-+    /* flags: */
-+    AutoUpdate = TRUE,
-+    Cachable = Cachable,
-+    FastCall = FALSE,
-+    HasCoreId = FALSE,
-+    HasDialog = FALSE,
-+    ReadOnlyDoc = FALSE,
-+    Toggle = FALSE,
-+    Container = FALSE,
-+    RecordAbsolute = FALSE,
-+    RecordPerSet;
-+    Synchron;
-+
-+    Readonly = FALSE,
-+
-+    /* config: */
-+    AccelConfig = TRUE,
-+    MenuConfig = TRUE,
-+    StatusBarConfig = FALSE,
-+    ToolBoxConfig = TRUE,
-+    GroupId = GID_FORMAT;
-+]
-+
-+//--------------------------------------------------------------------------
- TbxImageItem TextToolbox SID_DRAWTBX_TEXT
- 
- [
-diff --git sd/source/ui/app/menuids_tmpl.src sd/source/ui/app/menuids_tmpl.src
-index 6e89d6a..f9b1a3e 100644
---- sd/source/ui/app/menuids_tmpl.src
-+++ sd/source/ui/app/menuids_tmpl.src
-@@ -304,6 +304,14 @@
-         Text [ en-US ] = "~Text..." ; \
-     };
- 
-+#define MN_OUTLINE_TEXT_AUTOFIT \
-+    MenuItem\
-+    {\
-+        Identifier = SID_OUTLINE_TEXT_AUTOFIT ; \
-+        HelpID = SID_OUTLINE_TEXT_AUTOFIT ; \
-+        Text [ en-US ] = "~Autofit Text" ; \
-+    };
-+
- #define MN_CONNECTION \
-     MenuItem\
-     {\
-diff --git sd/source/ui/app/popup2_tmpl.src sd/source/ui/app/popup2_tmpl.src
-index 6bbba0e..6809571 100644
---- sd/source/ui/app/popup2_tmpl.src
-+++ sd/source/ui/app/popup2_tmpl.src
-@@ -79,6 +79,49 @@
- };
- 
- //
-+// OUTLINETEXTOBJ_POPUP
-+//
-+#if SD_POPUP == RID_DRAW_TEXTOBJ_POPUP
-+    Menu RID_DRAW_OUTLINETEXTOBJ_POPUP
-+#elif  SD_POPUP == RID_GRAPHIC_TEXTOBJ_POPUP
-+    Menu RID_GRAPHIC_OUTLINETEXTOBJ_POPUP
-+#endif
-+{
-+    ItemList =
-+    {
-+        MN_SET_DEFAULT
-+        SEPARATOR
-+        MN_LINE
-+        MN_AREA
-+        MN_TEXTATTR
-+        MN_OUTLINE_TEXT_AUTOFIT
-+        MN_TRANSFORM
-+        MN_FONTWORK
-+        SEPARATOR
-+        MN_CHAR_PARAGRAPH
-+        SEPARATOR
-+        MN_POSITION
-+        MN_OBJECT_ALIGN
-+        MN_DISTRIBUTE
-+        MNSUB_CONVERT
-+
-+        //-#i68101#----------------------
-+        SEPARATOR
-+        MN_OBJECT_TITLE_DESCRIPTION
-+        MN_NAME_GROUP
-+        //-#i68101#----------------------
-+
-+#if SD_POPUP == RID_DRAW_TEXTOBJ_POPUP
-+        SEPARATOR
-+        MN_EFFECT
-+        MN_ACTION
-+#endif
-+        SEPARATOR
-+        MN_STYLEDT
-+    };
-+};
-+
-+//
- // GEOMOBJ_POPUP
- //
- #if SD_POPUP == RID_DRAW_TEXTOBJ_POPUP
-diff --git sd/source/ui/inc/res_bmp.hrc sd/source/ui/inc/res_bmp.hrc
-index d75bbfc..6325f60 100644
---- sd/source/ui/inc/res_bmp.hrc
-+++ sd/source/ui/inc/res_bmp.hrc
-@@ -308,6 +308,9 @@
- 
- #define RID_DRAW_TABLEOBJ_INSIDE_POPUP		RID_APP_START+94
- 
-+#define RID_DRAW_OUTLINETEXTOBJ_POPUP		RID_APP_START+95
-+#define RID_GRAPHIC_OUTLINETEXTOBJ_POPUP	RID_APP_START+96
-+
- /*
-  * Pointer (Mauszeiger)
-  */
-diff --git sd/source/ui/view/drviews2.cxx sd/source/ui/view/drviews2.cxx
-index 713c8a5..d7fa12e 100644
---- sd/source/ui/view/drviews2.cxx
-+++ sd/source/ui/view/drviews2.cxx
-@@ -172,6 +172,31 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
- 
-     switch ( nSId )
-     {
-+        case SID_OUTLINE_TEXT_AUTOFIT:
-+        {
-+            SfxUndoManager* pUndoManager = GetDocSh()->GetUndoManager();
-+            SdrObject* pObj = NULL;
-+            const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
-+            if( rMarkList.GetMarkCount() == 1 )
-+            {
-+                pUndoManager->EnterListAction( String(), String() );
-+                mpDrawView->BegUndo();
-+
-+                pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
-+                bool bSet = ((const SdrTextFitToSizeTypeItem*)pObj->GetMergedItemSet().GetItem(SDRATTR_TEXT_FITTOSIZE))->GetValue() != SDRTEXTFIT_NONE;
-+
-+                mpDrawView->AddUndo(GetDoc()->GetSdrUndoFactory().CreateUndoAttrObject(*pObj));
-+
-+                pObj->SetMergedItem(SdrTextFitToSizeTypeItem(bSet ? SDRTEXTFIT_NONE : SDRTEXTFIT_AUTOFIT));
-+
-+                mpDrawView->EndUndo();
-+                pUndoManager->LeaveListAction();
-+            }
-+            Cancel();
-+            rReq.Done();
-+        }
-+        break;
-+
-         // Flaechen und Linien-Attribute:
-         // Sollten (wie StateMethode) eine eigene
-         // Execute-Methode besitzen
-diff --git sd/source/ui/view/drviews4.cxx sd/source/ui/view/drviews4.cxx
-index 7f604cc..b3a7b30 100644
---- sd/source/ui/view/drviews4.cxx
-+++ sd/source/ui/view/drviews4.cxx
-@@ -679,9 +679,13 @@ void DrawViewShell::Command(const CommandEvent& rCEvt, ::sd::Window* pWin)
-                             {
-                                 switch ( nId )
-                                 {
-+                                    case OBJ_OUTLINETEXT:
-+                                        nSdResId = bGraphicShell ? RID_GRAPHIC_OUTLINETEXTOBJ_POPUP :
-+                                                                    RID_DRAW_OUTLINETEXTOBJ_POPUP;
-+                                        break;
-+
-                                     case OBJ_CAPTION:
-                                     case OBJ_TITLETEXT:
--                                    case OBJ_OUTLINETEXT:
-                                     case OBJ_TEXT:
-                                         nSdResId = bGraphicShell ? RID_GRAPHIC_TEXTOBJ_POPUP :
-                                                                     RID_DRAW_TEXTOBJ_POPUP;
-diff --git sd/source/ui/view/drviewsj.cxx sd/source/ui/view/drviewsj.cxx
-index 59580e4..4351ed1 100644
---- sd/source/ui/view/drviewsj.cxx
-+++ sd/source/ui/view/drviewsj.cxx
-@@ -208,9 +208,6 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
-                 rSet.DisableItem( SID_CHANGEPOLYGON );
-             }
- 
--            if(nInv == SdrInventor && (nId == OBJ_TITLETEXT || nId == OBJ_OUTLINETEXT))
--                rSet.DisableItem( SID_TEXTATTR_DLG );
--
-             if(nInv == SdrInventor && nId == OBJ_TABLE )
-             {
-                 rSet.DisableItem( SID_TEXTATTR_DLG );
-@@ -303,6 +300,17 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
-             else
-                 rSet.DisableItem( SID_MODIFY_FIELD );
-         }
-+        if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OUTLINE_TEXT_AUTOFIT ) )
-+        {
-+            bool bSet = false;
-+            const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
-+            if( rMarkList.GetMarkCount() == 1 )
-+            {
-+                SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
-+                bSet = ((const SdrTextFitToSizeTypeItem*)pObj->GetMergedItemSet().GetItem(SDRATTR_TEXT_FITTOSIZE))->GetValue() != SDRTEXTFIT_NONE;
-+            }
-+            rSet.Put(SfxBoolItem(SID_OUTLINE_TEXT_AUTOFIT, bSet));
-+        }
- 
-         rSet.DisableItem( SID_GROUP );
-         rSet.DisableItem( SID_COMBINE );
-@@ -352,7 +360,6 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
-             BOOL bGraf = FALSE;
-             BOOL bDrawObj = FALSE;
-             BOOL b3dObj = FALSE;
--            BOOL bTitOutText = FALSE;
-             bool bTable = false;
-             BOOL bMeasureObj = FALSE;
-             BOOL bEdgeObj = FALSE; // Connector
-@@ -392,8 +399,6 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
- 
-                         case OBJ_GRAF: bGraf = TRUE; break;
- 
--                        case OBJ_TITLETEXT:
--                        case OBJ_OUTLINETEXT: bTitOutText = TRUE; break;
-                         case OBJ_TABLE: bTable = true; break;
-                     }
-                 }
-@@ -441,7 +446,7 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
-             {
-                 rSet.DisableItem( SID_UNGROUP );
-             }
--            if( bTitOutText || bTable )
-+            if( bTable )
-                 rSet.DisableItem( SID_TEXTATTR_DLG );
- 
-             if( !bMeasureObj )
--- 
-1.7.0.1
-
diff --git a/patches/dev300/fit-list-to-size-style-defaults.diff b/patches/dev300/fit-list-to-size-style-defaults.diff
deleted file mode 100644
index 0577369..0000000
--- a/patches/dev300/fit-list-to-size-style-defaults.diff
+++ /dev/null
@@ -1,25 +0,0 @@
-From bd79c6e2cab87627931811b17fa6456a36625505 Mon Sep 17 00:00:00 2001
-From: Jan Holesovsky <kendy at suse.cz>
-Date: Fri, 14 May 2010 17:04:38 +0200
-Subject: [PATCH 554/768] fit-list-to-size-style-defaults.diff
-
----
- sd/source/core/stlpool.cxx |    2 ++
- 1 files changed, 2 insertions(+), 0 deletions(-)
-
-diff --git sd/source/core/stlpool.cxx sd/source/core/stlpool.cxx
-index fffd9b8..ffc3420 100644
---- sd/source/core/stlpool.cxx
-+++ sd/source/core/stlpool.cxx
-@@ -278,6 +278,8 @@ void SdStyleSheetPool::CreateLayoutStyleSheets(const String& rLayoutName, sal_Bo
-                 rSet.Put( SvxColorItem( Color(COL_AUTO), EE_CHAR_COLOR) );
-                 rSet.Put( XLineStyleItem(XLINE_NONE) );
-                 rSet.Put( XFillStyleItem(XFILL_NONE) );
-+                rSet.Put( SdrTextFitToSizeTypeItem(SDRTEXTFIT_AUTOFIT) );
-+                rSet.Put( SdrTextAutoGrowHeightItem(FALSE) );
-                 // #i16874# enable kerning by default but only for new documents
-                 rSet.Put( SvxAutoKernItem( TRUE, EE_CHAR_PAIRKERNING ) );
- 
--- 
-1.7.0.1
-
diff --git a/patches/dev300/fit-list-to-size.diff b/patches/dev300/fit-list-to-size.diff
index a59319f..9d80da3 100644
--- a/patches/dev300/fit-list-to-size.diff
+++ b/patches/dev300/fit-list-to-size.diff
@@ -1,42 +1,304 @@
-From 980d43f3ed7af5b9a48a6b8dbf660cfef7c280b5 Mon Sep 17 00:00:00 2001
-From: Jan Holesovsky <kendy at suse.cz>
-Date: Fri, 14 May 2010 17:04:36 +0200
-Subject: [PATCH 630/878] fit-list-to-size.diff
+Fit list to size
+
+From: Thorsten Behrens <thb at openoffice.org>
+
 
 ---
- offapi/com/sun/star/drawing/TextFitToSizeType.idl  |    7 +-
- qadevOOo/runner/util/ValueChanger.java             |    2 +-
- sd/sdi/_drvwsh.sdi                                 |   12 --
- svx/inc/svx/sdr/attribute/sdrtextattribute.hxx     |    3 +
+
+ cui/source/options/dbregisterednamesconfig.cxx     |    2 
+ cui/source/tabpages/textattr.cxx                   |    3 
+ editeng/source/editeng/editobj2.hxx                |   10 +
+ editeng/source/editeng/impedit3.cxx                |   67 ++++++----
+ editeng/source/editeng/impedit4.cxx                |    6 +
+ editeng/source/outliner/outliner.cxx               |   11 +-
+ filter/source/msfilter/svdfppt.cxx                 |   12 ++
+ offapi/com/sun/star/drawing/TextFitToSizeType.idl  |    7 +
+ qadevOOo/runner/util/ValueChanger.java             |    2 
+ sd/inc/app.hrc                                     |    7 +
+ sd/sdi/_drvwsh.sdi                                 |   17 +--
+ sd/sdi/sdraw.sdi                                   |   27 ++++
+ sd/source/core/stlpool.cxx                         |    2 
+ sd/source/ui/app/menuids_tmpl.src                  |    8 +
+ sd/source/ui/app/popup2_tmpl.src                   |   43 ++++++
+ sd/source/ui/inc/res_bmp.hrc                       |    3 
+ sd/source/ui/view/drviews2.cxx                     |   25 ++++
+ sd/source/ui/view/drviews4.cxx                     |    6 +
+ sd/source/ui/view/drviewsj.cxx                     |   19 ++-
+ svx/inc/svx/sdr/attribute/sdrtextattribute.hxx     |    1 
  svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx |   41 ++++++
- .../svx/sdr/primitive2d/svx_primitivetypes2d.hxx   |    1 +
+ .../svx/sdr/primitive2d/svx_primitivetypes2d.hxx   |    1 
  svx/inc/svx/sdtfsitm.hxx                           |   26 ++--
- svx/inc/svx/svdotext.hxx                           |   16 +++-
- svx/source/cui/dbregisterednamesconfig.cxx         |    4 +-
- svx/source/cui/textattr.cxx                        |    3 +-
- svx/source/editeng/editobj2.hxx                    |   10 ++-
- svx/source/editeng/impedit3.cxx                    |   67 ++++++----
- svx/source/editeng/impedit4.cxx                    |    6 +-
- svx/source/outliner/outliner.cxx                   |   11 ++-
- svx/source/sdr/attribute/sdrtextattribute.cxx      |    5 +
- svx/source/sdr/primitive2d/sdrattributecreator.cxx |    3 +-
+ svx/inc/svx/svdotext.hxx                           |   16 ++
+ svx/source/sdr/attribute/sdrtextattribute.cxx      |   11 ++
+ svx/source/sdr/primitive2d/sdrattributecreator.cxx |    3 
  .../sdr/primitive2d/sdrdecompositiontools.cxx      |    5 +
  svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx  |   49 +++++++
- svx/source/svdraw/svdedxv.cxx                      |   10 +-
- svx/source/svdraw/svdfppt.cxx                      |   12 ++-
- svx/source/svdraw/svdotext.cxx                     |  117 +++++++++++++++---
+ svx/source/svdraw/svdedxv.cxx                      |   10 +
+ svx/source/svdraw/svdotext.cxx                     |  117 +++++++++++++++--
  svx/source/svdraw/svdotextdecomposition.cxx        |  134 ++++++++++++++++++++
- svx/source/svdraw/svdotxat.cxx                     |    3 +-
+ svx/source/svdraw/svdotxat.cxx                     |    3 
  svx/source/svdraw/svdotxed.cxx                     |   17 ++-
- svx/source/svdraw/svdotxtr.cxx                     |    9 --
- svx/source/svdraw/svdview.cxx                      |    3 +-
- xmloff/source/draw/sdpropls.cxx                    |    4 +-
- 27 files changed, 468 insertions(+), 112 deletions(-)
+ svx/source/svdraw/svdotxtr.cxx                     |    9 -
+ svx/source/svdraw/svdview.cxx                      |    3 
+ xmloff/source/draw/sdpropls.cxx                    |    4 -
+ 36 files changed, 605 insertions(+), 122 deletions(-)
 
-diff --git a/offapi/com/sun/star/drawing/TextFitToSizeType.idl b/offapi/com/sun/star/drawing/TextFitToSizeType.idl
-index 47efd65..09d5376 100644
---- a/offapi/com/sun/star/drawing/TextFitToSizeType.idl
-+++ b/offapi/com/sun/star/drawing/TextFitToSizeType.idl
+
+diff --git cui/source/options/dbregisterednamesconfig.cxx cui/source/options/dbregisterednamesconfig.cxx
+index be8e30a..cb2dc15 100644
+--- cui/source/options/dbregisterednamesconfig.cxx
++++ cui/source/options/dbregisterednamesconfig.cxx
+@@ -133,7 +133,7 @@ namespace svx
+         }
+         catch( const Exception& )
+         {
+-            DBG_UNHANDLED_EXCEPTION();
++                        //DBG_UNHANDLED_EXCEPTION();
+         }
+     }
+ 
+diff --git cui/source/tabpages/textattr.cxx cui/source/tabpages/textattr.cxx
+index 5e36b6b..5eef69b 100644
+--- cui/source/tabpages/textattr.cxx
++++ cui/source/tabpages/textattr.cxx
+@@ -451,8 +451,7 @@ BOOL SvxTextAttrPage::FillItemSet( SfxItemSet& rAttrs)
+             default: ; //prevent warning
+                 DBG_ERROR( "svx::SvxTextAttrPage::FillItemSet(), unhandled state!" );
+             case STATE_NOCHECK: eFTS = SDRTEXTFIT_NONE; break;
+-            //case STATE_CHECK: eFTS = SDRTEXTFIT_RESIZEATTR; break;
+-            case STATE_CHECK: eFTS = SDRTEXTFIT_PROPORTIONAL; break;
++            case STATE_CHECK: eFTS = SDRTEXTFIT_AUTOFIT; break;
+         }
+         rAttrs.Put( SdrTextFitToSizeTypeItem( eFTS ) );
+     }
+diff --git editeng/source/editeng/editobj2.hxx editeng/source/editeng/editobj2.hxx
+index b7eae5d..22c55d9 100644
+--- editeng/source/editeng/editobj2.hxx
++++ editeng/source/editeng/editobj2.hxx
+@@ -112,12 +112,16 @@ class XParaPortionList : public  XBaseParaPortionList
+     ULONG 		nRefDevPtr;
+     OutDevType	eRefDevType;
+     MapMode		aRefMapMode;
++    sal_uInt16	nStretchX;
++    sal_uInt16	nStretchY;
+     ULONG		nPaperWidth;
+ 
+ 
+ public:
+-            XParaPortionList( OutputDevice* pRefDev, ULONG nPW ) :
+-                aRefMapMode( pRefDev->GetMapMode() )
++    XParaPortionList( OutputDevice* pRefDev, ULONG nPW, sal_uInt16 _nStretchX, sal_uInt16 _nStretchY ) :
++        aRefMapMode( pRefDev->GetMapMode() ),
++        nStretchX(_nStretchX),
++        nStretchY(_nStretchY)
+                 {
+                     nRefDevPtr = (ULONG)pRefDev; nPaperWidth = nPW;
+                     eRefDevType = pRefDev->GetOutDevType();
+@@ -127,6 +131,8 @@ public:
+     ULONG			GetPaperWidth() const 		{ return nPaperWidth; }
+     OutDevType		GetRefDevType() const 		{ return eRefDevType; }
+     const MapMode&	GetRefMapMode() const		{ return aRefMapMode; }
++    sal_uInt16	GetStretchX() const         { return nStretchX; }
++    sal_uInt16	GetStretchY() const         { return nStretchY; }
+ };
+ 
+ /* cl removed because not needed anymore since binfilter
+diff --git editeng/source/editeng/impedit3.cxx editeng/source/editeng/impedit3.cxx
+index 7a57d46..6991db6 100644
+--- editeng/source/editeng/impedit3.cxx
++++ editeng/source/editeng/impedit3.cxx
+@@ -2695,36 +2695,44 @@ void ImpEditEngine::SeekCursor( ContentNode* pNode, sal_uInt16 nPos, SvxFont& rF
+             }
+             if ( nStretchX != 100 )
+             {
+-                aRealSz.Width() *= nStretchX;
+-                aRealSz.Width() /= 100;
+-
+-                // Auch das Kerning: (long wegen Zwischenergebnis)
+-                long nKerning = rFont.GetFixKerning();
+-/*
+-                Die Ueberlegung war: Wenn neg. Kerning, aber StretchX = 200
+-                => Nicht das Kerning verdoppelt, also die Buchstaben weiter
+-                zusammenziehen
+-                ---------------------------
+-                Kern	StretchX	=>Kern
+-                ---------------------------
+-                 >0		<100		< (Proportional)
+-                 <0		<100		< (Proportional)
+-                 >0		>100		> (Proportional)
+-                 <0		>100		< (Der Betrag, also Antiprop)
+-*/
+-                if ( ( nKerning < 0  ) && ( nStretchX > 100 ) )
++                if ( nStretchX == nStretchY &&
++                     nRelWidth == 100 )
+                 {
+-                    // Antiproportional
+-                    nKerning *= 100;
+-                    nKerning /= nStretchX;
++                    aRealSz.Width() = 0;
+                 }
+-                else if ( nKerning )
++                else
+                 {
+-                    // Proportional
+-                    nKerning *= nStretchX;
+-                    nKerning /= 100;
++                    aRealSz.Width() *= nStretchX;
++                    aRealSz.Width() /= 100;
++
++                    // Auch das Kerning: (long wegen Zwischenergebnis)
++                    long nKerning = rFont.GetFixKerning();
++/*
++  Die Ueberlegung war: Wenn neg. Kerning, aber StretchX = 200
++  => Nicht das Kerning verdoppelt, also die Buchstaben weiter
++  zusammenziehen
++  ---------------------------
++  Kern	StretchX	=>Kern
++  ---------------------------
++  >0		<100		< (Proportional)
++  <0		<100		< (Proportional)
++  >0		>100		> (Proportional)
++  <0		>100		< (Der Betrag, also Antiprop)
++*/
++                    if ( ( nKerning < 0  ) && ( nStretchX > 100 ) )
++                    {
++                        // Antiproportional
++                        nKerning *= 100;
++                        nKerning /= nStretchX;
++                    }
++                    else if ( nKerning )
++                    {
++                        // Proportional
++                        nKerning *= nStretchX;
++                        nKerning /= 100;
++                    }
++                    rFont.SetFixKerning( (short)nKerning );
+                 }
+-                rFont.SetFixKerning( (short)nKerning );
+             }
+         }
+         if ( nRelWidth != 100 )
+@@ -4187,20 +4195,25 @@ void ImpEditEngine::SetFlatMode( sal_Bool bFlat )
+ 
+ void ImpEditEngine::SetCharStretching( sal_uInt16 nX, sal_uInt16 nY )
+ {
++    bool bChanged(false);
+     if ( !IsVertical() )
+     {
++        bChanged = nStretchX!=nX || nStretchY!=nY;
+         nStretchX = nX;
+         nStretchY = nY;
+     }
+     else
+     {
++        bChanged = nStretchX!=nY || nStretchY!=nX;
+         nStretchX = nY;
+         nStretchY = nX;
+     }
+ 
+-    if ( aStatus.DoStretch() )
++    if (bChanged && aStatus.DoStretch())
+     {
+         FormatFullDoc();
++        // (potentially) need everything redrawn
++        aInvalidRec=Rectangle(0,0,1000000,1000000);
+         UpdateViews( GetActiveView() );
+     }
+ }
+diff --git editeng/source/editeng/impedit4.cxx editeng/source/editeng/impedit4.cxx
+index 6fc80ac..7cf7c9b 100755
+--- editeng/source/editeng/impedit4.cxx
++++ editeng/source/editeng/impedit4.cxx
+@@ -1154,7 +1154,7 @@ EditTextObject*	ImpEditEngine::CreateBinTextObject( EditSelection aSel, SfxItemP
+     // Schwelle rauf setzen, wenn Olli die Absaetze nicht mehr zerhackt!
+     if ( bAllowBigObjects && bOnlyFullParagraphs && IsFormatted() && GetUpdateMode() && ( nTextPortions >= nBigObjectStart ) )
+     {
+-        XParaPortionList* pXList = new XParaPortionList( GetRefDevice(), aPaperSize.Width() );
++        XParaPortionList* pXList = new XParaPortionList( GetRefDevice(), aPaperSize.Width(), nStretchX, nStretchY );
+         pTxtObj->SetPortionInfo( pXList );
+         for ( nNode = nStartNode; nNode <= nEndNode; nNode++  )
+         {
+@@ -1245,7 +1245,9 @@ EditSelection ImpEditEngine::InsertBinTextObject( BinTextObject& rTextObject, Ed
+     XParaPortionList* pPortionInfo = rTextObject.GetPortionInfo();
+ 
+     if ( pPortionInfo && ( (long)pPortionInfo->GetPaperWidth() == aPaperSize.Width() )
+-            && ( pPortionInfo->GetRefMapMode() == GetRefDevice()->GetMapMode() ) )
++         && ( pPortionInfo->GetRefMapMode() == GetRefDevice()->GetMapMode() )
++         && ( pPortionInfo->GetStretchX() == nStretchX )
++         && ( pPortionInfo->GetStretchY() == nStretchY ) )
+     {
+         if ( ( pPortionInfo->GetRefDevPtr() == (sal_uIntPtr)GetRefDevice() ) ||
+              ( ( pPortionInfo->GetRefDevType() == OUTDEV_VIRDEV ) &&
+diff --git editeng/source/outliner/outliner.cxx editeng/source/outliner/outliner.cxx
+index e8aa629..dbdea97 100644
+--- editeng/source/outliner/outliner.cxx
++++ editeng/source/outliner/outliner.cxx
+@@ -925,7 +925,10 @@ Font Outliner::ImpCalcBulletFont( USHORT nPara ) const
+     }
+ 
+     // #107508# Use original scale...
+-    USHORT nScale = /* pEditEngine->IsFlatMode() ? DEFAULT_SCALE : */ pFmt->GetBulletRelSize();
++    USHORT nStretchX, nStretchY;
++    const_cast<Outliner*>(this)->GetGlobalCharStretching(nStretchX, nStretchY);
++
++    USHORT nScale = pFmt->GetBulletRelSize() * nStretchY / 100;
+     ULONG nScaledLineHeight = aStdFont.GetSize().Height();
+     nScaledLineHeight *= nScale*10;
+     nScaledLineHeight /= 1000;
+@@ -968,6 +971,12 @@ void Outliner::PaintBullet( USHORT nPara, const Point& rStartPos,
+         BOOL bRightToLeftPara = pEditEngine->IsRightToLeft( nPara );
+ 
+         Rectangle aBulletArea( ImpCalcBulletArea( nPara, TRUE, FALSE ) );
++        USHORT nStretchX, nStretchY;
++        GetGlobalCharStretching(nStretchX, nStretchY);
++        aBulletArea = Rectangle( Point(aBulletArea.Left()*nStretchX/100,
++                                       aBulletArea.Top()),
++                                 Size(aBulletArea.GetWidth()*nStretchX/100,
++                                      aBulletArea.GetHeight()) );
+ 
+         Paragraph* pPara = pParaList->GetParagraph( nPara );
+         const SvxNumberFormat* pFmt = GetNumberFormat( nPara );
+diff --git filter/source/msfilter/svdfppt.cxx filter/source/msfilter/svdfppt.cxx
+index 8c01650..a3d9625 100644
+--- filter/source/msfilter/svdfppt.cxx
++++ filter/source/msfilter/svdfppt.cxx
+@@ -1115,6 +1115,7 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
+                 }
+                 aTextObj.SetDestinationInstance( (sal_uInt16)nDestinationInstance );
+ 
++                bool bAutoFit = false; // auto-scale text into shape box
+                 switch ( aTextObj.GetInstance() )
+                 {
+                     case TSS_TYPE_PAGETITLE :
+@@ -1122,7 +1123,7 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
+                     case TSS_TYPE_SUBTITLE : eTextKind = OBJ_TEXT; break;
+                     case TSS_TYPE_BODY :
+                     case TSS_TYPE_HALFBODY :
+-                    case TSS_TYPE_QUARTERBODY : eTextKind = OBJ_OUTLINETEXT; break;
++                    case TSS_TYPE_QUARTERBODY : eTextKind = OBJ_OUTLINETEXT; bAutoFit = true; break;
+                 }
+                 if ( aTextObj.GetDestinationInstance() != TSS_TYPE_TEXT_IN_SHAPE )
+                 {
+@@ -1177,6 +1178,15 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
+                 }
+                 pTObj->SetMergedItem( SvxFrameDirectionItem( bVerticalText ? FRMDIR_VERT_TOP_RIGHT : FRMDIR_HORI_LEFT_TOP, EE_PARA_WRITINGDIR ) );
+ 
++                if (bAutoFit)
++                {
++                    // disable both, defeats purpose of autofit
++                    // otherwise
++                    bAutoGrowHeight = sal_False;
++                    bAutoGrowWidth = sal_False;
++                    pTObj->SetMergedItem( SdrTextFitToSizeTypeItem(SDRTEXTFIT_AUTOFIT) );
++                }
++
+             if ( !pTObj->ISA( SdrObjCustomShape ) )
+             {
+                  pTObj->SetMergedItem( SdrTextAutoGrowWidthItem( bAutoGrowWidth ) );
+diff --git offapi/com/sun/star/drawing/TextFitToSizeType.idl offapi/com/sun/star/drawing/TextFitToSizeType.idl
+index 248090b..91d28b7 100644
+--- offapi/com/sun/star/drawing/TextFitToSizeType.idl
++++ offapi/com/sun/star/drawing/TextFitToSizeType.idl
 @@ -60,9 +60,10 @@ published enum TextFitToSizeType
   
      //------------------------------------------------------------------------- 
@@ -51,10 +313,10 @@ index 47efd65..09d5376 100644
   
  }; 
   
-diff --git a/qadevOOo/runner/util/ValueChanger.java b/qadevOOo/runner/util/ValueChanger.java
-index 2de6a4c..5abf1c3 100644
---- a/qadevOOo/runner/util/ValueChanger.java
-+++ b/qadevOOo/runner/util/ValueChanger.java
+diff --git qadevOOo/runner/util/ValueChanger.java qadevOOo/runner/util/ValueChanger.java
+index 25ec5e5..ae00ead 100644
+--- qadevOOo/runner/util/ValueChanger.java
++++ qadevOOo/runner/util/ValueChanger.java
 @@ -383,7 +383,7 @@ public class ValueChanger {
          com.sun.star.drawing.TextFitToSizeType TF1 = com.sun.star.drawing.TextFitToSizeType.ALLLINES;
          com.sun.star.drawing.TextFitToSizeType TF2 = com.sun.star.drawing.TextFitToSizeType.NONE;
@@ -64,10 +326,30 @@ index 2de6a4c..5abf1c3 100644
          if (oldValue.equals(TF1)) newValue = TF2;
          if (oldValue.equals(TF2)) newValue = TF3;
          if (oldValue.equals(TF3)) newValue = TF4;
-diff --git a/sd/sdi/_drvwsh.sdi b/sd/sdi/_drvwsh.sdi
-index 26f764a..858bab1 100644
---- a/sd/sdi/_drvwsh.sdi
-+++ b/sd/sdi/_drvwsh.sdi
+diff --git sd/inc/app.hrc sd/inc/app.hrc
+index 57c7d28..84adc70 100755
+--- sd/inc/app.hrc
++++ sd/inc/app.hrc
+@@ -456,11 +456,12 @@
+ #define SID_DISPLAY_MASTER_OBJECTS          (SID_SD_START+437)
+ #define SID_INSERTPAGE_LAYOUT_MENU          (SID_SD_START+438)
+ #define SID_TP_EDIT_MASTER					(SID_SD_START+439)
++#define SID_OUTLINE_TEXT_AUTOFIT            (SID_SD_START+440)
+ 
+ // Add companion for the SID_HIDE_SLIDE (that is defined in svx)
+-#define SID_SHOW_SLIDE                      (SID_SD_START+440)
++#define SID_SHOW_SLIDE                      (SID_SD_START+441)
+ 
+-#define SID_ADD_MOTION_PATH					(SID_SD_START+441)
+-#define SID_TABLE_TOOLBOX					(SID_SD_START+442)
++#define SID_ADD_MOTION_PATH					(SID_SD_START+442)
++#define SID_TABLE_TOOLBOX					(SID_SD_START+443)
+ 
+ #endif
+diff --git sd/sdi/_drvwsh.sdi sd/sdi/_drvwsh.sdi
+index 6b338c7..e3462b4 100755
+--- sd/sdi/_drvwsh.sdi
++++ sd/sdi/_drvwsh.sdi
 @@ -25,18 +25,6 @@
   *
   ************************************************************************/
@@ -87,19 +369,274 @@ index 26f764a..858bab1 100644
  interface DrawView
  {
      SID_JUMPTOMARK // ole : no, status : ?
-diff --git a/svx/inc/svx/sdr/attribute/sdrtextattribute.hxx b/svx/inc/svx/sdr/attribute/sdrtextattribute.hxx
-index 7809ae3..4560345 100644
---- a/svx/inc/svx/sdr/attribute/sdrtextattribute.hxx
-+++ b/svx/inc/svx/sdr/attribute/sdrtextattribute.hxx
-@@ -72,6 +72,7 @@ namespace drawinglayer
-             // bitfield
-             unsigned								mbContour : 1;
-             unsigned								mbFitToSize : 1;
-+            unsigned								mbAutoFit : 1;
-             unsigned								mbHideContour : 1;
-             unsigned								mbBlink : 1;
-             unsigned								mbScroll : 1;
-@@ -91,6 +92,7 @@ namespace drawinglayer
+@@ -674,6 +662,11 @@ interface DrawView
+         ExecMethod = FuPermanent ;
+         StateMethod = GetMenuState ;
+     ]
++    SID_OUTLINE_TEXT_AUTOFIT // ole : no, status : ?
++    [
++        ExecMethod = FuTemporary ;
++        StateMethod = GetMenuState ;
++    ]
+     SID_TEXT_FITTOSIZE_VERTICAL // ole : no, status : ?
+     [
+         ExecMethod = FuPermanent ;
+diff --git sd/sdi/sdraw.sdi sd/sdi/sdraw.sdi
+index e1d39e7..4cf3c7f 100755
+--- sd/sdi/sdraw.sdi
++++ sd/sdi/sdraw.sdi
+@@ -6351,6 +6351,33 @@ SfxBoolItem TextFitToSizeTool SID_TEXT_FITTOSIZE
+ ]
+ 
+ //--------------------------------------------------------------------------
++SfxBoolItem TextAutoFitToSize SID_OUTLINE_TEXT_AUTOFIT
++
++[
++    /* flags: */
++    AutoUpdate = TRUE,
++    Cachable = Cachable,
++    FastCall = FALSE,
++    HasCoreId = FALSE,
++    HasDialog = FALSE,
++    ReadOnlyDoc = FALSE,
++    Toggle = FALSE,
++    Container = FALSE,
++    RecordAbsolute = FALSE,
++    RecordPerSet;
++    Synchron;
++
++    Readonly = FALSE,
++
++    /* config: */
++    AccelConfig = TRUE,
++    MenuConfig = TRUE,
++    StatusBarConfig = FALSE,
++    ToolBoxConfig = TRUE,
++    GroupId = GID_FORMAT;
++]
++
++//--------------------------------------------------------------------------
+ TbxImageItem TextToolbox SID_DRAWTBX_TEXT
+ 
+ [
+diff --git sd/source/core/stlpool.cxx sd/source/core/stlpool.cxx
+index 1a7b4d2..2542f94 100755
+--- sd/source/core/stlpool.cxx
++++ sd/source/core/stlpool.cxx
+@@ -254,6 +254,8 @@ void SdStyleSheetPool::CreateLayoutStyleSheets(const String& rLayoutName, sal_Bo
+                 rSet.Put( SvxColorItem( Color(COL_AUTO), EE_CHAR_COLOR) );
+                 rSet.Put( XLineStyleItem(XLINE_NONE) );
+                 rSet.Put( XFillStyleItem(XFILL_NONE) );
++                rSet.Put( SdrTextFitToSizeTypeItem(SDRTEXTFIT_AUTOFIT) );
++                rSet.Put( SdrTextAutoGrowHeightItem(FALSE) );
+                 // #i16874# enable kerning by default but only for new documents
+                 rSet.Put( SvxAutoKernItem( TRUE, EE_CHAR_PAIRKERNING ) );
+ 
+diff --git sd/source/ui/app/menuids_tmpl.src sd/source/ui/app/menuids_tmpl.src
+index 6e89d6a..f9b1a3e 100644
+--- sd/source/ui/app/menuids_tmpl.src
++++ sd/source/ui/app/menuids_tmpl.src
+@@ -304,6 +304,14 @@
+         Text [ en-US ] = "~Text..." ; \
+     };
+ 
++#define MN_OUTLINE_TEXT_AUTOFIT \
++    MenuItem\
++    {\
++        Identifier = SID_OUTLINE_TEXT_AUTOFIT ; \
++        HelpID = SID_OUTLINE_TEXT_AUTOFIT ; \
++        Text [ en-US ] = "~Autofit Text" ; \
++    };
++
+ #define MN_CONNECTION \
+     MenuItem\
+     {\
+diff --git sd/source/ui/app/popup2_tmpl.src sd/source/ui/app/popup2_tmpl.src
+index 6bbba0e..6809571 100644
+--- sd/source/ui/app/popup2_tmpl.src
++++ sd/source/ui/app/popup2_tmpl.src
+@@ -79,6 +79,49 @@
+ };
+ 
+ //
++// OUTLINETEXTOBJ_POPUP
++//
++#if SD_POPUP == RID_DRAW_TEXTOBJ_POPUP
++    Menu RID_DRAW_OUTLINETEXTOBJ_POPUP
++#elif  SD_POPUP == RID_GRAPHIC_TEXTOBJ_POPUP
++    Menu RID_GRAPHIC_OUTLINETEXTOBJ_POPUP
++#endif
++{
++    ItemList =
++    {
++        MN_SET_DEFAULT
++        SEPARATOR
++        MN_LINE
++        MN_AREA
++        MN_TEXTATTR
++        MN_OUTLINE_TEXT_AUTOFIT
++        MN_TRANSFORM
++        MN_FONTWORK
++        SEPARATOR
++        MN_CHAR_PARAGRAPH
++        SEPARATOR
++        MN_POSITION
++        MN_OBJECT_ALIGN
++        MN_DISTRIBUTE
++        MNSUB_CONVERT
++
++        //-#i68101#----------------------
++        SEPARATOR
++        MN_OBJECT_TITLE_DESCRIPTION
++        MN_NAME_GROUP
++        //-#i68101#----------------------
++
++#if SD_POPUP == RID_DRAW_TEXTOBJ_POPUP
++        SEPARATOR
++        MN_EFFECT
++        MN_ACTION
++#endif
++        SEPARATOR
++        MN_STYLEDT
++    };
++};
++
++//
+ // GEOMOBJ_POPUP
+ //
+ #if SD_POPUP == RID_DRAW_TEXTOBJ_POPUP
+diff --git sd/source/ui/inc/res_bmp.hrc sd/source/ui/inc/res_bmp.hrc
+index c8dd81d..192ee97 100755
+--- sd/source/ui/inc/res_bmp.hrc
++++ sd/source/ui/inc/res_bmp.hrc
+@@ -298,6 +298,9 @@
+ 
+ #define RID_DRAW_TABLEOBJ_INSIDE_POPUP		RID_APP_START+94
+ 
++#define RID_DRAW_OUTLINETEXTOBJ_POPUP		RID_APP_START+95
++#define RID_GRAPHIC_OUTLINETEXTOBJ_POPUP	RID_APP_START+96
++
+ /*
+  * Pointer (Mauszeiger)
+  */
+diff --git sd/source/ui/view/drviews2.cxx sd/source/ui/view/drviews2.cxx
+index 08c1440..4c8cbd3 100755
+--- sd/source/ui/view/drviews2.cxx
++++ sd/source/ui/view/drviews2.cxx
+@@ -130,6 +130,31 @@ void DrawViewShell::FuTemporary(SfxRequest& rReq)
+ 
+     switch ( nSId )
+     {
++        case SID_OUTLINE_TEXT_AUTOFIT:
++        {
++            SfxUndoManager* pUndoManager = GetDocSh()->GetUndoManager();
++            SdrObject* pObj = NULL;
++            const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
++            if( rMarkList.GetMarkCount() == 1 )
++            {
++                pUndoManager->EnterListAction( String(), String() );
++                mpDrawView->BegUndo();
++
++                pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
++                bool bSet = ((const SdrTextFitToSizeTypeItem*)pObj->GetMergedItemSet().GetItem(SDRATTR_TEXT_FITTOSIZE))->GetValue() != SDRTEXTFIT_NONE;
++
++                mpDrawView->AddUndo(GetDoc()->GetSdrUndoFactory().CreateUndoAttrObject(*pObj));
++
++                pObj->SetMergedItem(SdrTextFitToSizeTypeItem(bSet ? SDRTEXTFIT_NONE : SDRTEXTFIT_AUTOFIT));
++
++                mpDrawView->EndUndo();
++                pUndoManager->LeaveListAction();
++            }
++            Cancel();
++            rReq.Done();
++        }
++        break;
++
+         // Flaechen und Linien-Attribute:
+         // Sollten (wie StateMethode) eine eigene
+         // Execute-Methode besitzen
+diff --git sd/source/ui/view/drviews4.cxx sd/source/ui/view/drviews4.cxx
+index 7f604cc..b3a7b30 100644
+--- sd/source/ui/view/drviews4.cxx
++++ sd/source/ui/view/drviews4.cxx
+@@ -679,9 +679,13 @@ void DrawViewShell::Command(const CommandEvent& rCEvt, ::sd::Window* pWin)
+                             {
+                                 switch ( nId )
+                                 {
++                                    case OBJ_OUTLINETEXT:
++                                        nSdResId = bGraphicShell ? RID_GRAPHIC_OUTLINETEXTOBJ_POPUP :
++                                                                    RID_DRAW_OUTLINETEXTOBJ_POPUP;
++                                        break;
++
+                                     case OBJ_CAPTION:
+                                     case OBJ_TITLETEXT:
+-                                    case OBJ_OUTLINETEXT:
+                                     case OBJ_TEXT:
+                                         nSdResId = bGraphicShell ? RID_GRAPHIC_TEXTOBJ_POPUP :
+                                                                     RID_DRAW_TEXTOBJ_POPUP;
+diff --git sd/source/ui/view/drviewsj.cxx sd/source/ui/view/drviewsj.cxx
+index 59580e4..4351ed1 100644
+--- sd/source/ui/view/drviewsj.cxx
++++ sd/source/ui/view/drviewsj.cxx
+@@ -208,9 +208,6 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
+                 rSet.DisableItem( SID_CHANGEPOLYGON );
+             }
+ 
+-            if(nInv == SdrInventor && (nId == OBJ_TITLETEXT || nId == OBJ_OUTLINETEXT))
+-                rSet.DisableItem( SID_TEXTATTR_DLG );
+-
+             if(nInv == SdrInventor && nId == OBJ_TABLE )
+             {
+                 rSet.DisableItem( SID_TEXTATTR_DLG );
+@@ -303,6 +300,17 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
+             else
+                 rSet.DisableItem( SID_MODIFY_FIELD );
+         }
++        if( SFX_ITEM_AVAILABLE == rSet.GetItemState( SID_OUTLINE_TEXT_AUTOFIT ) )
++        {
++            bool bSet = false;
++            const SdrMarkList& rMarkList = mpDrawView->GetMarkedObjectList();
++            if( rMarkList.GetMarkCount() == 1 )
++            {
++                SdrObject* pObj = rMarkList.GetMark(0)->GetMarkedSdrObj();
++                bSet = ((const SdrTextFitToSizeTypeItem*)pObj->GetMergedItemSet().GetItem(SDRATTR_TEXT_FITTOSIZE))->GetValue() != SDRTEXTFIT_NONE;
++            }
++            rSet.Put(SfxBoolItem(SID_OUTLINE_TEXT_AUTOFIT, bSet));
++        }
+ 
+         rSet.DisableItem( SID_GROUP );
+         rSet.DisableItem( SID_COMBINE );
+@@ -352,7 +360,6 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
+             BOOL bGraf = FALSE;
+             BOOL bDrawObj = FALSE;
+             BOOL b3dObj = FALSE;
+-            BOOL bTitOutText = FALSE;
+             bool bTable = false;
+             BOOL bMeasureObj = FALSE;
+             BOOL bEdgeObj = FALSE; // Connector
+@@ -392,8 +399,6 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
+ 
+                         case OBJ_GRAF: bGraf = TRUE; break;
+ 
+-                        case OBJ_TITLETEXT:
+-                        case OBJ_OUTLINETEXT: bTitOutText = TRUE; break;
+                         case OBJ_TABLE: bTable = true; break;
+                     }
+                 }
+@@ -441,7 +446,7 @@ void DrawViewShell::GetMenuStateSel( SfxItemSet &rSet )
+             {
+                 rSet.DisableItem( SID_UNGROUP );
+             }
+-            if( bTitOutText || bTable )
++            if( bTable )
+                 rSet.DisableItem( SID_TEXTATTR_DLG );
+ 
+             if( !bMeasureObj )
+diff --git svx/inc/svx/sdr/attribute/sdrtextattribute.hxx svx/inc/svx/sdr/attribute/sdrtextattribute.hxx
+index a31c6b1..f1d7c35 100644
+--- svx/inc/svx/sdr/attribute/sdrtextattribute.hxx
++++ svx/inc/svx/sdr/attribute/sdrtextattribute.hxx
+@@ -75,6 +75,7 @@ namespace drawinglayer
                  SdrTextVertAdjust aSdrTextVertAdjust,
                  bool bContour, 
                  bool bFitToSize, 
@@ -107,18 +644,10 @@ index 7809ae3..4560345 100644
                  bool bHideContour, 
                  bool bBlink, 
                  bool bScroll,
-@@ -110,6 +112,7 @@ namespace drawinglayer
-             const OutlinerParaObject& getOutlinerParaObject() const { return maOutlinerParaObject; }
-             bool isContour() const { return mbContour; }
-             bool isFitToSize() const { return mbFitToSize; }
-+            bool isAutoFit() const { return mbAutoFit; }
-             bool isHideContour() const { return mbHideContour; }
-             bool isBlink() const { return mbBlink; }
-             bool isScroll() const { return mbScroll; }
-diff --git a/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx b/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
-index 611d438..42271f7 100644
---- a/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
-+++ b/svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
+diff --git svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
+index 145fdd6..13d6d16 100644
+--- svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
++++ svx/inc/svx/sdr/primitive2d/sdrtextprimitive2d.hxx
 @@ -300,6 +300,47 @@ namespace drawinglayer
  
  //////////////////////////////////////////////////////////////////////////////
@@ -167,10 +696,10 @@ index 611d438..42271f7 100644
  #endif //INCLUDED_SDR_PRIMITIVE2D_SDRTEXTPRIMITIVE2D_HXX
  
  // eof
-diff --git a/svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx b/svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx
-index 462143f..5020ba3 100644
---- a/svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx
-+++ b/svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx
+diff --git svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx
+index 7833fa5..850bb0d 100644
+--- svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx
++++ svx/inc/svx/sdr/primitive2d/svx_primitivetypes2d.hxx
 @@ -55,6 +55,7 @@
  #define PRIMITIVE2D_ID_OVERLAYROLLINGRECTANGLEPRIMITIVE (PRIMITIVE2D_ID_RANGE_SVX| 20)
  #define PRIMITIVE2D_ID_SDRCONTROLPRIMITIVE2D            (PRIMITIVE2D_ID_RANGE_SVX| 21)
@@ -179,10 +708,10 @@ index 462143f..5020ba3 100644
  
  //////////////////////////////////////////////////////////////////////////////
  
-diff --git a/svx/inc/svx/sdtfsitm.hxx b/svx/inc/svx/sdtfsitm.hxx
-index e777bb4..1cba28f 100644
---- a/svx/inc/svx/sdtfsitm.hxx
-+++ b/svx/inc/svx/sdtfsitm.hxx
+diff --git svx/inc/svx/sdtfsitm.hxx svx/inc/svx/sdtfsitm.hxx
+index 362f444..f3889f0 100644
+--- svx/inc/svx/sdtfsitm.hxx
++++ svx/inc/svx/sdtfsitm.hxx
 @@ -31,19 +31,21 @@
  #include <svx/svddef.hxx>
  #include "svx/svxdllapi.h"
@@ -217,10 +746,10 @@ index e777bb4..1cba28f 100644
  
  //--------------------------------
  // class SdrTextFitToSizeTypeItem
-diff --git a/svx/inc/svx/svdotext.hxx b/svx/inc/svx/svdotext.hxx
-index 804e3cc..5527e2a 100644
---- a/svx/inc/svx/svdotext.hxx
-+++ b/svx/inc/svx/svdotext.hxx
+diff --git svx/inc/svx/svdotext.hxx svx/inc/svx/svdotext.hxx
+index 0592401..52782f0 100644
+--- svx/inc/svx/svdotext.hxx
++++ svx/inc/svx/svdotext.hxx
 @@ -59,6 +59,7 @@ namespace drawinglayer { namespace primitive2d {
      class SdrContourTextPrimitive2D;
      class SdrPathTextPrimitive2D;
@@ -229,7 +758,7 @@ index 804e3cc..5527e2a 100644
      class SdrStretchTextPrimitive2D;
  }}
  
-@@ -256,6 +257,9 @@ protected:
+@@ -254,6 +255,9 @@ protected:
      // Flag for allowing text animation. Default is sal_true.
      BOOL						mbTextAnimationAllowed : 1;
  
@@ -239,7 +768,7 @@ index 804e3cc..5527e2a 100644
      SdrOutliner& ImpGetDrawOutliner() const;
  
  private:
-@@ -269,6 +273,8 @@ private:
+@@ -267,6 +271,8 @@ private:
                                         Rectangle& 		rAnchorRect, 
                                         Rectangle& 		rPaintRect, 
                                         Fraction& 		aFitXKorreg ) const;
@@ -248,7 +777,7 @@ index 804e3cc..5527e2a 100644
      SVX_DLLPRIVATE SdrObject* ImpConvertContainedTextToSdrPathObjs(bool bToPoly) const;
      SVX_DLLPRIVATE void ImpLinkAnmeldung();
      SVX_DLLPRIVATE void ImpLinkAbmeldung();
-@@ -280,7 +286,7 @@ protected:
+@@ -278,7 +284,7 @@ protected:
      SdrObject* ImpConvertMakeObj(const basegfx::B2DPolyPolygon& rPolyPolygon, sal_Bool bClosed, sal_Bool bBezier, sal_Bool bNoSetAttr = sal_False) const;
      SdrObject* ImpConvertAddText(SdrObject* pObj, FASTBOOL bBezier) const;
      void ImpSetTextStyleSheetListeners();
@@ -257,7 +786,7 @@ index 804e3cc..5527e2a 100644
      void ImpJustifyRect(Rectangle& rRect) const;
      void ImpCheckShear();
      Rectangle ImpDragCalcRect(const SdrDragStat& rDrag) const;
-@@ -342,6 +348,10 @@ public:
+@@ -340,6 +346,10 @@ public:
      void NbcResizeTextAttributes(const Fraction& xFact, const Fraction& yFact);
      FASTBOOL IsTextFrame() const { return bTextFrame; }
      FASTBOOL IsOutlText() const { return bTextFrame && (eTextKind==OBJ_OUTLINETEXT || eTextKind==OBJ_TITLETEXT); }
@@ -268,7 +797,7 @@ index 804e3cc..5527e2a 100644
      SdrObjKind GetTextKind() const { return eTextKind; }
  
      virtual bool HasText() const;
-@@ -584,6 +594,10 @@ public:
+@@ -582,6 +592,10 @@ public:
          drawinglayer::primitive2d::Primitive2DSequence& rTarget, 
          const drawinglayer::primitive2d::SdrBlockTextPrimitive2D& rSdrBlockTextPrimitive,
          const drawinglayer::geometry::ViewInformation2D& aViewInformation) const;
@@ -279,278 +808,75 @@ index 804e3cc..5527e2a 100644
      void impDecomposeStretchTextPrimitive(
          drawinglayer::primitive2d::Primitive2DSequence& rTarget, 
          const drawinglayer::primitive2d::SdrStretchTextPrimitive2D& rSdrStretchTextPrimitive,
-diff --git a/svx/source/cui/dbregisterednamesconfig.cxx b/svx/source/cui/dbregisterednamesconfig.cxx
-index 462dda0..65f406a 100644
---- a/svx/source/cui/dbregisterednamesconfig.cxx
-+++ b/svx/source/cui/dbregisterednamesconfig.cxx
-@@ -160,7 +160,7 @@ namespace svx
-                     }
-                     catch( const Exception& )
-                     {
--                        DBG_UNHANDLED_EXCEPTION();
-+                        //DBG_UNHANDLED_EXCEPTION();
-                     }
-                 }
-             }
-@@ -181,7 +181,7 @@ namespace svx
-                     }
-                     catch( const Exception& )
-                     {
--                        DBG_UNHANDLED_EXCEPTION();
-+                        //DBG_UNHANDLED_EXCEPTION();
-                     }
-                 }
+diff --git svx/source/sdr/attribute/sdrtextattribute.cxx svx/source/sdr/attribute/sdrtextattribute.cxx
+index c231f2a..e432fdb 100644
+--- svx/source/sdr/attribute/sdrtextattribute.cxx
++++ svx/source/sdr/attribute/sdrtextattribute.cxx
+@@ -71,6 +71,7 @@ namespace drawinglayer
+             // bitfield
+             unsigned							mbContour : 1;
+             unsigned							mbFitToSize : 1;
++            unsigned							mbAutoFit : 1;
+             unsigned							mbHideContour : 1;
+             unsigned							mbBlink : 1;
+             unsigned							mbScroll : 1;
+@@ -91,6 +92,7 @@ namespace drawinglayer
+                 SdrTextVertAdjust aSdrTextVertAdjust,
+                 bool bContour, 
+                 bool bFitToSize, 
++                bool bAutoFit,
+                 bool bHideContour, 
+                 bool bBlink, 
+                 bool bScroll,
+@@ -110,6 +112,7 @@ namespace drawinglayer
+                 maSdrTextVertAdjust(aSdrTextVertAdjust),
+                 mbContour(bContour),
+                 mbFitToSize(bFitToSize),
++                mbAutoFit(bAutoFit),
+                 mbHideContour(bHideContour),
+                 mbBlink(bBlink),
+                 mbScroll(bScroll),
+@@ -147,6 +150,7 @@ namespace drawinglayer
+                 maSdrTextVertAdjust(SDRTEXTVERTADJUST_TOP),
+                 mbContour(false),
+                 mbFitToSize(false),
++                mbAutoFit(false),
+                 mbHideContour(false),
+                 mbBlink(false),
+                 mbScroll(false),
+@@ -177,6 +181,7 @@ namespace drawinglayer
              }
-diff --git a/svx/source/cui/textattr.cxx b/svx/source/cui/textattr.cxx
-index 11e9b12..7e46b50 100644
---- a/svx/source/cui/textattr.cxx
-+++ b/svx/source/cui/textattr.cxx
-@@ -457,8 +457,7 @@ BOOL SvxTextAttrPage::FillItemSet( SfxItemSet& rAttrs)
-             default: ; //prevent warning
-                 DBG_ERROR( "svx::SvxTextAttrPage::FillItemSet(), unhandled state!" );
-             case STATE_NOCHECK: eFTS = SDRTEXTFIT_NONE; break;
--            //case STATE_CHECK: eFTS = SDRTEXTFIT_RESIZEATTR; break;
--            case STATE_CHECK: eFTS = SDRTEXTFIT_PROPORTIONAL; break;
-+            case STATE_CHECK: eFTS = SDRTEXTFIT_AUTOFIT; break;
-         }
-         rAttrs.Put( SdrTextFitToSizeTypeItem( eFTS ) );
-     }
-diff --git a/svx/source/editeng/editobj2.hxx b/svx/source/editeng/editobj2.hxx
-index 4d5dc29..b1b879c 100644
---- a/svx/source/editeng/editobj2.hxx
-+++ b/svx/source/editeng/editobj2.hxx
-@@ -112,12 +112,16 @@ class XParaPortionList : public  XBaseParaPortionList
-     ULONG 		nRefDevPtr;
-     OutDevType	eRefDevType;
-     MapMode		aRefMapMode;
-+    sal_uInt16	nStretchX;
-+    sal_uInt16	nStretchY;
-     ULONG		nPaperWidth;
- 
- 
- public:
--            XParaPortionList( OutputDevice* pRefDev, ULONG nPW ) :
--                aRefMapMode( pRefDev->GetMapMode() )
-+    XParaPortionList( OutputDevice* pRefDev, ULONG nPW, sal_uInt16 _nStretchX, sal_uInt16 _nStretchY ) :
-+        aRefMapMode( pRefDev->GetMapMode() ),
-+        nStretchX(_nStretchX),
-+        nStretchY(_nStretchY)
-                 {
-                     nRefDevPtr = (ULONG)pRefDev; nPaperWidth = nPW;
-                     eRefDevType = pRefDev->GetOutDevType();
-@@ -127,6 +131,8 @@ public:
-     ULONG			GetPaperWidth() const 		{ return nPaperWidth; }
-     OutDevType		GetRefDevType() const 		{ return eRefDevType; }
-     const MapMode&	GetRefMapMode() const		{ return aRefMapMode; }
-+    sal_uInt16	GetStretchX() const         { return nStretchX; }
-+    sal_uInt16	GetStretchY() const         { return nStretchY; }
- };
+             bool isContour() const { return mbContour; }
+             bool isFitToSize() const { return mbFitToSize; }
++            bool isAutoFit() const { return mbAutoFit; }
+             bool isHideContour() const { return mbHideContour; }
+             bool isBlink() const { return mbBlink; }
+             bool isScroll() const { return mbScroll; }
+@@ -235,6 +240,7 @@ namespace drawinglayer
  
- /* cl removed because not needed anymore since binfilter
-diff --git a/svx/source/editeng/impedit3.cxx b/svx/source/editeng/impedit3.cxx
-index 89c0f9e..ac87371 100644
---- a/svx/source/editeng/impedit3.cxx
-+++ b/svx/source/editeng/impedit3.cxx
-@@ -2675,36 +2675,44 @@ void ImpEditEngine::SeekCursor( ContentNode* pNode, sal_uInt16 nPos, SvxFont& rF
-             }
-             if ( nStretchX != 100 )
-             {
--                aRealSz.Width() *= nStretchX;
--                aRealSz.Width() /= 100;
--
--                // Auch das Kerning: (long wegen Zwischenergebnis)
--                long nKerning = rFont.GetFixKerning();
--/*
--                Die Ueberlegung war: Wenn neg. Kerning, aber StretchX = 200
--                => Nicht das Kerning verdoppelt, also die Buchstaben weiter
--                zusammenziehen
--                ---------------------------
--                Kern	StretchX	=>Kern
--                ---------------------------
--                 >0		<100		< (Proportional)
--                 <0		<100		< (Proportional)
--                 >0		>100		> (Proportional)
--                 <0		>100		< (Der Betrag, also Antiprop)
--*/
--                if ( ( nKerning < 0  ) && ( nStretchX > 100 ) )
-+                if ( nStretchX == nStretchY &&
-+                     nRelWidth == 100 )
-                 {
--                    // Antiproportional
--                    nKerning *= 100;
--                    nKerning /= nStretchX;
-+                    aRealSz.Width() = 0;
-                 }
--                else if ( nKerning )
-+                else
-                 {
--                    // Proportional
--                    nKerning *= nStretchX;
--                    nKerning /= 100;
-+                    aRealSz.Width() *= nStretchX;
-+                    aRealSz.Width() /= 100;
-+
-+                    // Auch das Kerning: (long wegen Zwischenergebnis)
-+                    long nKerning = rFont.GetFixKerning();
-+/*
-+  Die Ueberlegung war: Wenn neg. Kerning, aber StretchX = 200
-+  => Nicht das Kerning verdoppelt, also die Buchstaben weiter
-+  zusammenziehen
-+  ---------------------------
-+  Kern	StretchX	=>Kern
-+  ---------------------------
-+  >0		<100		< (Proportional)
-+  <0		<100		< (Proportional)
-+  >0		>100		> (Proportional)
-+  <0		>100		< (Der Betrag, also Antiprop)
-+*/
-+                    if ( ( nKerning < 0  ) && ( nStretchX > 100 ) )
-+                    {
-+                        // Antiproportional
-+                        nKerning *= 100;
-+                        nKerning /= nStretchX;
-+                    }
-+                    else if ( nKerning )
-+                    {
-+                        // Proportional
-+                        nKerning *= nStretchX;
-+                        nKerning /= 100;
-+                    }
-+                    rFont.SetFixKerning( (short)nKerning );
-                 }
--                rFont.SetFixKerning( (short)nKerning );
-             }
+                     && isContour() == rCandidate.isContour()
+                     && isFitToSize() == rCandidate.isFitToSize()
++                    && isAutoFit() == rCandidate.isAutoFit()
+                     && isHideContour() == rCandidate.isHideContour()
+                     && isBlink() == rCandidate.isBlink()
+                     && isScroll() == rCandidate.isScroll()
+@@ -369,6 +375,11 @@ namespace drawinglayer
+             return mpSdrTextAttribute->isFitToSize(); 
          }
-         if ( nRelWidth != 100 )
-@@ -4094,20 +4102,25 @@ void ImpEditEngine::SetFlatMode( sal_Bool bFlat )
- 
- void ImpEditEngine::SetCharStretching( sal_uInt16 nX, sal_uInt16 nY )
- {
-+    bool bChanged(false);
-     if ( !IsVertical() )
-     {
-+        bChanged = nStretchX!=nX || nStretchY!=nY;
-         nStretchX = nX;
-         nStretchY = nY;
-     }
-     else
-     {
-+        bChanged = nStretchX!=nY || nStretchY!=nX;
-         nStretchX = nY;
-         nStretchY = nX;
-     }
- 
--    if ( aStatus.DoStretch() )
-+    if (bChanged && aStatus.DoStretch())
-     {
-         FormatFullDoc();
-+        // (potentially) need everything redrawn
-+        aInvalidRec=Rectangle(0,0,1000000,1000000);
-         UpdateViews( GetActiveView() );
-     }
- }
-diff --git a/svx/source/editeng/impedit4.cxx b/svx/source/editeng/impedit4.cxx
-index 282aa61..3cc3a83 100644
---- a/svx/source/editeng/impedit4.cxx
-+++ b/svx/source/editeng/impedit4.cxx
-@@ -1166,7 +1166,7 @@ EditTextObject*	ImpEditEngine::CreateBinTextObject( EditSelection aSel, SfxItemP
-     // Schwelle rauf setzen, wenn Olli die Absaetze nicht mehr zerhackt!
-     if ( bAllowBigObjects && bOnlyFullParagraphs && IsFormatted() && GetUpdateMode() && ( nTextPortions >= nBigObjectStart ) )
-     {
--        XParaPortionList* pXList = new XParaPortionList( GetRefDevice(), aPaperSize.Width() );
-+        XParaPortionList* pXList = new XParaPortionList( GetRefDevice(), aPaperSize.Width(), nStretchX, nStretchY );
-         pTxtObj->SetPortionInfo( pXList );
-         for ( nNode = nStartNode; nNode <= nEndNode; nNode++  )
-         {
-@@ -1257,7 +1257,9 @@ EditSelection ImpEditEngine::InsertBinTextObject( BinTextObject& rTextObject, Ed
-     XParaPortionList* pPortionInfo = rTextObject.GetPortionInfo();
  
-     if ( pPortionInfo && ( (long)pPortionInfo->GetPaperWidth() == aPaperSize.Width() )
--            && ( pPortionInfo->GetRefMapMode() == GetRefDevice()->GetMapMode() ) )
-+         && ( pPortionInfo->GetRefMapMode() == GetRefDevice()->GetMapMode() )
-+         && ( pPortionInfo->GetStretchX() == nStretchX )
-+         && ( pPortionInfo->GetStretchY() == nStretchY ) )
-     {
-         if ( ( pPortionInfo->GetRefDevPtr() == (sal_uIntPtr)GetRefDevice() ) ||
-              ( ( pPortionInfo->GetRefDevType() == OUTDEV_VIRDEV ) &&
-diff --git a/svx/source/outliner/outliner.cxx b/svx/source/outliner/outliner.cxx
-index 2feb9d7..6ffe21c 100644
---- a/svx/source/outliner/outliner.cxx
-+++ b/svx/source/outliner/outliner.cxx
-@@ -919,7 +919,10 @@ Font Outliner::ImpCalcBulletFont( USHORT nPara ) const
-     }
- 
-     // #107508# Use original scale...
--    USHORT nScale = /* pEditEngine->IsFlatMode() ? DEFAULT_SCALE : */ pFmt->GetBulletRelSize();
-+    USHORT nStretchX, nStretchY;
-+    const_cast<Outliner*>(this)->GetGlobalCharStretching(nStretchX, nStretchY);
++        bool SdrTextAttribute::isAutoFit() const 
++        { 
++            return mpSdrTextAttribute->isAutoFit(); 
++        }
 +
-+    USHORT nScale = pFmt->GetBulletRelSize() * nStretchY / 100;
-     ULONG nScaledLineHeight = aStdFont.GetSize().Height();
-     nScaledLineHeight *= nScale*10;
-     nScaledLineHeight /= 1000;
-@@ -962,6 +965,12 @@ void Outliner::PaintBullet( USHORT nPara, const Point& rStartPos,
-         BOOL bRightToLeftPara = pEditEngine->IsRightToLeft( nPara );
- 
-         Rectangle aBulletArea( ImpCalcBulletArea( nPara, TRUE, FALSE ) );
-+        USHORT nStretchX, nStretchY;
-+        GetGlobalCharStretching(nStretchX, nStretchY);
-+        aBulletArea = Rectangle( Point(aBulletArea.Left()*nStretchX/100,
-+                                       aBulletArea.Top()),
-+                                 Size(aBulletArea.GetWidth()*nStretchX/100,
-+                                      aBulletArea.GetHeight()) );
- 
-         Paragraph* pPara = pParaList->GetParagraph( nPara );
-         const SvxNumberFormat* pFmt = GetNumberFormat( nPara );
-diff --git a/svx/source/sdr/attribute/sdrtextattribute.cxx b/svx/source/sdr/attribute/sdrtextattribute.cxx
-index e68498b..cb21ae0 100644
---- a/svx/source/sdr/attribute/sdrtextattribute.cxx
-+++ b/svx/source/sdr/attribute/sdrtextattribute.cxx
-@@ -57,6 +57,7 @@ namespace drawinglayer
-             SdrTextVertAdjust aSdrTextVertAdjust,
-             bool bContour, 
-             bool bFitToSize, 
-+            bool bAutoFit,
-             bool bHideContour, 
-             bool bBlink, 
-             bool bScroll,
-@@ -74,6 +75,7 @@ namespace drawinglayer
-             maSdrTextVertAdjust(aSdrTextVertAdjust),
-             mbContour(bContour),
-             mbFitToSize(bFitToSize),
-+            mbAutoFit(bAutoFit),
-             mbHideContour(bHideContour),
-             mbBlink(bBlink),
-             mbScroll(bScroll),
-@@ -115,6 +117,7 @@ namespace drawinglayer
-             maSdrTextVertAdjust(rCandidate.getSdrTextVertAdjust()),
-             mbContour(rCandidate.isContour()),
-             mbFitToSize(rCandidate.isFitToSize()),
-+            mbAutoFit(rCandidate.mbAutoFit),
-             mbHideContour(rCandidate.isHideContour()),
-             mbBlink(rCandidate.isBlink()),
-             mbScroll(rCandidate.isScroll()),
-@@ -155,6 +158,7 @@ namespace drawinglayer
- 
-             mbContour = rCandidate.isContour();
-             mbFitToSize = rCandidate.isFitToSize();
-+            mbAutoFit = rCandidate.isAutoFit();
-             mbHideContour = rCandidate.isHideContour();
-             mbBlink = rCandidate.isBlink();
-             mbScroll = rCandidate.isScroll();
-@@ -189,6 +193,7 @@ namespace drawinglayer
- 
-                 && isContour() == rCandidate.isContour()
-                 && isFitToSize() == rCandidate.isFitToSize()
-+                && isAutoFit() == rCandidate.isAutoFit()
-                 && isHideContour() == rCandidate.isHideContour()
-                 && isBlink() == rCandidate.isBlink()
-                 && isScroll() == rCandidate.isScroll()
-diff --git a/svx/source/sdr/primitive2d/sdrattributecreator.cxx b/svx/source/sdr/primitive2d/sdrattributecreator.cxx
-index fab1ea2..61bbb9c 100644
---- a/svx/source/sdr/primitive2d/sdrattributecreator.cxx
-+++ b/svx/source/sdr/primitive2d/sdrattributecreator.cxx
-@@ -530,7 +530,8 @@ namespace drawinglayer
+         bool SdrTextAttribute::isHideContour() const 
+         { 
+             return mpSdrTextAttribute->isHideContour(); 
+diff --git svx/source/sdr/primitive2d/sdrattributecreator.cxx svx/source/sdr/primitive2d/sdrattributecreator.cxx
+index d18345d..6f02cc1 100644
+--- svx/source/sdr/primitive2d/sdrattributecreator.cxx
++++ svx/source/sdr/primitive2d/sdrattributecreator.cxx
+@@ -544,7 +544,8 @@ namespace drawinglayer
                      rTextObj.GetTextHorizontalAdjust(rSet),
                      rTextObj.GetTextVerticalAdjust(rSet),
                      ((const SdrTextContourFrameItem&)rSet.Get(SDRATTR_TEXT_CONTOURFRAME)).GetValue(),
@@ -560,11 +886,11 @@ index fab1ea2..61bbb9c 100644
                      ((const XFormTextHideFormItem&)rSet.Get(XATTR_FORMTXTHIDEFORM)).GetValue(),
                      SDRTEXTANI_BLINK == eAniKind, 
                      SDRTEXTANI_SCROLL == eAniKind || SDRTEXTANI_ALTERNATE == eAniKind || SDRTEXTANI_SLIDE == eAniKind,
-diff --git a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
-index f751977..d239657 100644
---- a/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
-+++ b/svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
-@@ -282,6 +282,11 @@ namespace drawinglayer
+diff --git svx/source/sdr/primitive2d/sdrdecompositiontools.cxx svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
+index bccf3af..9d66850 100644
+--- svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
++++ svx/source/sdr/primitive2d/sdrdecompositiontools.cxx
+@@ -281,6 +281,11 @@ namespace drawinglayer
                          aAnchorTransform,
                          rText.isFixedCellHeight());
                  }
@@ -576,71 +902,71 @@ index f751977..d239657 100644
                  else // text in range
                  {
                      // build new primitive
-diff --git a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
-index c41cbaa..8b61526 100644
---- a/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
-+++ b/svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
-@@ -438,6 +438,55 @@ namespace drawinglayer
+diff --git svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
+index 2b8aa5c..768bac0 100644
+--- svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
++++ svx/source/sdr/primitive2d/sdrtextprimitive2d.cxx
+@@ -446,6 +446,55 @@ namespace drawinglayer
  {
      namespace primitive2d
      {
-+        Primitive2DSequence SdrAutoFitTextPrimitive2D::createLocalDecomposition(const geometry::ViewInformation2D& aViewInformation) const
-+        {
-+            Primitive2DSequence aRetval;
-+            getSdrText()->GetObject().impDecomposeAutoFitTextPrimitive(aRetval, *this, aViewInformation);
-+
-+            return encapsulateWithTextHierarchyBlockPrimitive2D(aRetval);
-+        }
-+
-+        SdrAutoFitTextPrimitive2D::SdrAutoFitTextPrimitive2D(
-+            const SdrText* pSdrText,
-+            const OutlinerParaObject& rParaObj,
-+            const ::basegfx::B2DHomMatrix& rTextRangeTransform,
-+            bool bWordWrap)
-+        :	SdrTextPrimitive2D(pSdrText, rParaObj),
-+            maTextRangeTransform(rTextRangeTransform),
-+            mbWordWrap(bWordWrap)
-+        {
-+        }
-+
-+        bool SdrAutoFitTextPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
-+        {
-+            if(SdrTextPrimitive2D::operator==(rPrimitive))
-+            {
-+                const SdrBlockTextPrimitive2D& rCompare = (SdrBlockTextPrimitive2D&)rPrimitive;
-+
-+                return (getTextRangeTransform() == rCompare.getTextRangeTransform()
-+                    && getWordWrap() == rCompare.getWordWrap());
-+            }
-+
-+            return false;
-+        }
-+
-+        SdrTextPrimitive2D* SdrAutoFitTextPrimitive2D::createTransformedClone(const ::basegfx::B2DHomMatrix& rTransform) const
-+        {
-+            return new SdrAutoFitTextPrimitive2D(getSdrText(), getOutlinerParaObject(), rTransform * getTextRangeTransform(), getWordWrap());
-+        }
-+
-+        // provide unique ID
-+        ImplPrimitrive2DIDBlock(SdrAutoFitTextPrimitive2D, PRIMITIVE2D_ID_SDRAUTOFITTEXTPRIMITIVE2D)
-+
-+    } // end of namespace primitive2d
-+} // end of namespace drawinglayer
-+
-+//////////////////////////////////////////////////////////////////////////////
-+
-+namespace drawinglayer
-+{
-+    namespace primitive2d
-+    {
-         Primitive2DSequence SdrStretchTextPrimitive2D::createLocalDecomposition(const geometry::ViewInformation2D& aViewInformation) const
++         Primitive2DSequence SdrAutoFitTextPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const
++         {
++             Primitive2DSequence aRetval;
++             getSdrText()->GetObject().impDecomposeAutoFitTextPrimitive(aRetval, *this, aViewInformation);
++ 
++             return encapsulateWithTextHierarchyBlockPrimitive2D(aRetval);
++         }
++ 
++         SdrAutoFitTextPrimitive2D::SdrAutoFitTextPrimitive2D(
++             const SdrText* pSdrText,
++             const OutlinerParaObject& rParaObj,
++             const ::basegfx::B2DHomMatrix& rTextRangeTransform,
++             bool bWordWrap)
++         :	SdrTextPrimitive2D(pSdrText, rParaObj),
++             maTextRangeTransform(rTextRangeTransform),
++             mbWordWrap(bWordWrap)
++         {
++         }
++ 
++         bool SdrAutoFitTextPrimitive2D::operator==(const BasePrimitive2D& rPrimitive) const
++         {
++             if(SdrTextPrimitive2D::operator==(rPrimitive))
++             {
++                 const SdrBlockTextPrimitive2D& rCompare = (SdrBlockTextPrimitive2D&)rPrimitive;
++ 
++                 return (getTextRangeTransform() == rCompare.getTextRangeTransform()
++                     && getWordWrap() == rCompare.getWordWrap());
++             }
++ 
++             return false;
++         }
++ 
++         SdrTextPrimitive2D* SdrAutoFitTextPrimitive2D::createTransformedClone(const ::basegfx::B2DHomMatrix& rTransform) const
++         {
++             return new SdrAutoFitTextPrimitive2D(getSdrText(), getOutlinerParaObject(), rTransform * getTextRangeTransform(), getWordWrap());
++         }
++ 
++         // provide unique ID
++         ImplPrimitrive2DIDBlock(SdrAutoFitTextPrimitive2D, PRIMITIVE2D_ID_SDRAUTOFITTEXTPRIMITIVE2D)
++ 
++     } // end of namespace primitive2d
++ } // end of namespace drawinglayer
++ 
++ //////////////////////////////////////////////////////////////////////////////
++ 
++ namespace drawinglayer
++ {
++     namespace primitive2d
++     {
+         Primitive2DSequence SdrStretchTextPrimitive2D::create2DDecomposition(const geometry::ViewInformation2D& aViewInformation) const
          {
              Primitive2DSequence aRetval;
-diff --git a/svx/source/svdraw/svdedxv.cxx b/svx/source/svdraw/svdedxv.cxx
-index c665a35..3454fbc 100644
---- a/svx/source/svdraw/svdedxv.cxx
-+++ b/svx/source/svdraw/svdedxv.cxx
-@@ -312,7 +312,7 @@ void SdrObjEditView::ImpPaintOutlinerView(OutlinerView& rOutlView, const Rectang
+diff --git svx/source/svdraw/svdedxv.cxx svx/source/svdraw/svdedxv.cxx
+index ab0148b..ea39084 100644
+--- svx/source/svdraw/svdedxv.cxx
++++ svx/source/svdraw/svdedxv.cxx
+@@ -316,7 +316,7 @@ void SdrObjEditView::ImpPaintOutlinerView(OutlinerView& rOutlView, const Rectang
      {
          const SdrTextObj* pText = PTR_CAST(SdrTextObj,GetTextEditObject());
          bool bTextFrame(pText && pText->IsTextFrame());
@@ -649,7 +975,7 @@ index c665a35..3454fbc 100644
          bool bModifyMerk(pTextEditOutliner->IsModified()); // #43095#
          Rectangle aBlankRect(rOutlView.GetOutputArea());
          aBlankRect.Union(aMinTextEditArea);
-@@ -381,7 +381,7 @@ void SdrObjEditView::ImpInvalidateOutlinerView(OutlinerView& rOutlView) const
+@@ -385,7 +385,7 @@ void SdrObjEditView::ImpInvalidateOutlinerView(OutlinerView& rOutlView) const
      {
          const SdrTextObj* pText = PTR_CAST(SdrTextObj,GetTextEditObject());
          bool bTextFrame(pText && pText->IsTextFrame());
@@ -658,7 +984,7 @@ index c665a35..3454fbc 100644
  
          if(bTextFrame && !bFitToSize) 
          {
-@@ -647,8 +647,7 @@ sal_Bool SdrObjEditView::SdrBeginTextEdit(
+@@ -651,8 +651,7 @@ sal_Bool SdrObjEditView::SdrBeginTextEdit(
              if ( !pTextObj->IsContourTextFrame() )
              {
                  // FitToSize erstmal nicht mit ContourFrame
@@ -668,7 +994,7 @@ index c665a35..3454fbc 100644
                      aTextRect = aAnchorRect;
              }
  
-@@ -716,8 +715,7 @@ sal_Bool SdrObjEditView::SdrBeginTextEdit(
+@@ -720,8 +719,7 @@ sal_Bool SdrObjEditView::SdrBeginTextEdit(
                  // #71519#
                  if(!bExtraInvalidate)
                  {
@@ -678,48 +1004,11 @@ index c665a35..3454fbc 100644
                          bExtraInvalidate = sal_True;
                  }
  
-diff --git a/svx/source/svdraw/svdfppt.cxx b/svx/source/svdraw/svdfppt.cxx
-index 8b91f30..6564ede 100644
---- a/svx/source/svdraw/svdfppt.cxx
-+++ b/svx/source/svdraw/svdfppt.cxx
-@@ -1116,6 +1116,7 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
-                 }
-                 aTextObj.SetDestinationInstance( (sal_uInt16)nDestinationInstance );
- 
-+                bool bAutoFit = false; // auto-scale text into shape box
-                 switch ( aTextObj.GetInstance() )
-                 {
-                     case TSS_TYPE_PAGETITLE :
-@@ -1123,7 +1124,7 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
-                     case TSS_TYPE_SUBTITLE : eTextKind = OBJ_TEXT; break;
-                     case TSS_TYPE_BODY :
-                     case TSS_TYPE_HALFBODY :
--                    case TSS_TYPE_QUARTERBODY : eTextKind = OBJ_OUTLINETEXT; break;
-+                    case TSS_TYPE_QUARTERBODY : eTextKind = OBJ_OUTLINETEXT; bAutoFit = true; break;
-                 }
-                 if ( aTextObj.GetDestinationInstance() != TSS_TYPE_TEXT_IN_SHAPE )
-                 {
-@@ -1178,6 +1179,15 @@ SdrObject* SdrEscherImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi
-                 }
-                 pTObj->SetMergedItem( SvxFrameDirectionItem( bVerticalText ? FRMDIR_VERT_TOP_RIGHT : FRMDIR_HORI_LEFT_TOP, EE_PARA_WRITINGDIR ) );
- 
-+                if (bAutoFit)
-+                {
-+                    // disable both, defeats purpose of autofit
-+                    // otherwise
-+                    bAutoGrowHeight = sal_False;
-+                    bAutoGrowWidth = sal_False;
-+                    pTObj->SetMergedItem( SdrTextFitToSizeTypeItem(SDRTEXTFIT_AUTOFIT) );
-+                }
-+
-             if ( !pTObj->ISA( SdrObjCustomShape ) )
-             {
-                  pTObj->SetMergedItem( SdrTextAutoGrowWidthItem( bAutoGrowWidth ) );
-diff --git a/svx/source/svdraw/svdotext.cxx b/svx/source/svdraw/svdotext.cxx
-index 0ed2b74..809ad8d 100644
---- a/svx/source/svdraw/svdotext.cxx
-+++ b/svx/source/svdraw/svdotext.cxx
-@@ -141,6 +141,7 @@ SdrTextObj::SdrTextObj()
+diff --git svx/source/svdraw/svdotext.cxx svx/source/svdraw/svdotext.cxx
+index b65bde8..5bb281b 100644
+--- svx/source/svdraw/svdotext.cxx
++++ svx/source/svdraw/svdotext.cxx
+@@ -137,6 +137,7 @@ SdrTextObj::SdrTextObj()
  
      // #i25616#
      mbSupportTextIndentingOnLineWidthChange = sal_True;
@@ -727,7 +1016,7 @@ index 0ed2b74..809ad8d 100644
  }
  
  SdrTextObj::SdrTextObj(const Rectangle& rNewRect)
-@@ -166,6 +167,7 @@ SdrTextObj::SdrTextObj(const Rectangle& rNewRect)
+@@ -162,6 +163,7 @@ SdrTextObj::SdrTextObj(const Rectangle& rNewRect)
  
      // #111096#
      mbTextAnimationAllowed = sal_True;
@@ -735,7 +1024,7 @@ index 0ed2b74..809ad8d 100644
  
      // #108784#
      maTextEditOffset = Point(0, 0);
-@@ -196,6 +198,7 @@ SdrTextObj::SdrTextObj(SdrObjKind eNewTextKind)
+@@ -192,6 +194,7 @@ SdrTextObj::SdrTextObj(SdrObjKind eNewTextKind)
  
      // #111096#
      mbTextAnimationAllowed = sal_True;
@@ -743,7 +1032,7 @@ index 0ed2b74..809ad8d 100644
  
      // #108784#
      maTextEditOffset = Point(0, 0);
-@@ -228,6 +231,7 @@ SdrTextObj::SdrTextObj(SdrObjKind eNewTextKind, const Rectangle& rNewRect)
+@@ -224,6 +227,7 @@ SdrTextObj::SdrTextObj(SdrObjKind eNewTextKind, const Rectangle& rNewRect)
  
      // #111096#
      mbTextAnimationAllowed = sal_True;
@@ -751,7 +1040,7 @@ index 0ed2b74..809ad8d 100644
  
      // #108784#
      maTextEditOffset = Point(0, 0);
-@@ -262,6 +266,7 @@ SdrTextObj::SdrTextObj(SdrObjKind eNewTextKind, const Rectangle& rNewRect, SvStr
+@@ -258,6 +262,7 @@ SdrTextObj::SdrTextObj(SdrObjKind eNewTextKind, const Rectangle& rNewRect, SvStr
  
      // #111096#
      mbTextAnimationAllowed = sal_True;
@@ -759,7 +1048,7 @@ index 0ed2b74..809ad8d 100644
  
      // #108784#
      maTextEditOffset = Point(0, 0);
-@@ -838,8 +843,7 @@ void SdrTextObj::TakeTextRect( SdrOutliner& rOutliner, Rectangle& rTextRect, FAS
+@@ -834,8 +839,7 @@ void SdrTextObj::TakeTextRect( SdrOutliner& rOutliner, Rectangle& rTextRect, FAS
      SdrTextAniKind      eAniKind=GetTextAniKind();
      SdrTextAniDirection eAniDirection=GetTextAniDirection();
  
@@ -769,7 +1058,7 @@ index 0ed2b74..809ad8d 100644
      FASTBOOL bContourFrame=IsContourTextFrame();
  
      FASTBOOL bFrame=IsTextFrame();
-@@ -1000,7 +1004,7 @@ OutlinerParaObject* SdrTextObj::GetEditOutlinerParaObject() const
+@@ -996,7 +1000,7 @@ OutlinerParaObject* SdrTextObj::GetEditOutlinerParaObject() const
      return pPara;
  }
  
@@ -778,7 +1067,7 @@ index 0ed2b74..809ad8d 100644
  {
      OutputDevice* pOut = rOutliner.GetRefDevice();
      BOOL bNoStretching(FALSE);
-@@ -1045,12 +1049,12 @@ void SdrTextObj::ImpSetCharStretching(SdrOutliner& rOutliner, const Rectangle& r
+@@ -1041,12 +1045,12 @@ void SdrTextObj::ImpSetCharStretching(SdrOutliner& rOutliner, const Rectangle& r
      unsigned nLoopCount=0;
      FASTBOOL bNoMoreLoop=FALSE;
      long nXDiff0=0x7FFFFFFF;
@@ -795,7 +1084,7 @@ index 0ed2b74..809ad8d 100644
      if (nIsHgt==0) nIsHgt=1;
  
      long nXTolPl=nWantWdt/100; // Toleranz +1%
-@@ -1278,8 +1282,7 @@ basegfx::B2DPolyPolygon SdrTextObj::TakeContour() const
+@@ -1274,8 +1278,7 @@ basegfx::B2DPolyPolygon SdrTextObj::TakeContour() const
          Rectangle aR;
          TakeTextRect(rOutliner,aR,FALSE,&aAnchor2);
          rOutliner.Clear();
@@ -805,7 +1094,7 @@ index 0ed2b74..809ad8d 100644
          if (bFitToSize) aR=aAnchor2;
          Polygon aPol(aR);
          if (aGeo.nDrehWink!=0) RotatePoly(aPol,aR.TopLeft(),aGeo.nSin,aGeo.nCos);
-@@ -1396,8 +1399,7 @@ void SdrTextObj::ImpSetupDrawOutlinerForPaint( FASTBOOL 		bContourFrame,
+@@ -1392,8 +1395,7 @@ void SdrTextObj::ImpSetupDrawOutlinerForPaint( FASTBOOL 		bContourFrame,
      if (!bContourFrame)
      {
          // FitToSize erstmal nicht mit ContourFrame
@@ -815,7 +1104,7 @@ index 0ed2b74..809ad8d 100644
          {
              ULONG nStat=rOutliner.GetControlWord();
              nStat|=EE_CNTRL_STRETCHING|EE_CNTRL_AUTOPAGESIZE;
-@@ -1411,13 +1413,73 @@ void SdrTextObj::ImpSetupDrawOutlinerForPaint( FASTBOOL 		bContourFrame,
+@@ -1407,13 +1409,73 @@ void SdrTextObj::ImpSetupDrawOutlinerForPaint( FASTBOOL 		bContourFrame,
      if (!bContourFrame)
      {
          // FitToSize erstmal nicht mit ContourFrame
@@ -892,7 +1181,7 @@ index 0ed2b74..809ad8d 100644
  }
  
  void SdrTextObj::SetupOutlinerFormatting( SdrOutliner& rOutl, Rectangle& rPaintRect ) const
-@@ -2015,6 +2077,17 @@ bool SdrTextObj::IsTextAnimationAllowed() const
+@@ -1992,6 +2054,17 @@ bool SdrTextObj::IsTextAnimationAllowed() const
      return mbTextAnimationAllowed;
  }
  
@@ -910,7 +1199,7 @@ index 0ed2b74..809ad8d 100644
  void SdrTextObj::SetTextAnimationAllowed(sal_Bool bNew)
  {
      if(mbTextAnimationAllowed != bNew)
-@@ -2032,13 +2105,21 @@ void SdrTextObj::onEditOutlinerStatusEvent( EditStatus* pEditStatus )
+@@ -2009,13 +2082,21 @@ void SdrTextObj::onEditOutlinerStatusEvent( EditStatus* pEditStatus )
      const bool bGrowY=(nStat & EE_STAT_TEXTHEIGHTCHANGED) !=0;
      if(bTextFrame && (bGrowX || bGrowY))
      {
@@ -936,11 +1225,11 @@ index 0ed2b74..809ad8d 100644
      }
  }
  
-diff --git a/svx/source/svdraw/svdotextdecomposition.cxx b/svx/source/svdraw/svdotextdecomposition.cxx
-index d0738f9..db5e4a4 100644
---- a/svx/source/svdraw/svdotextdecomposition.cxx
-+++ b/svx/source/svdraw/svdotextdecomposition.cxx
-@@ -761,6 +761,140 @@ void SdrTextObj::impDecomposeContourTextPrimitive(
+diff --git svx/source/svdraw/svdotextdecomposition.cxx svx/source/svdraw/svdotextdecomposition.cxx
+index 1bb2001..ac53d98 100644
+--- svx/source/svdraw/svdotextdecomposition.cxx
++++ svx/source/svdraw/svdotextdecomposition.cxx
+@@ -729,6 +729,140 @@ void SdrTextObj::impDecomposeContourTextPrimitive(
      rTarget = aConverter.getPrimitive2DSequence();
  }
  
@@ -1081,10 +1370,10 @@ index d0738f9..db5e4a4 100644
  void SdrTextObj::impDecomposeBlockTextPrimitive(
      drawinglayer::primitive2d::Primitive2DSequence& rTarget,
      const drawinglayer::primitive2d::SdrBlockTextPrimitive2D& rSdrBlockTextPrimitive,
-diff --git a/svx/source/svdraw/svdotxat.cxx b/svx/source/svdraw/svdotxat.cxx
-index f70f7ea..8f308b9 100644
---- a/svx/source/svdraw/svdotxat.cxx
-+++ b/svx/source/svdraw/svdotxat.cxx
+diff --git svx/source/svdraw/svdotxat.cxx svx/source/svdraw/svdotxat.cxx
+index 03d7b9f..4acfc95 100644
+--- svx/source/svdraw/svdotxat.cxx
++++ svx/source/svdraw/svdotxat.cxx
 @@ -79,8 +79,7 @@ FASTBOOL SdrTextObj::AdjustTextFrameWidthAndHeight(Rectangle& rR, FASTBOOL bHgt,
  {
      if (bTextFrame && pModel!=NULL && !rR.IsEmpty())
@@ -1095,10 +1384,10 @@ index f70f7ea..8f308b9 100644
          FASTBOOL bWdtGrow=bWdt && IsAutoGrowWidth();
          FASTBOOL bHgtGrow=bHgt && IsAutoGrowHeight();
          SdrTextAniKind eAniKind=GetTextAniKind();
-diff --git a/svx/source/svdraw/svdotxed.cxx b/svx/source/svdraw/svdotxed.cxx
-index aca8afb..792a617 100644
---- a/svx/source/svdraw/svdotxed.cxx
-+++ b/svx/source/svdraw/svdotxed.cxx
+diff --git svx/source/svdraw/svdotxed.cxx svx/source/svdraw/svdotxed.cxx
+index 2681530..e39ddbe 100644
+--- svx/source/svdraw/svdotxed.cxx
++++ svx/source/svdraw/svdotxed.cxx
 @@ -73,15 +73,17 @@ sal_Bool SdrTextObj::BegTextEdit(SdrOutliner& rOutl)
      rOutl.Init( nOutlinerMode );
      rOutl.SetRefDevice( pModel->GetRefDevice() );
@@ -1143,10 +1432,10 @@ index aca8afb..792a617 100644
      Size aPaperMin,aPaperMax;
      Rectangle aViewInit;
      TakeTextAnchorRect(aViewInit);
-diff --git a/svx/source/svdraw/svdotxtr.cxx b/svx/source/svdraw/svdotxtr.cxx
-index 0639226..1d79f1d 100644
---- a/svx/source/svdraw/svdotxtr.cxx
-+++ b/svx/source/svdraw/svdotxtr.cxx
+diff --git svx/source/svdraw/svdotxtr.cxx svx/source/svdraw/svdotxtr.cxx
+index 5b96e1b..80a3c03 100644
+--- svx/source/svdraw/svdotxtr.cxx
++++ svx/source/svdraw/svdotxtr.cxx
 @@ -84,9 +84,6 @@ void SdrTextObj::NbcSetSnapRect(const Rectangle& rRect)
          if (bTextFrame && (pModel==NULL || !pModel->IsPasteResize())) { // #51139#
              if (nTWdt0!=nTWdt1 && IsAutoGrowWidth() ) NbcSetMinTextFrameWidth(nTWdt1);
@@ -1177,10 +1466,10 @@ index 0639226..1d79f1d 100644
          NbcAdjustTextFrameWidthAndHeight();
      }
      ImpCheckShear();
-diff --git a/svx/source/svdraw/svdview.cxx b/svx/source/svdraw/svdview.cxx
-index 8388ee9..8297e64 100644
---- a/svx/source/svdraw/svdview.cxx
-+++ b/svx/source/svdraw/svdview.cxx
+diff --git svx/source/svdraw/svdview.cxx svx/source/svdraw/svdview.cxx
+index 4670b92..57494c1 100644
+--- svx/source/svdraw/svdview.cxx
++++ svx/source/svdraw/svdview.cxx
 @@ -502,8 +502,7 @@ SdrHitKind SdrView::PickAnything(const Point& rLogicPos, SdrViewEvent& rVEvt) co
                  Point aTemporaryTextRelativePosition(aLocalLogicPosition - aTextRect.TopLeft());
                  
@@ -1191,11 +1480,11 @@ index 8388ee9..8297e64 100644
                  if (bFitToSize) {
                      Fraction aX(aTextRect.GetWidth()-1,aAnchor.GetWidth()-1);
                      Fraction aY(aTextRect.GetHeight()-1,aAnchor.GetHeight()-1);
-diff --git a/xmloff/source/draw/sdpropls.cxx b/xmloff/source/draw/sdpropls.cxx
-index 6fbcb8b..735b59f 100644
---- a/xmloff/source/draw/sdpropls.cxx
-+++ b/xmloff/source/draw/sdpropls.cxx
-@@ -624,8 +624,8 @@ SvXMLEnumMapEntry __READONLY_DATA pXML_FitToSize_Enum[] =
+diff --git xmloff/source/draw/sdpropls.cxx xmloff/source/draw/sdpropls.cxx
+index 068f9c8..54a816b 100644
+--- xmloff/source/draw/sdpropls.cxx
++++ xmloff/source/draw/sdpropls.cxx
+@@ -625,8 +625,8 @@ SvXMLEnumMapEntry __READONLY_DATA pXML_FitToSize_Enum[] =
  {
      { XML_FALSE,		drawing::TextFitToSizeType_NONE },
      { XML_TRUE, 		drawing::TextFitToSizeType_PROPORTIONAL },
@@ -1206,6 +1495,3 @@ index 6fbcb8b..735b59f 100644
      { XML_TOKEN_INVALID, 0 }
  };
  
--- 
-1.7.0.1
-
commit 4b96931cd6b7092b46ee21f5dbaeedad06f02ccd
Author: Thorsten Behrens <thb at openoffice.org>
Date:   Fri Aug 13 15:59:26 2010 +0200

    Made linkwarn patches apply again
    
    * patches/dev300/apply: enabled below patch
    * patches/dev300/linkwarn-dlg-in-apps.diff: tweaked patch to apply
      to ooo330 again

diff --git a/patches/dev300/apply b/patches/dev300/apply
index 1fa09bf..cc15b5c 100644
--- a/patches/dev300/apply
+++ b/patches/dev300/apply
@@ -2610,7 +2610,7 @@ vcl-pluggable-mtf-renderer.diff, thorsten
 emf+-cppcanvas-input-validation.diff, thorsten
 
 [ LinkWarningDlg ]
-# FIXME dev300-m77 linkwarn-dlg-in-apps.diff, n#348149, thorsten #fixme
+linkwarn-dlg-in-apps.diff, n#348149, thorsten #fixme
 linkwarn-sfx2-disable-cb-persistency.diff, n#348149, thorsten
 
 linkwarn-svtools-miscopts-bits.diff, n#348149, thorsten
diff --git a/patches/dev300/linkwarn-dlg-in-apps.diff b/patches/dev300/linkwarn-dlg-in-apps.diff
index e4511de..434ae45 100644
--- a/patches/dev300/linkwarn-dlg-in-apps.diff
+++ b/patches/dev300/linkwarn-dlg-in-apps.diff
@@ -1,13 +1,15 @@
-From 23e50cf33a0555fb7dac4d9ff47e9b69bf2a3852 Mon Sep 17 00:00:00 2001
-From: Jan Holesovsky <kendy at suse.cz>
-Date: Fri, 14 May 2010 17:04:17 +0200
-Subject: [PATCH 540/768] linkwarn-dlg-in-apps.diff
+Wire up link warning dlg in applications
+
+From: Thorsten Behrens <thb at openoffice.org>
+
 
 ---
+
  sc/source/ui/drawfunc/fuins1.cxx |   10 ++++++++++
  sd/source/ui/func/fuinsert.cxx   |   12 +++++++++++-
- sw/source/ui/uiview/view2.cxx    |   15 +++++++++++++++
- 3 files changed, 36 insertions(+), 1 deletions(-)
+ sw/source/ui/uiview/view2.cxx    |   10 ++++++++++
+ 3 files changed, 31 insertions(+), 1 deletions(-)
+
 
 diff --git sc/source/ui/drawfunc/fuins1.cxx sc/source/ui/drawfunc/fuins1.cxx
 index 80d6324..70243ac 100644
@@ -40,7 +42,7 @@ index 80d6324..70243ac 100644
  
                  //	append items for recording
 diff --git sd/source/ui/func/fuinsert.cxx sd/source/ui/func/fuinsert.cxx
-index b8ea639..3ff6a58 100644
+index c09fed5..916a512 100755
 --- sd/source/ui/func/fuinsert.cxx
 +++ sd/source/ui/func/fuinsert.cxx
 @@ -48,9 +48,11 @@
@@ -55,7 +57,7 @@ index b8ea639..3ff6a58 100644
  #include <svx/svdetc.hxx>
  #include <avmedia/mediawindow.hxx>
  #ifndef _UNOTOOLS_UCBSTREAMHELPER_HXX
-@@ -174,7 +176,15 @@ void FuInsertGraphic::DoExecute( SfxRequest&  )
+@@ -156,7 +158,15 @@ void FuInsertGraphic::DoExecute( SfxRequest&  )
  
                  if(pGrafObj && aDlg.IsAsLink())
                  {
@@ -73,33 +75,26 @@ index b8ea639..3ff6a58 100644
                      String aPath(aDlg.GetPath());
                      pGrafObj->SetGraphicLink(aPath, aFltName);
 diff --git sw/source/ui/uiview/view2.cxx sw/source/ui/uiview/view2.cxx
-index 4ec0f71..71459ce 100644
+index 224ab55..8941cfa 100755
 --- sw/source/ui/uiview/view2.cxx
 +++ sw/source/ui/uiview/view2.cxx
-@@ -46,8 +46,14 @@
- #include <undobj.hxx>
- #include <swundo.hxx>
+@@ -48,6 +48,7 @@
  #include <caption.hxx>
-+<<<<<<< HEAD
  #include <svl/PasswordHelper.hxx>
  #include <svl/urihelper.hxx>
-+=======
-+#include <svtools/PasswordHelper.hxx>
-+#include <svtools/urihelper.hxx>
-+#include <svtools/miscopt.hxx>
-+>>>>>>> cc3ce8a... linkwarn-dlg-in-apps.diff
++#include <svl/miscopt.hxx>
  #include <sfx2/passwd.hxx>
  #include <sfx2/sfxdlg.hxx>
  #include <sfx2/filedlghelper.hxx>
-@@ -55,6 +61,7 @@
- #include <editeng/langitem.hxx>
+@@ -56,6 +57,7 @@
  #include <svx/viewlayoutitem.hxx>
  #include <svx/zoomslideritem.hxx>
+ #include <svtools/xwindowitem.hxx>
 +#include <svx/linkwarn.hxx>
  #include <svx/htmlmode.hxx>
  #include <vcl/svapp.hxx>
  #include <vcl/wrkwin.hxx>
-@@ -400,6 +407,14 @@ BOOL SwView::InsertGraphicDlg( SfxRequest& rReq )
+@@ -400,6 +402,14 @@ BOOL SwView::InsertGraphicDlg( SfxRequest& rReq )
                  rReq.AppendItem( SfxStringItem( FN_PARAM_2, sGraphicFormat ) );
                  rReq.AppendItem( SfxBoolItem( FN_PARAM_1, bAsLink ) );
              }
@@ -114,6 +109,3 @@ index 4ec0f71..71459ce 100644
          }
  
          SwWrtShell& rSh = GetWrtShell();
--- 
-1.7.0.1
-


More information about the ooo-build-commit mailing list