[ooo-build-commit] Branch 'ooo/master' - 4 commits - sd/inc sd/source slideshow/source

Jan Holesovsky kendy at kemper.freedesktop.org
Thu May 28 17:46:15 PDT 2009


 sd/inc/anminfo.hxx                                             |   11 
 sd/inc/drawdoc.hxx                                             |    3 
 sd/inc/pres.hxx                                                |    2 
 sd/source/core/anminfo.cxx                                     |   57 +++-
 sd/source/core/drawdoc2.cxx                                    |  126 +++++++++-
 sd/source/core/drawdoc4.cxx                                    |   46 +--
 sd/source/core/sdobjfac.cxx                                    |    2 
 sd/source/core/sdpage.cxx                                      |   48 +++
 sd/source/filter/eppt/epptso.cxx                               |    2 
 sd/source/filter/html/htmlex.cxx                               |    6 
 sd/source/filter/pptin.cxx                                     |   16 -
 sd/source/filter/sdpptwrp.cxx                                  |   20 -
 sd/source/ui/accessibility/AccessibleOutlineEditSource.cxx     |   28 +-
 sd/source/ui/app/res_bmp.src                                   |   30 +-
 sd/source/ui/app/strings.src                                   |   16 -
 sd/source/ui/func/fudraw.cxx                                   |   17 -
 sd/source/ui/func/fuoaprms.cxx                                 |   14 -
 sd/source/ui/func/fusel.cxx                                    |   13 -
 sd/source/ui/func/unoaprms.cxx                                 |    6 
 sd/source/ui/inc/res_bmp.hrc                                   |    5 
 sd/source/ui/inc/strings.hrc                                   |    6 
 sd/source/ui/toolpanel/LayoutMenu.cxx                          |    5 
 sd/source/ui/unoidl/unoobj.cxx                                 |   34 +-
 sd/source/ui/view/drtxtob1.cxx                                 |    4 
 sd/source/ui/view/drviewse.cxx                                 |    2 
 sd/source/ui/view/drviewsf.cxx                                 |    2 
 sd/source/ui/view/sdview2.cxx                                  |    4 
 slideshow/source/engine/OGLTrans/OGLTrans_TransitionerImpl.cxx |    8 
 slideshow/source/engine/OGLTrans/makefile.mk                   |    7 
 29 files changed, 410 insertions(+), 130 deletions(-)

New commits:
commit cc67c82785b44be87a70ea767d098e77f1b0c7bf
Author: Jens-Heiner Rechtien <hr at openoffice.org>
Date:   Mon May 25 12:21:03 2009 +0000

    #i10000#: aBookmarkURL: use Getter/Setter

diff --git a/sd/source/filter/pptin.cxx b/sd/source/filter/pptin.cxx
index 2b4f8b7..c5ecaf7 100644
--- a/sd/source/filter/pptin.cxx
+++ b/sd/source/filter/pptin.cxx
@@ -2169,11 +2169,13 @@ void ImplSdPPTImport::FillSdAnimationInfo( SdAnimationInfo* pInfo, PptInteractiv
                             if ( pDocShell )
                             {
                                 String aBaseURL = pDocShell->GetMedium()->GetBaseURL();
+                                String aBookmarkURL( pInfo->GetBookmark() );
                                 INetURLObject aURL( pPtr->aTarget );
                                 if( INET_PROT_NOT_VALID == aURL.GetProtocol() )
-                                    utl::LocalFileHelper::ConvertSystemPathToURL( pPtr->aTarget, aBaseURL, pInfo->maBookmark );
-                                if( !pInfo->maBookmark.Len() )
-                                    pInfo->maBookmark = URIHelper::SmartRel2Abs( INetURLObject(aBaseURL), pPtr->aTarget, URIHelper::GetMaybeFileHdl(), true );
+                                    utl::LocalFileHelper::ConvertSystemPathToURL( pPtr->aTarget, aBaseURL, aBookmarkURL );
+                                if( !aBookmarkURL.Len() )
+                                    aBookmarkURL = URIHelper::SmartRel2Abs( INetURLObject(aBaseURL), pPtr->aTarget, URIHelper::GetMaybeFileHdl(), true );
+                                pInfo->SetBookmark( aBookmarkURL );
                                 pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_PROGRAM;
                             }
                         }
commit 2d28769722b471b122ed648c3b0fa0898e435741
Author: Jens-Heiner Rechtien <hr at openoffice.org>
Date:   Tue May 19 16:03:18 2009 +0000

    #i10000#: fix CRLF. Sigh

diff --git a/sd/source/core/anminfo.cxx b/sd/source/core/anminfo.cxx
index 36803e3..45d7a9d 100644
--- a/sd/source/core/anminfo.cxx
+++ b/sd/source/core/anminfo.cxx
@@ -122,10 +122,10 @@ SdrObjUserData* SdAnimationInfo::Clone(SdrObject* pObject) const
 
 void SdAnimationInfo::SetBookmark( const String& rBookmark )
 {
-    if( meClickAction == ::com::sun::star::presentation::ClickAction_BOOKMARK )
-    {
-        String sURL( '#' );
-        sURL += rBookmark;
+    if( meClickAction == ::com::sun::star::presentation::ClickAction_BOOKMARK )
+    {
+        String sURL( '#' );
+        sURL += rBookmark;
         SvxFieldItem aURLItem( SvxURLField( sURL, sURL ), EE_FEATURE_FIELD );
         mrObject.SetMergedItem( aURLItem );
     }
diff --git a/sd/source/core/drawdoc2.cxx b/sd/source/core/drawdoc2.cxx
index 783c3c6..f0562f3 100644
--- a/sd/source/core/drawdoc2.cxx
+++ b/sd/source/core/drawdoc2.cxx
@@ -50,7 +50,7 @@
 #include <svx/eeitem.hxx>
 #include <svx/langitem.hxx>
 #include <svtools/itempool.hxx>
-#include <svx/svdpool.hxx>
+#include <svx/svdpool.hxx>
 #include <svx/flditem.hxx>
 
 #include <svx/linkmgr.hxx>
@@ -304,113 +304,113 @@ void SdDrawDocument::UpdatePageObjectsInNotes(USHORT nStartPos)
     }
 }
 
-void SdDrawDocument::UpdatePageRelativeURLs(const String& rOldName, const String& rNewName)
-{
-    if (rNewName.Len() == 0)
-        return;
-
-    SfxItemPool& pPool(GetPool());
-    USHORT nCount = pPool.GetItemCount(EE_FEATURE_FIELD);
-    for (USHORT nOff = 0; nOff < nCount; nOff++)
-    {
-        const SfxPoolItem *pItem = pPool.GetItem(EE_FEATURE_FIELD, nOff);
-        const SvxFieldItem* pFldItem = dynamic_cast< const SvxFieldItem * > (pItem);
-
-        if(pFldItem)
-        {
-            SvxURLField* pURLField = const_cast< SvxURLField* >( dynamic_cast<const SvxURLField*>( pFldItem->GetField() ) );
-
-            if(pURLField)
-            {
-                XubString aURL = pURLField->GetURL();
-
-                if (aURL.Len() && (aURL.GetChar(0) == 35) && (aURL.Search(rOldName, 1) == 1))
-                {
-                    if (aURL.Len() == rOldName.Len() + 1) // standard page name
-                    {
-                        aURL.Erase (1, aURL.Len() - 1);
-                        aURL += rNewName;
-                        pURLField->SetURL(aURL);
-                    }
-                    else
-                    {
-                        const XubString sNotes = SdResId(STR_NOTES);
-                        if (aURL.Len() == rOldName.Len() + 2 + sNotes.Len() && aURL.Search(sNotes, rOldName.Len() + 2) == rOldName.Len() + 2)
-                        {
-                            aURL.Erase (1, aURL.Len() - 1);
-                            aURL += rNewName;
-                            aURL += ' ';
-                            aURL += sNotes;
-                            pURLField->SetURL(aURL);
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
-
-void SdDrawDocument::UpdatePageRelativeURLs(SdPage* pPage, USHORT nPos, sal_Int32 nIncrement)
-{
-    bool bNotes = (pPage->GetPageKind() == PK_NOTES);
-
-    SfxItemPool& pPool(GetPool());
-    USHORT nCount = pPool.GetItemCount(EE_FEATURE_FIELD);
-    for (USHORT nOff = 0; nOff < nCount; nOff++)
-    {
-        const SfxPoolItem *pItem = pPool.GetItem(EE_FEATURE_FIELD, nOff);
-        const SvxFieldItem* pFldItem;
-
-        if ((pFldItem = dynamic_cast< const SvxFieldItem * > (pItem)) != 0)
-        {
-            SvxURLField* pURLField = const_cast< SvxURLField* >( dynamic_cast<const SvxURLField*>( pFldItem->GetField() ) );
-
-            if(pURLField)
-            {
-                XubString aURL = pURLField->GetURL();
-
-                if (aURL.Len() && (aURL.GetChar(0) == 35))
-                {
-                    XubString aHashSlide('#');
-                    aHashSlide += SdResId(STR_PAGE);
-
-                    if (aURL.CompareTo(aHashSlide, aHashSlide.Len()) == COMPARE_EQUAL)
-                    {
-                        XubString aURLCopy = aURL;
-                        const XubString sNotes = SdResId(STR_NOTES);
-
-                        aURLCopy.Erase(0, aHashSlide.Len());
-
-                        bool bNotesLink = (aURLCopy.Len() >= sNotes.Len() + 3 && aURLCopy.Search(sNotes, aURLCopy.Len() - sNotes.Len()) == aURLCopy.Len() - sNotes.Len());
-
-                        if (bNotesLink ^ bNotes)
-                            continue; // no compatible link and page
-
-                        if (bNotes)
-                            aURLCopy.Erase(aURLCopy.Len() - sNotes.Len(), sNotes.Len());
-
-                        sal_Int32 number = aURLCopy.ToInt32();
-                        USHORT realPageNumber = (nPos + 1)/ 2;
-
-                        if ( number >= realPageNumber )
-                        {
-                            // update link page number
-                            number += nIncrement;
-                            aURL.Erase (aHashSlide.Len() + 1, aURL.Len() - aHashSlide.Len() - 1);
-                            aURL += XubString::CreateFromInt32(number);
-                            if (bNotes)
-                            {
-                                aURL += ' ';
-                                aURL += sNotes;
-                            }
-                            pURLField->SetURL(aURL);
-                        }
-                    }
-                }
-            }
-        }
-    }
-}
+void SdDrawDocument::UpdatePageRelativeURLs(const String& rOldName, const String& rNewName)
+{
+    if (rNewName.Len() == 0)
+        return;
+
+    SfxItemPool& pPool(GetPool());
+    USHORT nCount = pPool.GetItemCount(EE_FEATURE_FIELD);
+    for (USHORT nOff = 0; nOff < nCount; nOff++)
+    {
+        const SfxPoolItem *pItem = pPool.GetItem(EE_FEATURE_FIELD, nOff);
+        const SvxFieldItem* pFldItem = dynamic_cast< const SvxFieldItem * > (pItem);
+
+        if(pFldItem)
+        {
+            SvxURLField* pURLField = const_cast< SvxURLField* >( dynamic_cast<const SvxURLField*>( pFldItem->GetField() ) );
+
+            if(pURLField)
+            {
+                XubString aURL = pURLField->GetURL();
+
+                if (aURL.Len() && (aURL.GetChar(0) == 35) && (aURL.Search(rOldName, 1) == 1))
+                {
+                    if (aURL.Len() == rOldName.Len() + 1) // standard page name
+                    {
+                        aURL.Erase (1, aURL.Len() - 1);
+                        aURL += rNewName;
+                        pURLField->SetURL(aURL);
+                    }
+                    else
+                    {
+                        const XubString sNotes = SdResId(STR_NOTES);
+                        if (aURL.Len() == rOldName.Len() + 2 + sNotes.Len() && aURL.Search(sNotes, rOldName.Len() + 2) == rOldName.Len() + 2)
+                        {
+                            aURL.Erase (1, aURL.Len() - 1);
+                            aURL += rNewName;
+                            aURL += ' ';
+                            aURL += sNotes;
+                            pURLField->SetURL(aURL);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+
+void SdDrawDocument::UpdatePageRelativeURLs(SdPage* pPage, USHORT nPos, sal_Int32 nIncrement)
+{
+    bool bNotes = (pPage->GetPageKind() == PK_NOTES);
+
+    SfxItemPool& pPool(GetPool());
+    USHORT nCount = pPool.GetItemCount(EE_FEATURE_FIELD);
+    for (USHORT nOff = 0; nOff < nCount; nOff++)
+    {
+        const SfxPoolItem *pItem = pPool.GetItem(EE_FEATURE_FIELD, nOff);
+        const SvxFieldItem* pFldItem;
+
+        if ((pFldItem = dynamic_cast< const SvxFieldItem * > (pItem)) != 0)
+        {
+            SvxURLField* pURLField = const_cast< SvxURLField* >( dynamic_cast<const SvxURLField*>( pFldItem->GetField() ) );
+
+            if(pURLField)
+            {
+                XubString aURL = pURLField->GetURL();
+
+                if (aURL.Len() && (aURL.GetChar(0) == 35))
+                {
+                    XubString aHashSlide('#');
+                    aHashSlide += SdResId(STR_PAGE);
+
+                    if (aURL.CompareTo(aHashSlide, aHashSlide.Len()) == COMPARE_EQUAL)
+                    {
+                        XubString aURLCopy = aURL;
+                        const XubString sNotes = SdResId(STR_NOTES);
+
+                        aURLCopy.Erase(0, aHashSlide.Len());
+
+                        bool bNotesLink = (aURLCopy.Len() >= sNotes.Len() + 3 && aURLCopy.Search(sNotes, aURLCopy.Len() - sNotes.Len()) == aURLCopy.Len() - sNotes.Len());
+
+                        if (bNotesLink ^ bNotes)
+                            continue; // no compatible link and page
+
+                        if (bNotes)
+                            aURLCopy.Erase(aURLCopy.Len() - sNotes.Len(), sNotes.Len());
+
+                        sal_Int32 number = aURLCopy.ToInt32();
+                        USHORT realPageNumber = (nPos + 1)/ 2;
+
+                        if ( number >= realPageNumber )
+                        {
+                            // update link page number
+                            number += nIncrement;
+                            aURL.Erase (aHashSlide.Len() + 1, aURL.Len() - aHashSlide.Len() - 1);
+                            aURL += XubString::CreateFromInt32(number);
+                            if (bNotes)
+                            {
+                                aURL += ' ';
+                                aURL += sNotes;
+                            }
+                            pURLField->SetURL(aURL);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
 
 /*************************************************************************
 |*
@@ -436,7 +436,7 @@ void SdDrawDocument::MovePage(USHORT nPgNum, USHORT nNewPos)
 
 void SdDrawDocument::InsertPage(SdrPage* pPage, USHORT nPos)
 {
-    bool bLast = (nPos == GetPageCount());
+    bool bLast = (nPos == GetPageCount());
 
     FmFormModel::InsertPage(pPage, nPos);
 
@@ -444,8 +444,8 @@ void SdDrawDocument::InsertPage(SdrPage* pPage, USHORT nPos)
 
     UpdatePageObjectsInNotes(nPos);
 
-    if (!bLast)
-        UpdatePageRelativeURLs(static_cast<SdPage*>( pPage ), nPos, 1);
+    if (!bLast)
+        UpdatePageRelativeURLs(static_cast<SdPage*>( pPage ), nPos, 1);
 
 }
 
@@ -471,15 +471,15 @@ void SdDrawDocument::DeletePage(USHORT nPgNum)
 SdrPage* SdDrawDocument::RemovePage(USHORT nPgNum)
 {
     SdrPage* pPage = FmFormModel::RemovePage(nPgNum);
-    
-    bool bLast = ((nPgNum+1)/2 == (GetPageCount()+1)/2);
+    
+    bool bLast = ((nPgNum+1)/2 == (GetPageCount()+1)/2);
 
     ((SdPage*)pPage)->DisconnectLink();
     ReplacePageInCustomShows( dynamic_cast< SdPage* >( pPage ), 0 );
     UpdatePageObjectsInNotes(nPgNum);
 
-    if (!bLast)
-        UpdatePageRelativeURLs((SdPage*)pPage, nPgNum, -1);
+    if (!bLast)
+        UpdatePageRelativeURLs((SdPage*)pPage, nPgNum, -1);
 
     return pPage;
 }
diff --git a/sd/source/core/drawdoc4.cxx b/sd/source/core/drawdoc4.cxx
index 5093e8a..112ecee 100644
--- a/sd/source/core/drawdoc4.cxx
+++ b/sd/source/core/drawdoc4.cxx
@@ -1015,18 +1015,18 @@ void SdDrawDocument::SpellObject(SdrTextObj* pObj)
             if (mbHasOnlineSpellErrors)
             {
                 sd::ModifyGuard aGuard( this );
-                SdrModel* pModel = pObj->GetModel();
-                sal_Bool bLock = sal_False;
-                if ( pModel )
-                {
-                    bLock = pModel->isLocked();
-                    pModel->setLock( sal_True );
-                }
+                SdrModel* pModel = pObj->GetModel();
+                sal_Bool bLock = sal_False;
+                if ( pModel )
+                {
+                    bLock = pModel->isLocked();
+                    pModel->setLock( sal_True );
+                }
                 // taking text from the outliner				
                 ((SdrTextObj*) pObj)->SetOutlinerParaObject( pOutl->CreateParaObject() );
 
                 pObj->BroadcastObjectChange();
-                if ( pModel )
+                if ( pModel )
                     pModel->setLock( bLock );
             }
         }
diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx
index 824c8b5..a94a3e8 100644
--- a/sd/source/core/sdpage.cxx
+++ b/sd/source/core/sdpage.cxx
@@ -1078,7 +1078,7 @@ LayoutDescriptor::LayoutDescriptor( int nLayout, int k0, int k1, int k2, int k3,
     meKind[2] = static_cast<PresObjKind>(k2 & (~VERTICAL)); mbVertical[2] = (k2 & VERTICAL) == VERTICAL;
     meKind[3] = static_cast<PresObjKind>(k3 & (~VERTICAL)); mbVertical[3] = (k3 & VERTICAL) == VERTICAL;
     meKind[4] = static_cast<PresObjKind>(k4 & (~VERTICAL)); mbVertical[4] = (k4 & VERTICAL) == VERTICAL;
-    meKind[5] = static_cast<PresObjKind>(k5 & (~VERTICAL)); mbVertical[5] = (k5 & VERTICAL) == VERTICAL;
+    meKind[5] = static_cast<PresObjKind>(k5 & (~VERTICAL)); mbVertical[5] = (k5 & VERTICAL) == VERTICAL;
     meKind[6] = static_cast<PresObjKind>(k6 & (~VERTICAL)); mbVertical[6] = (k6	& VERTICAL) == VERTICAL;
 }
 
@@ -1120,9 +1120,9 @@ static const LayoutDescriptor& GetLayoutDescriptor( AutoLayout eLayout )
         LayoutDescriptor( 9, PRESOBJ_TITLE, PRESOBJ_GRAPHIC, PRESOBJ_OUTLINE|VERTICAL ),	// AUTOLAYOUT_TITLE_VERTICAL_OUTLINE_CLIPART
         LayoutDescriptor( 0 ),																// AUTOLAYOUT_HANDOUT9
         LayoutDescriptor( 10, PRESOBJ_TEXT, PRESOBJ_NONE ),                                 // AUTOLAYOUT_ONLY_TEXT
-        LayoutDescriptor( 6, PRESOBJ_TITLE, PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC,			    // AUTOLAYOUT_4CLIPART
+        LayoutDescriptor( 6, PRESOBJ_TITLE, PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC,			    // AUTOLAYOUT_4CLIPART
             PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC ),
-        LayoutDescriptor( 11, PRESOBJ_TITLE, PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC,				// AUTOLAYOUT_6CLIPART
+        LayoutDescriptor( 11, PRESOBJ_TITLE, PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC,				// AUTOLAYOUT_6CLIPART
             PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC )
     };
 
@@ -1307,36 +1307,36 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe
     }
     case 10: // onlytext
     {
-        Size aSize( rRectangle[0].GetSize().Width(), rRectangle[1].BottomLeft().Y() - rRectangle[0].TopLeft().Y() );
-        rRectangle[0].SetSize( aSize );
-        rRectangle[0].SetPos( aTitlePos);
+        Size aSize( rRectangle[0].GetSize().Width(), rRectangle[1].BottomLeft().Y() - rRectangle[0].TopLeft().Y() );
+        rRectangle[0].SetSize( aSize );
+        rRectangle[0].SetPos( aTitlePos);
         break;
     }
-    case 11: // title, 6 shapes
-    {
-        ULONG nX = long (aLayoutPos.X());
-
-        aLayoutSize.Height() = long (aLayoutSize.Height() * 0.477);
-        aLayoutSize.Width()  = long (aLayoutSize.Width() * 0.322);
-        rRectangle[1] = Rectangle (aLayoutPos, aLayoutSize);
-
-        aLayoutPos.X() = long (nX + aLayoutSize.Width() * 1.05);
-        rRectangle[2] = Rectangle (aLayoutPos, aLayoutSize);
-
-        aLayoutPos.X() = long (nX + aLayoutSize.Width() * 2 * 1.05);
-        rRectangle[3] = Rectangle (aLayoutPos, aLayoutSize);
-
-        aLayoutPos.Y() = long (aLayoutPos.Y() + aLayoutSize.Height() * 1.095);
-        rRectangle[4] = Rectangle (aLayoutPos, aLayoutSize);
-
-        aLayoutPos.X() = long (nX + aLayoutSize.Width() * 1.05);
-        rRectangle[5] = Rectangle (aLayoutPos, aLayoutSize);
-
-        aLayoutPos.X() = nX;
-        rRectangle[6] = Rectangle (aLayoutPos, aLayoutSize);
-
-        break;
-    }    
+    case 11: // title, 6 shapes
+    {
+        ULONG nX = long (aLayoutPos.X());
+
+        aLayoutSize.Height() = long (aLayoutSize.Height() * 0.477);
+        aLayoutSize.Width()  = long (aLayoutSize.Width() * 0.322);
+        rRectangle[1] = Rectangle (aLayoutPos, aLayoutSize);
+
+        aLayoutPos.X() = long (nX + aLayoutSize.Width() * 1.05);
+        rRectangle[2] = Rectangle (aLayoutPos, aLayoutSize);
+
+        aLayoutPos.X() = long (nX + aLayoutSize.Width() * 2 * 1.05);
+        rRectangle[3] = Rectangle (aLayoutPos, aLayoutSize);
+
+        aLayoutPos.Y() = long (aLayoutPos.Y() + aLayoutSize.Height() * 1.095);
+        rRectangle[4] = Rectangle (aLayoutPos, aLayoutSize);
+
+        aLayoutPos.X() = long (nX + aLayoutSize.Width() * 1.05);
+        rRectangle[5] = Rectangle (aLayoutPos, aLayoutSize);
+
+        aLayoutPos.X() = nX;
+        rRectangle[6] = Rectangle (aLayoutPos, aLayoutSize);
+
+        break;
+    }    
 
     }
 }
diff --git a/sd/source/ui/app/res_bmp.src b/sd/source/ui/app/res_bmp.src
index 2010f95..3c954d0 100644
--- a/sd/source/ui/app/res_bmp.src
+++ b/sd/source/ui/app/res_bmp.src
@@ -229,29 +229,29 @@ Bitmap BMP_FOIL_24_H
 {
     File = "foil24_h.bmp" ;
 };
-Bitmap BMP_FOIL_25
-{
-    File = "foil25.bmp" ;
-};
-Bitmap BMP_FOIL_25_H
-{
-    File = "foil25_h.bmp" ;
-};
-Bitmap BMP_FOIL_26
-{
-    File = "foil26.bmp" ;
-};
-Bitmap BMP_FOIL_26_H
-{
-    File = "foil26_h.bmp" ;
-};
-Bitmap BMP_FOIL_27
-{
-    File = "foil27.bmp" ;
-};
-Bitmap BMP_FOIL_27_H
-{
-    File = "foil27_h.bmp" ;
+Bitmap BMP_FOIL_25
+{
+    File = "foil25.bmp" ;
+};
+Bitmap BMP_FOIL_25_H
+{
+    File = "foil25_h.bmp" ;
+};
+Bitmap BMP_FOIL_26
+{
+    File = "foil26.bmp" ;
+};
+Bitmap BMP_FOIL_26_H
+{
+    File = "foil26_h.bmp" ;
+};
+Bitmap BMP_FOIL_27
+{
+    File = "foil27.bmp" ;
+};
+Bitmap BMP_FOIL_27_H
+{
+    File = "foil27_h.bmp" ;
 };
 Bitmap BMP_FOILH_01
 {
diff --git a/sd/source/ui/app/strings.src b/sd/source/ui/app/strings.src
index 7568e0a..38e8c5b 100644
--- a/sd/source/ui/app/strings.src
+++ b/sd/source/ui/app/strings.src
@@ -177,9 +177,9 @@ String STR_AUTOLAYOUT_ONLY_TITLE
 {
     Text [ en-US ] = "Title Only" ;
 };
-String STR_AUTOLAYOUT_ONLY_TEXT
-{
-    Text [ en-US ] = "Centered Text" ;
+String STR_AUTOLAYOUT_ONLY_TEXT
+{
+    Text [ en-US ] = "Centered Text" ;
 };
 String STR_AUTOLAYOUT_TITLE
 {
@@ -253,9 +253,9 @@ String STR_AUTOLAYOUT_4OBJ
 {
     Text [ en-US ] = "Title, 4 Objects" ;
 };
-String STR_AUTOLAYOUT_4CLIPART
-{
-    Text [ en-US ] = "Title, 4 Cliparts" ;
+String STR_AUTOLAYOUT_4CLIPART
+{
+    Text [ en-US ] = "Title, 4 Cliparts" ;
 };
 String STR_AL_TITLE_VERT_OUTLINE
 {
@@ -273,10 +273,10 @@ String STR_AL_VERT_TITLE_VERT_OUTLINE
 {
     Text [ en-US ] = "Vertical Title, Vertical Text" ;
 };
-String STR_AUTOLAYOUT_6CLIPART
-{
-    Text [ en-US ] = "Title, 6 Cliparts" ;
-};
+String STR_AUTOLAYOUT_6CLIPART
+{
+    Text [ en-US ] = "Title, 6 Cliparts" ;
+};
 
 String STR_AUTOLAYOUT_HANDOUT1
 {
@@ -1270,4 +1270,4 @@ String STR_SET_BACKGROUND_PICTURE
     Text [ en-US ] = "Set Background Picture for Slide ..." ;
 };
 
- 
\ No newline at end of file
+ 
diff --git a/sd/source/ui/inc/res_bmp.hrc b/sd/source/ui/inc/res_bmp.hrc
index 04a25b1..42b1cd7 100644
--- a/sd/source/ui/inc/res_bmp.hrc
+++ b/sd/source/ui/inc/res_bmp.hrc
@@ -114,7 +114,7 @@
 #define BMP_COLLAPSE			RID_APP_START+52
 #define BMP_GRAPHIC 			RID_APP_START+53
 
-#define BMP_FOIL_26				RID_APP_START+54
+#define BMP_FOIL_26				RID_APP_START+54
 
 // Bimaps fuer ValueSet im EffekteWindow
 #define BMP_EFFECT_NONE						RID_APP_START+105
diff --git a/sd/source/ui/inc/strings.hrc b/sd/source/ui/inc/strings.hrc
index 55cb9c1..45b096b 100644
--- a/sd/source/ui/inc/strings.hrc
+++ b/sd/source/ui/inc/strings.hrc
@@ -198,12 +198,12 @@
 #define STR_AUTOLAYOUT_HANDOUT6 	(RID_APP_START+235)
 #define STR_AUTOLAYOUT_NOTES		(RID_APP_START+236)
 #define STR_AUTOLAYOUT_HANDOUT9		(RID_APP_START+237)
-#define STR_AUTOLAYOUT_ONLY_TEXT	(RID_APP_START+238)
-#define STR_AUTOLAYOUT_4CLIPART    	(RID_APP_START+239)
+#define STR_AUTOLAYOUT_ONLY_TEXT	(RID_APP_START+238)
+#define STR_AUTOLAYOUT_4CLIPART    	(RID_APP_START+239)
 
 #define STR_TRANSFORM				(RID_APP_START+240)
-
-#define STR_AUTOLAYOUT_6CLIPART    	(RID_APP_START+241)
+
+#define STR_AUTOLAYOUT_6CLIPART    	(RID_APP_START+241)
 
 #define STR_EXPORT_HTML_NAME				(RID_APP_START+244)
 #define STR_EXPORT_HTML_FILTER				(RID_APP_START+245)
diff --git a/sd/source/ui/toolpanel/LayoutMenu.cxx b/sd/source/ui/toolpanel/LayoutMenu.cxx
index d46ff41..10744f9 100644
--- a/sd/source/ui/toolpanel/LayoutMenu.cxx
+++ b/sd/source/ui/toolpanel/LayoutMenu.cxx
@@ -173,7 +173,7 @@ static snewfoil_value_info standard[] =
      AUTOLAYOUT_2TEXT},
     {BMP_FOIL_19, BMP_FOIL_19_H, STR_AUTOLAYOUT_ONLY_TITLE, WritingMode_LR_TB,
      AUTOLAYOUT_ONLY_TITLE},
-    {BMP_FOIL_25, BMP_FOIL_25_H, STR_AUTOLAYOUT_ONLY_TEXT, WritingMode_LR_TB,
+    {BMP_FOIL_25, BMP_FOIL_25_H, STR_AUTOLAYOUT_ONLY_TEXT, WritingMode_LR_TB,
      AUTOLAYOUT_ONLY_TEXT},
     {BMP_FOIL_11, BMP_FOIL_11_H, STR_AUTOLAYOUT_OBJ, WritingMode_LR_TB,
      AUTOLAYOUT_OBJ},
diff --git a/sd/source/ui/view/drtxtob1.cxx b/sd/source/ui/view/drtxtob1.cxx
index a547c87..3873169 100644
--- a/sd/source/ui/view/drtxtob1.cxx
+++ b/sd/source/ui/view/drtxtob1.cxx
@@ -256,8 +256,8 @@ void TextObjectBar::Execute( SfxRequest &rReq )
             {
                 pOLV->AdjustDepth( -1 );
 
-                // Ensure bold/italic etc. icon state updates
-                Invalidate();
+                // Ensure bold/italic etc. icon state updates
+                Invalidate();
                 // #96551# trigger preview refresh
                 mpViewShell->GetViewFrame()->GetBindings().Invalidate( SID_PREVIEW_STATE, TRUE, FALSE );
             }
@@ -271,8 +271,8 @@ void TextObjectBar::Execute( SfxRequest &rReq )
             {
                 pOLV->AdjustDepth( 1 );
 
-                // Ensure bold/italic etc. icon state updates
-                Invalidate();
+                // Ensure bold/italic etc. icon state updates
+                Invalidate();
                 // #96551# trigger preview refresh
                 mpViewShell->GetViewFrame()->GetBindings().Invalidate( SID_PREVIEW_STATE, TRUE, FALSE );
             }
commit e0aad062653137bce8c5370016e575ba0ae89287
Author: Jens-Heiner Rechtien <hr at openoffice.org>
Date:   Tue May 19 09:32:45 2009 +0000

    CWS-TOOLING: integrate CWS impress169
    2009-05-13 17:37:21 +0200 sj  r271865 : #i100942# applied patch, removed oversafe buffer check (now without warnings on 64 bit platform)
    2009-05-13 12:27:18 +0200 sj  r271855 : #i101769# fixed line/fill attributes for graphic objects
    2009-05-12 10:25:17 +0200 cl  r271799 : report correct minimum cell hight for empty cells
    2009-04-28 17:29:46 +0200 cl  r271334 : fixed merge error
    2009-04-28 16:18:01 +0200 cl  r271330 : fixed build error
    2009-04-28 12:38:09 +0200 cl  r271320 : #i100129# images for new layouts
    2009-04-27 19:12:06 +0200 cl  r271302 : CWS-TOOLING: rebase CWS impress169 to trunk at 270723 (milestone: DEV300:m46)
    2009-04-20 19:13:28 +0200 sj  r271012 : #i100942# applied patch, removed oversafe buffer check
    2009-04-09 18:00:01 +0200 sj  r270719 : #158488# added rectangular gradient support
    2009-04-09 17:49:52 +0200 sj  r270718 : #158488# added rectangular gradient support
    2009-04-09 17:46:24 +0200 sj  r270717 : #158488# added rectangular gradient support
    2009-03-26 18:16:34 +0100 cl  r270098 : #i99867# applied patch from jlcheng to correctly register table design pane
    2009-03-26 18:12:11 +0100 cl  r270097 : #i100220# leave some items default so they are not overridden if a new table style is set
    2009-03-26 18:11:10 +0100 cl  r270096 : #i100220# clear only those items that are also in the style when assigning a new table layout
    2009-03-26 15:56:24 +0100 cl  r270085 : #i99977# listen to outliner and dispose if outliner dies
    2009-03-26 15:47:29 +0100 cl  r270084 : #i99977# made the Outliner a SfxBroadcaster so others can listen for its death
    2009-03-24 19:10:05 +0100 sj  r269991 : #i100490# fixed text resize problem
    2009-03-23 14:31:11 +0100 sj  r269872 : #i96083# added patch, (dubious && and ||)
    2009-03-19 17:55:11 +0100 sj  r269764 : #i100275# applied patch, row height is now correct even for rows containing no text
    2009-03-18 18:10:52 +0100 sj  r269701 : #i93616# solved performance problem when loading document
    2009-03-18 16:20:40 +0100 sj  r269688 : removing unused code
    2009-03-18 16:19:22 +0100 sj  r269687 : removing unused code
    2009-03-18 16:17:54 +0100 sj  r269686 : removing unused code
    2009-03-18 10:28:07 +0100 cl  r269643 : #i100029# let cells be disposed as soon as the table model is disposed
    2009-03-17 15:56:50 +0100 cl  r269614 : #i99984# new impress photo layouts 3x2 and 2x2
    2009-03-17 15:36:35 +0100 cl  r269611 : #i99984# adding new impress photo layouts 3x2 and 2x2
    2009-03-16 18:43:48 +0100 cl  r269564 : #i55224# correct internal links if pages are changed
    2009-03-16 16:40:38 +0100 cl  r269559 : #i55224# correct internal hyperlinks if slides are changed/renamed
    2009-03-16 15:34:12 +0100 cl  r269553 : #i99427# invalidate slots after promote/demote
    2009-03-13 18:18:20 +0100 sj  r269492 : #i92421# fixed loop if loading encrypted ppt file
    2009-03-13 14:51:58 +0100 sj  r269481 : #i93002# fixed crash if saving presentation without master title placeholder
    2009-03-13 12:26:21 +0100 sj  r269468 : #i100147# do not exceed the max point count if creating simple polygon via ::GetSimple
    2009-03-12 17:00:45 +0100 sj  r269427 : #i82518# justifying rectangles for arc/pie and chord actions, fixed round rectangle problem

diff --git a/sd/inc/anminfo.hxx b/sd/inc/anminfo.hxx
index b914b64..558a310 100644
--- a/sd/inc/anminfo.hxx
+++ b/sd/inc/anminfo.hxx
@@ -73,16 +73,19 @@ public:
     String					maSecondSoundFile; // fuer Objekt ausblenden
     BOOL					mbSecondSoundOn;	// fuer Objekt ausblenden
     BOOL					mbSecondPlayFull;// fuer Objekt ausblenden
-    String					maBookmark;		// Sprung zu Objekt/Seite
+//	String					maBookmark;		// Sprung zu Objekt/Seite
     USHORT					mnVerb;			// fuer OLE-Objekt
     ULONG					mnPresOrder;
+    SdrObject&              mrObject;
 
+    void                    SetBookmark( const String& rBookmark );
+    String                  GetBookmark();
 public:
-                            SdAnimationInfo();
-                            SdAnimationInfo(const SdAnimationInfo& rAnmInfo);
+                            SdAnimationInfo(SdrObject& rObject);
+                            SdAnimationInfo(const SdAnimationInfo& rAnmInfo, SdrObject& rObject);
     virtual					~SdAnimationInfo();
 
-    virtual SdrObjUserData*	Clone(SdrObject* pObj) const;
+    virtual SdrObjUserData*	Clone(SdrObject* pObject) const;
 };
 
 #endif // _SD_ANMINFO_HXX
diff --git a/sd/inc/drawdoc.hxx b/sd/inc/drawdoc.hxx
index d05afcb..3949d07 100644
--- a/sd/inc/drawdoc.hxx
+++ b/sd/inc/drawdoc.hxx
@@ -205,6 +205,7 @@ private:
     ::std::auto_ptr<ImpMasterPageListWatcher> mpMasterPageListWatcher;
 
     void                UpdatePageObjectsInNotes(USHORT nStartPos);
+    void                UpdatePageRelativeURLs(SdPage* pPage, USHORT nPos, sal_Int32 nIncrement);
     void                FillOnlineSpellingList(SdPage* pPage);
     void                SpellObject(SdrTextObj* pObj);
 
@@ -588,6 +589,8 @@ public:
     /* converts the given western font height to a corresponding ctl font height, deppending on the system language */
     static sal_uInt32 convertFontHeightToCTL( sal_uInt32 nWesternFontHeight );
 
+       void UpdatePageRelativeURLs(const String& rOldName, const String& rNewName);
+
 private:
     /** This member stores the printer independent layout mode.  Please
         refer to <member>SetPrinterIndependentLayout()</member> for its
diff --git a/sd/inc/pres.hxx b/sd/inc/pres.hxx
index f76bfc5..30cba66 100644
--- a/sd/inc/pres.hxx
+++ b/sd/inc/pres.hxx
@@ -90,6 +90,8 @@ enum AutoLayout
     AUTOLAYOUT_TITLE_VERTICAL_OUTLINE_CLIPART,
     AUTOLAYOUT_HANDOUT9,
     AUTOLAYOUT_ONLY_TEXT,
+    AUTOLAYOUT_4CLIPART,
+    AUTOLAYOUT_6CLIPART,
     AUTOLAYOUT__END
 };
 
diff --git a/sd/source/core/anminfo.cxx b/sd/source/core/anminfo.cxx
index d0b0af3..36803e3 100644
--- a/sd/source/core/anminfo.cxx
+++ b/sd/source/core/anminfo.cxx
@@ -35,7 +35,8 @@
 #include "svx/xtable.hxx"
 #include <svx/svdopath.hxx>
 #include <svtools/urihelper.hxx>
-
+#include <svx/flditem.hxx>
+#include <svx/eeitem.hxx>
 
 #include "anminfo.hxx"
 #include "glob.hxx"
@@ -47,7 +48,7 @@
 
 using namespace ::com::sun::star;
 
-SdAnimationInfo::SdAnimationInfo()
+SdAnimationInfo::SdAnimationInfo(SdrObject& rObject)
                : SdrObjUserData(SdUDInventor, SD_ANIMATIONINFO_ID, 0),
                  mePresObjKind				(PRESOBJ_NONE),
                  meEffect					(presentation::AnimationEffect_NONE),
@@ -66,13 +67,14 @@ SdAnimationInfo::SdAnimationInfo()
                  mbSecondSoundOn			(FALSE),
                  mbSecondPlayFull			(FALSE),
                  mnVerb						(0),
-                 mnPresOrder				(LIST_APPEND)
+                 mnPresOrder				(LIST_APPEND),
+                 mrObject                   (rObject)
 {
     maBlueScreen = RGB_Color(COL_LIGHTMAGENTA);
     maDimColor = RGB_Color(COL_LIGHTGRAY);
 }
 
-SdAnimationInfo::SdAnimationInfo(const SdAnimationInfo& rAnmInfo)
+SdAnimationInfo::SdAnimationInfo(const SdAnimationInfo& rAnmInfo, SdrObject& rObject)
                : SdrObjUserData				(rAnmInfo),
                     mePresObjKind				(PRESOBJ_NONE),
                  meEffect					(rAnmInfo.meEffect),
@@ -94,9 +96,10 @@ SdAnimationInfo::SdAnimationInfo(const SdAnimationInfo& rAnmInfo)
                  maSecondSoundFile          (rAnmInfo.maSecondSoundFile),
                  mbSecondSoundOn			(rAnmInfo.mbSecondSoundOn),
                  mbSecondPlayFull			(rAnmInfo.mbSecondPlayFull),
-                 maBookmark					(rAnmInfo.maBookmark),
+//				 maBookmark					(rAnmInfo.maBookmark),
                  mnVerb						(rAnmInfo.mnVerb),
-                 mnPresOrder				(LIST_APPEND)
+                 mnPresOrder				(LIST_APPEND),
+                 mrObject                   (rObject)
 {
     // can not be copied
     if(meEffect == presentation::AnimationEffect_PATH)
@@ -108,7 +111,45 @@ SdAnimationInfo::~SdAnimationInfo()
 {
 }
 
-SdrObjUserData* SdAnimationInfo::Clone(SdrObject*) const
+SdrObjUserData* SdAnimationInfo::Clone(SdrObject* pObject) const
+{
+    DBG_ASSERT( pObject, "SdAnimationInfo::Clone(), pObject must not be null!" );
+    if( pObject == 0 )
+        pObject = &mrObject;
+
+    return new SdAnimationInfo(*this, *pObject );
+}
+
+void SdAnimationInfo::SetBookmark( const String& rBookmark )
 {
-    return new SdAnimationInfo(*this);
+    if( meClickAction == ::com::sun::star::presentation::ClickAction_BOOKMARK )
+    {
+        String sURL( '#' );
+        sURL += rBookmark;
+        SvxFieldItem aURLItem( SvxURLField( sURL, sURL ), EE_FEATURE_FIELD );
+        mrObject.SetMergedItem( aURLItem );
+    }
+    else
+    {
+        SvxFieldItem aURLItem( SvxURLField( rBookmark, rBookmark ), EE_FEATURE_FIELD );
+        mrObject.SetMergedItem( aURLItem );
+    }
+}
+
+String SdAnimationInfo::GetBookmark()
+{
+    String sBookmark;
+
+    const SvxFieldItem* pFldItem = dynamic_cast< const SvxFieldItem* >( &mrObject.GetMergedItem( EE_FEATURE_FIELD ) );
+    if( pFldItem )
+    {
+        SvxURLField* pURLField = const_cast< SvxURLField* >( dynamic_cast<const SvxURLField*>( pFldItem->GetField() ) );
+        if( pURLField )
+            sBookmark = pURLField->GetURL();
+    }
+
+    if( (meClickAction == ::com::sun::star::presentation::ClickAction_BOOKMARK) && sBookmark.Len() && (sBookmark.GetChar(0) == '#') )
+        sBookmark = sBookmark.Copy( 1 );
+
+    return sBookmark;
 }
diff --git a/sd/source/core/drawdoc2.cxx b/sd/source/core/drawdoc2.cxx
index 7f1e552..783c3c6 100644
--- a/sd/source/core/drawdoc2.cxx
+++ b/sd/source/core/drawdoc2.cxx
@@ -50,7 +50,8 @@
 #include <svx/eeitem.hxx>
 #include <svx/langitem.hxx>
 #include <svtools/itempool.hxx>
-
+#include <svx/svdpool.hxx>
+#include <svx/flditem.hxx>
 
 #include <svx/linkmgr.hxx>
 #include <svx/editdata.hxx>
@@ -303,6 +304,114 @@ void SdDrawDocument::UpdatePageObjectsInNotes(USHORT nStartPos)
     }
 }
 
+void SdDrawDocument::UpdatePageRelativeURLs(const String& rOldName, const String& rNewName)
+{
+    if (rNewName.Len() == 0)
+        return;
+
+    SfxItemPool& pPool(GetPool());
+    USHORT nCount = pPool.GetItemCount(EE_FEATURE_FIELD);
+    for (USHORT nOff = 0; nOff < nCount; nOff++)
+    {
+        const SfxPoolItem *pItem = pPool.GetItem(EE_FEATURE_FIELD, nOff);
+        const SvxFieldItem* pFldItem = dynamic_cast< const SvxFieldItem * > (pItem);
+
+        if(pFldItem)
+        {
+            SvxURLField* pURLField = const_cast< SvxURLField* >( dynamic_cast<const SvxURLField*>( pFldItem->GetField() ) );
+
+            if(pURLField)
+            {
+                XubString aURL = pURLField->GetURL();
+
+                if (aURL.Len() && (aURL.GetChar(0) == 35) && (aURL.Search(rOldName, 1) == 1))
+                {
+                    if (aURL.Len() == rOldName.Len() + 1) // standard page name
+                    {
+                        aURL.Erase (1, aURL.Len() - 1);
+                        aURL += rNewName;
+                        pURLField->SetURL(aURL);
+                    }
+                    else
+                    {
+                        const XubString sNotes = SdResId(STR_NOTES);
+                        if (aURL.Len() == rOldName.Len() + 2 + sNotes.Len() && aURL.Search(sNotes, rOldName.Len() + 2) == rOldName.Len() + 2)
+                        {
+                            aURL.Erase (1, aURL.Len() - 1);
+                            aURL += rNewName;
+                            aURL += ' ';
+                            aURL += sNotes;
+                            pURLField->SetURL(aURL);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+
+void SdDrawDocument::UpdatePageRelativeURLs(SdPage* pPage, USHORT nPos, sal_Int32 nIncrement)
+{
+    bool bNotes = (pPage->GetPageKind() == PK_NOTES);
+
+    SfxItemPool& pPool(GetPool());
+    USHORT nCount = pPool.GetItemCount(EE_FEATURE_FIELD);
+    for (USHORT nOff = 0; nOff < nCount; nOff++)
+    {
+        const SfxPoolItem *pItem = pPool.GetItem(EE_FEATURE_FIELD, nOff);
+        const SvxFieldItem* pFldItem;
+
+        if ((pFldItem = dynamic_cast< const SvxFieldItem * > (pItem)) != 0)
+        {
+            SvxURLField* pURLField = const_cast< SvxURLField* >( dynamic_cast<const SvxURLField*>( pFldItem->GetField() ) );
+
+            if(pURLField)
+            {
+                XubString aURL = pURLField->GetURL();
+
+                if (aURL.Len() && (aURL.GetChar(0) == 35))
+                {
+                    XubString aHashSlide('#');
+                    aHashSlide += SdResId(STR_PAGE);
+
+                    if (aURL.CompareTo(aHashSlide, aHashSlide.Len()) == COMPARE_EQUAL)
+                    {
+                        XubString aURLCopy = aURL;
+                        const XubString sNotes = SdResId(STR_NOTES);
+
+                        aURLCopy.Erase(0, aHashSlide.Len());
+
+                        bool bNotesLink = (aURLCopy.Len() >= sNotes.Len() + 3 && aURLCopy.Search(sNotes, aURLCopy.Len() - sNotes.Len()) == aURLCopy.Len() - sNotes.Len());
+
+                        if (bNotesLink ^ bNotes)
+                            continue; // no compatible link and page
+
+                        if (bNotes)
+                            aURLCopy.Erase(aURLCopy.Len() - sNotes.Len(), sNotes.Len());
+
+                        sal_Int32 number = aURLCopy.ToInt32();
+                        USHORT realPageNumber = (nPos + 1)/ 2;
+
+                        if ( number >= realPageNumber )
+                        {
+                            // update link page number
+                            number += nIncrement;
+                            aURL.Erase (aHashSlide.Len() + 1, aURL.Len() - aHashSlide.Len() - 1);
+                            aURL += XubString::CreateFromInt32(number);
+                            if (bNotes)
+                            {
+                                aURL += ' ';
+                                aURL += sNotes;
+                            }
+                            pURLField->SetURL(aURL);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+
 /*************************************************************************
 |*
 |*	Seite verschieben
@@ -327,11 +436,17 @@ void SdDrawDocument::MovePage(USHORT nPgNum, USHORT nNewPos)
 
 void SdDrawDocument::InsertPage(SdrPage* pPage, USHORT nPos)
 {
+    bool bLast = (nPos == GetPageCount());
+
     FmFormModel::InsertPage(pPage, nPos);
 
     ((SdPage*)pPage)->ConnectLink();
 
     UpdatePageObjectsInNotes(nPos);
+
+    if (!bLast)
+        UpdatePageRelativeURLs(static_cast<SdPage*>( pPage ), nPos, 1);
+
 }
 
 /*************************************************************************
@@ -356,11 +471,16 @@ void SdDrawDocument::DeletePage(USHORT nPgNum)
 SdrPage* SdDrawDocument::RemovePage(USHORT nPgNum)
 {
     SdrPage* pPage = FmFormModel::RemovePage(nPgNum);
+    
+    bool bLast = ((nPgNum+1)/2 == (GetPageCount()+1)/2);
 
     ((SdPage*)pPage)->DisconnectLink();
     ReplacePageInCustomShows( dynamic_cast< SdPage* >( pPage ), 0 );
     UpdatePageObjectsInNotes(nPgNum);
 
+    if (!bLast)
+        UpdatePageRelativeURLs((SdPage*)pPage, nPgNum, -1);
+
     return pPage;
 }
 
@@ -965,8 +1085,8 @@ SdAnimationInfo* SdDrawDocument::GetShapeUserData(SdrObject& rObject, bool bCrea
 
     if( (pRet == 0) && bCreate )
     {
-        pRet = new SdAnimationInfo;
-        rObject.InsertUserData( pRet );
+        pRet = new SdAnimationInfo( rObject );
+        rObject.InsertUserData( pRet);
     }
 
     return pRet;
diff --git a/sd/source/core/drawdoc4.cxx b/sd/source/core/drawdoc4.cxx
index 38d9a96..5093e8a 100644
--- a/sd/source/core/drawdoc4.cxx
+++ b/sd/source/core/drawdoc4.cxx
@@ -640,21 +640,21 @@ void SdDrawDocument::CreateDefaultCellStyles()
     rISet.Put( SvxFontHeightItem( 635, 100, EE_CHAR_FONTHEIGHT_CJK ) ); // 18 pt
     rISet.Put( SvxFontHeightItem( convertFontHeightToCTL( 635 ), 100, EE_CHAR_FONTHEIGHT_CTL ) ); // 18 pt
 
-    rISet.Put( SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT ) );
-    rISet.Put( SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CJK ) );
-    rISet.Put( SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CTL ) );
-
-    rISet.Put( SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC ) );
-    rISet.Put( SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CJK ) );
-    rISet.Put( SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CTL ) );
-
-    rISet.Put(SvxContourItem(FALSE, EE_CHAR_OUTLINE ));
-    rISet.Put(SvxShadowedItem(FALSE, EE_CHAR_SHADOW ));
-    rISet.Put(SvxUnderlineItem(UNDERLINE_NONE, EE_CHAR_UNDERLINE));
-    rISet.Put(SvxOverlineItem(UNDERLINE_NONE, EE_CHAR_OVERLINE));
-    rISet.Put(SvxCrossedOutItem(STRIKEOUT_NONE, EE_CHAR_STRIKEOUT ));
-    rISet.Put(SvxEmphasisMarkItem(EMPHASISMARK_NONE, EE_CHAR_EMPHASISMARK));
-    rISet.Put(SvxCharReliefItem(RELIEF_NONE, EE_CHAR_RELIEF));
+//	rISet.Put( SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT ) );
+//	rISet.Put( SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CJK ) );
+//	rISet.Put( SvxWeightItem( WEIGHT_NORMAL, EE_CHAR_WEIGHT_CTL ) );
+
+//	rISet.Put( SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC ) );
+//	rISet.Put( SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CJK ) );
+//	rISet.Put( SvxPostureItem( ITALIC_NONE, EE_CHAR_ITALIC_CTL ) );
+
+//    rISet.Put(SvxContourItem(FALSE, EE_CHAR_OUTLINE ));
+//    rISet.Put(SvxShadowedItem(FALSE, EE_CHAR_SHADOW ));
+//    rISet.Put(SvxUnderlineItem(UNDERLINE_NONE, EE_CHAR_UNDERLINE));
+//    rISet.Put(SvxOverlineItem(UNDERLINE_NONE, EE_CHAR_OVERLINE));
+//    rISet.Put(SvxCrossedOutItem(STRIKEOUT_NONE, EE_CHAR_STRIKEOUT ));
+//    rISet.Put(SvxEmphasisMarkItem(EMPHASISMARK_NONE, EE_CHAR_EMPHASISMARK));
+//    rISet.Put(SvxCharReliefItem(RELIEF_NONE, EE_CHAR_RELIEF));
     rISet.Put(SvxColorItem(Color(COL_AUTO), EE_CHAR_COLOR ));
 
     // Absatzattribute (Edit Engine)
diff --git a/sd/source/core/sdobjfac.cxx b/sd/source/core/sdobjfac.cxx
index 38dbf8f..9db169c 100644
--- a/sd/source/core/sdobjfac.cxx
+++ b/sd/source/core/sdobjfac.cxx
@@ -58,7 +58,7 @@ IMPL_LINK( SdObjectFactory, MakeUserData, SdrObjFactory *, pObjFactory )
         switch( pObjFactory->nIdentifier )
         {
             case( SD_ANIMATIONINFO_ID ):
-                pObjFactory->pNewData = new SdAnimationInfo;
+                pObjFactory->pNewData = new SdAnimationInfo( *pObjFactory->pObj );
             break;
 
             case( SD_IMAPINFO_ID ):
diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx
index fb426bb..824c8b5 100644
--- a/sd/source/core/sdpage.cxx
+++ b/sd/source/core/sdpage.cxx
@@ -1058,7 +1058,7 @@ Rectangle SdPage::GetLayoutRect() const
 |*
 \*************************************************************************/
 
-const int MAX_PRESOBJS = 5;	// maximum number of presentation objects per layout
+const int MAX_PRESOBJS = 7;	// maximum number of presentation objects per layout
 const int VERTICAL = 0x8000;
 
 struct LayoutDescriptor
@@ -1067,10 +1067,10 @@ struct LayoutDescriptor
     PresObjKind meKind[MAX_PRESOBJS];
     bool mbVertical[MAX_PRESOBJS];
 
-    LayoutDescriptor( int nLayout, int k0 = 0, int k1 = 0, int k2 = 0, int k3 = 0, int k4 = 0 );
+    LayoutDescriptor( int nLayout, int k0 = 0, int k1 = 0, int k2 = 0, int k3 = 0, int k4 = 0, int k5 = 0, int k6 = 0 );
 };
 
-LayoutDescriptor::LayoutDescriptor( int nLayout, int k0, int k1, int k2, int k3, int k4 )
+LayoutDescriptor::LayoutDescriptor( int nLayout, int k0, int k1, int k2, int k3, int k4, int k5, int k6 )
 : mnLayout( nLayout )
 {
     meKind[0] = static_cast<PresObjKind>(k0 & (~VERTICAL)); mbVertical[0] = (k0 & VERTICAL) == VERTICAL;
@@ -1078,6 +1078,8 @@ LayoutDescriptor::LayoutDescriptor( int nLayout, int k0, int k1, int k2, int k3,
     meKind[2] = static_cast<PresObjKind>(k2 & (~VERTICAL)); mbVertical[2] = (k2 & VERTICAL) == VERTICAL;
     meKind[3] = static_cast<PresObjKind>(k3 & (~VERTICAL)); mbVertical[3] = (k3 & VERTICAL) == VERTICAL;
     meKind[4] = static_cast<PresObjKind>(k4 & (~VERTICAL)); mbVertical[4] = (k4 & VERTICAL) == VERTICAL;
+    meKind[5] = static_cast<PresObjKind>(k5 & (~VERTICAL)); mbVertical[5] = (k5 & VERTICAL) == VERTICAL;
+    meKind[6] = static_cast<PresObjKind>(k6 & (~VERTICAL)); mbVertical[6] = (k6	& VERTICAL) == VERTICAL;
 }
 
 static const LayoutDescriptor& GetLayoutDescriptor( AutoLayout eLayout )
@@ -1117,7 +1119,11 @@ static const LayoutDescriptor& GetLayoutDescriptor( AutoLayout eLayout )
         LayoutDescriptor( 0, PRESOBJ_TITLE, PRESOBJ_OUTLINE|VERTICAL ),						// AUTOLAYOUT_TITLE_VERTICAL_OUTLINE
         LayoutDescriptor( 9, PRESOBJ_TITLE, PRESOBJ_GRAPHIC, PRESOBJ_OUTLINE|VERTICAL ),	// AUTOLAYOUT_TITLE_VERTICAL_OUTLINE_CLIPART
         LayoutDescriptor( 0 ),																// AUTOLAYOUT_HANDOUT9
-        LayoutDescriptor( 10, PRESOBJ_TEXT, PRESOBJ_NONE )                                  // AUTOLAYOUT_ONLY_TEXT
+        LayoutDescriptor( 10, PRESOBJ_TEXT, PRESOBJ_NONE ),                                 // AUTOLAYOUT_ONLY_TEXT
+        LayoutDescriptor( 6, PRESOBJ_TITLE, PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC,			    // AUTOLAYOUT_4CLIPART
+            PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC ),
+        LayoutDescriptor( 11, PRESOBJ_TITLE, PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC,				// AUTOLAYOUT_6CLIPART
+            PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC, PRESOBJ_GRAPHIC )
     };
 
     if( (eLayout < AUTOLAYOUT__START) || (eLayout >= AUTOLAYOUT__END) )
@@ -1306,6 +1312,32 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe
         rRectangle[0].SetPos( aTitlePos);
         break;
     }
+    case 11: // title, 6 shapes
+    {
+        ULONG nX = long (aLayoutPos.X());
+
+        aLayoutSize.Height() = long (aLayoutSize.Height() * 0.477);
+        aLayoutSize.Width()  = long (aLayoutSize.Width() * 0.322);
+        rRectangle[1] = Rectangle (aLayoutPos, aLayoutSize);
+
+        aLayoutPos.X() = long (nX + aLayoutSize.Width() * 1.05);
+        rRectangle[2] = Rectangle (aLayoutPos, aLayoutSize);
+
+        aLayoutPos.X() = long (nX + aLayoutSize.Width() * 2 * 1.05);
+        rRectangle[3] = Rectangle (aLayoutPos, aLayoutSize);
+
+        aLayoutPos.Y() = long (aLayoutPos.Y() + aLayoutSize.Height() * 1.095);
+        rRectangle[4] = Rectangle (aLayoutPos, aLayoutSize);
+
+        aLayoutPos.X() = long (nX + aLayoutSize.Width() * 1.05);
+        rRectangle[5] = Rectangle (aLayoutPos, aLayoutSize);
+
+        aLayoutPos.X() = nX;
+        rRectangle[6] = Rectangle (aLayoutPos, aLayoutSize);
+
+        break;
+    }    
+
     }
 }
 
@@ -2753,7 +2785,9 @@ SdPage* SdPage::getImplementation( const ::com::sun::star::uno::Reference< ::com
 
 void SdPage::SetName (const String& rName)
 {
+    String aOldName = GetName();
     FmFormPage::SetName (rName);
+    static_cast<SdDrawDocument*>(pModel)->UpdatePageRelativeURLs(aOldName, rName);
     ActionChanged();
 }
 
diff --git a/sd/source/filter/eppt/epptso.cxx b/sd/source/filter/eppt/epptso.cxx
index 7c60464..46ca7e8 100644
--- a/sd/source/filter/eppt/epptso.cxx
+++ b/sd/source/filter/eppt/epptso.cxx
@@ -4889,8 +4889,8 @@ void PPTWriter::ImplWritePage( const PHLayout& rLayout, EscherSolverContainer& a
                                 *mpStrm << (sal_uInt32)( mnTextSize + 1 ) << (sal_uInt32)1 << (sal_uInt16)0;
                                 mpPptEscherEx->CloseContainer();    // ESCHER_ClientTextBox
                                 mpPptEscherEx->CloseContainer();    // ESCHER_SpContainer
-                                continue;
                             }
+                            continue;
                         }
                         else
                         {
diff --git a/sd/source/filter/html/htmlex.cxx b/sd/source/filter/html/htmlex.cxx
index 6005c8e..9c9e4d6 100644
--- a/sd/source/filter/html/htmlex.cxx
+++ b/sd/source/filter/html/htmlex.cxx
@@ -1773,13 +1773,13 @@ bool HtmlExport::CreateHtmlForPresPages()
                         case presentation::ClickAction_BOOKMARK:
                         {
                             BOOL		bIsMasterPage;
-                            USHORT      nPgNum = mpDoc->GetPageByName( pInfo->maBookmark, bIsMasterPage );
+                            USHORT      nPgNum = mpDoc->GetPageByName( pInfo->GetBookmark(), bIsMasterPage );
                             SdrObject*  pObj = NULL;
 
                             if( nPgNum == SDRPAGE_NOTFOUND )
                             {
                                 // Ist das Bookmark ein Objekt?
-                                pObj = mpDoc->GetObj(pInfo->maBookmark);
+                                pObj = mpDoc->GetObj(pInfo->GetBookmark());
                                 if (pObj)
                                     nPgNum = pObj->GetPage()->GetPageNum();
                             }
@@ -1790,7 +1790,7 @@ bool HtmlExport::CreateHtmlForPresPages()
                         break;
 
                         case presentation::ClickAction_DOCUMENT:
-                            aHRef = pInfo->maBookmark;
+                            aHRef = pInfo->GetBookmark();
                         break;
 
                         case presentation::ClickAction_PREVPAGE:
diff --git a/sd/source/filter/pptin.cxx b/sd/source/filter/pptin.cxx
index 85739a3..2b4f8b7 100644
--- a/sd/source/filter/pptin.cxx
+++ b/sd/source/filter/pptin.cxx
@@ -236,7 +236,7 @@ ImplSdPPTImport::ImplSdPPTImport( SdDrawDocument* pDocument, SvStorage& rStorage
 
         InitSvxMSDffManager( nDggContainerOfs, pStData, nSvxMSDffOLEConvFlags2 );
         SetSvxMSDffSettings( SVXMSDFF_SETTINGS_CROP_BITMAPS
-            | SVXMSDFF_SETTINGS_IMPORT_IAS | SVXMSDFF_SETTINGS_IMPORT_PPT );
+            | SVXMSDFF_SETTINGS_IMPORT_PPT );
         SetModel( mpDoc, 576 );
     }
 }
@@ -2099,7 +2099,7 @@ void ImplSdPPTImport::FillSdAnimationInfo( SdAnimationInfo* pInfo, PptInteractiv
     // Lokale Informationen in pInfo eintragen
     if( pIAtom->nSoundRef )
     {
-        pInfo->maBookmark = ReadSound( pIAtom->nSoundRef );	// Pfad zum Soundfile in MSDOS-Notation
+        pInfo->SetBookmark( ReadSound( pIAtom->nSoundRef ) );	// Pfad zum Soundfile in MSDOS-Notation
         pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_SOUND;			// RunProgramAction
     }
 //	if ( nFlags & 0x01 )	// koennen wir nicht ( beim Anklicken markieren )
@@ -2117,7 +2117,7 @@ void ImplSdPPTImport::FillSdAnimationInfo( SdAnimationInfo* pInfo, PptInteractiv
         case 0x02 : 										// RunProgramAction
         {
             pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_PROGRAM;
-            pInfo->maBookmark = aMacroName;					// Programmname in aBookmark
+            pInfo->SetBookmark( aMacroName );					// Programmname in aBookmark
         }
         break;
         case 0x03 : 										// JumpAction
@@ -2187,8 +2187,8 @@ void ImplSdPPTImport::FillSdAnimationInfo( SdAnimationInfo* pInfo, PptInteractiv
                     {
                         if ( pPtr->aConvSubString.Len() )
                         {
-                            pInfo->maBookmark = pPtr->aConvSubString;
                             pInfo->meClickAction = ::com::sun::star::presentation::ClickAction_BOOKMARK;
+                            pInfo->SetBookmark( pPtr->aConvSubString );
                         }
                     }
                     break;
diff --git a/sd/source/filter/sdpptwrp.cxx b/sd/source/filter/sdpptwrp.cxx
index 49e6de1..262a904 100644
--- a/sd/source/filter/sdpptwrp.cxx
+++ b/sd/source/filter/sdpptwrp.cxx
@@ -107,18 +107,20 @@ sal_Bool SdPPTFilter::Import()
             aPropValue.Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DocumentURL" ) );
             aConfigData[ 0 ] = aPropValue;
 
-            MSFilterTracer aTracer( aTraceConfigPath, &aConfigData );
-            aTracer.StartTracing();
-            SdPPTImport* pImport = new SdPPTImport( &mrDocument, *pDocStream, *pStorage, mrMedium, &aTracer );
-            if ( ( bRet = pImport->Import() ) == sal_False )
+            if ( pStorage->IsStream( String( RTL_CONSTASCII_USTRINGPARAM("EncryptedSummary") ) ) )
+                mrMedium.SetError( ERRCODE_SVX_READ_FILTER_PPOINT );
+            else
             {
-                if ( pStorage->IsStream( String( RTL_CONSTASCII_USTRINGPARAM("EncryptedSummary") ) ) )
-                    mrMedium.SetError( ERRCODE_SVX_READ_FILTER_PPOINT );
-                else
+                MSFilterTracer aTracer( aTraceConfigPath, &aConfigData );
+                aTracer.StartTracing();
+
+                SdPPTImport* pImport = new SdPPTImport( &mrDocument, *pDocStream, *pStorage, mrMedium, &aTracer );
+                if ( ( bRet = pImport->Import() ) == sal_False )
                     mrMedium.SetError( SVSTREAM_WRONGVERSION );
+
+                aTracer.EndTracing();
+                delete pImport;
             }
-            aTracer.EndTracing();
-            delete pImport;
             delete pDocStream;
         }
     }
diff --git a/sd/source/ui/accessibility/AccessibleOutlineEditSource.cxx b/sd/source/ui/accessibility/AccessibleOutlineEditSource.cxx
index 07a3643..d24d687 100644
--- a/sd/source/ui/accessibility/AccessibleOutlineEditSource.cxx
+++ b/sd/source/ui/accessibility/AccessibleOutlineEditSource.cxx
@@ -56,6 +56,7 @@ namespace accessibility
     {       
         // register as listener - need to broadcast state change messages
         rOutliner.SetNotifyHdl( LINK(this, AccessibleOutlineEditSource, NotifyHdl) );
+        StartListening(rOutliner);
     }
 
     AccessibleOutlineEditSource::~AccessibleOutlineEditSource()
@@ -177,13 +178,32 @@ namespace accessibility
         return Point();
     }
 
-    void AccessibleOutlineEditSource::Notify( SfxBroadcaster&, const SfxHint& rHint )
+    void AccessibleOutlineEditSource::Notify( SfxBroadcaster& rBroadcaster, const SfxHint& rHint )
     {
-        const SdrHint* pSdrHint = dynamic_cast< const SdrHint* >( &rHint );
+        bool bDispose = false;
 
-        if( pSdrHint && ( pSdrHint->GetKind() == HINT_MODELCLEARED ) )
+        if( &rBroadcaster == mpOutliner )
+        {
+            const SfxSimpleHint* pHint = dynamic_cast< const SfxSimpleHint * >( &rHint );
+            if( pHint && (pHint->GetId() == SFX_HINT_DYING) )
+            {
+                bDispose = true;
+                mpOutliner = NULL;
+            }
+        }
+        else
+        {
+            const SdrHint* pSdrHint = dynamic_cast< const SdrHint* >( &rHint );
+
+            if( pSdrHint && ( pSdrHint->GetKind() == HINT_MODELCLEARED ) )
+            {
+                // model is dying under us, going defunc
+                bDispose = true;
+            }
+        }
+
+        if( bDispose )
         {
-            // model is dying under us, going defunc
             if( mpOutliner )
                 mpOutliner->SetNotifyHdl( Link() );
             mpOutliner = NULL;
diff --git a/sd/source/ui/app/res_bmp.src b/sd/source/ui/app/res_bmp.src
index e10befc..2010f95 100644
--- a/sd/source/ui/app/res_bmp.src
+++ b/sd/source/ui/app/res_bmp.src
@@ -237,6 +237,22 @@ Bitmap BMP_FOIL_25_H
 {
     File = "foil25_h.bmp" ;
 };
+Bitmap BMP_FOIL_26
+{
+    File = "foil26.bmp" ;
+};
+Bitmap BMP_FOIL_26_H
+{
+    File = "foil26_h.bmp" ;
+};
+Bitmap BMP_FOIL_27
+{
+    File = "foil27.bmp" ;
+};
+Bitmap BMP_FOIL_27_H
+{
+    File = "foil27_h.bmp" ;
+};
 Bitmap BMP_FOILH_01
 {
     File = "foilh01.bmp" ;
diff --git a/sd/source/ui/app/strings.src b/sd/source/ui/app/strings.src
index c3aac81..7568e0a 100644
--- a/sd/source/ui/app/strings.src
+++ b/sd/source/ui/app/strings.src
@@ -253,6 +253,10 @@ String STR_AUTOLAYOUT_4OBJ
 {
     Text [ en-US ] = "Title, 4 Objects" ;
 };
+String STR_AUTOLAYOUT_4CLIPART
+{
+    Text [ en-US ] = "Title, 4 Cliparts" ;
+};
 String STR_AL_TITLE_VERT_OUTLINE
 {
     Text [ en-US ] = "Title, Vertical Text" ;
@@ -269,6 +273,10 @@ String STR_AL_VERT_TITLE_VERT_OUTLINE
 {
     Text [ en-US ] = "Vertical Title, Vertical Text" ;
 };
+String STR_AUTOLAYOUT_6CLIPART
+{
+    Text [ en-US ] = "Title, 6 Cliparts" ;
+};
 
 String STR_AUTOLAYOUT_HANDOUT1
 {
diff --git a/sd/source/ui/func/fudraw.cxx b/sd/source/ui/func/fudraw.cxx
index 2fb8fd5..89197b3 100644
--- a/sd/source/ui/func/fudraw.cxx
+++ b/sd/source/ui/func/fudraw.cxx
@@ -1006,7 +1006,7 @@ BOOL FuDraw::SetHelpText(SdrObject* pObj, const Point& rPosPixel, const SdrViewE
                 // jump to object/page
                 aHelpText = String(SdResId(STR_CLICK_ACTION_BOOKMARK));
                 aHelpText.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
-                aHelpText.Append( String(INetURLObject::decode( pInfo->maBookmark, '%', INetURLObject::DECODE_WITH_CHARSET ) ));
+                aHelpText.Append( String(INetURLObject::decode( pInfo->GetBookmark(), '%', INetURLObject::DECODE_WITH_CHARSET ) ));
             }
             break;
 
@@ -1015,7 +1015,7 @@ BOOL FuDraw::SetHelpText(SdrObject* pObj, const Point& rPosPixel, const SdrViewE
                 // jump to document (object/page)
                 aHelpText = String(SdResId(STR_CLICK_ACTION_DOCUMENT));
                 aHelpText.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
-                aHelpText.Append( String(INetURLObject::decode( pInfo->maBookmark, '%', INetURLObject::DECODE_WITH_CHARSET ) ));
+                aHelpText.Append( String(INetURLObject::decode( pInfo->GetBookmark(), '%', INetURLObject::DECODE_WITH_CHARSET ) ));
             }
             break;
 
@@ -1024,7 +1024,7 @@ BOOL FuDraw::SetHelpText(SdrObject* pObj, const Point& rPosPixel, const SdrViewE
                 // execute program
                 aHelpText = String(SdResId(STR_CLICK_ACTION_PROGRAM));
                 aHelpText.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
-                aHelpText.Append( String(INetURLObject::decode( pInfo->maBookmark, '%', INetURLObject::DECODE_WITH_CHARSET ) ));
+                aHelpText.Append( String(INetURLObject::decode( pInfo->GetBookmark(), '%', INetURLObject::DECODE_WITH_CHARSET ) ));
             }
             break;
 
@@ -1034,18 +1034,19 @@ BOOL FuDraw::SetHelpText(SdrObject* pObj, const Point& rPosPixel, const SdrViewE
                 aHelpText = String(SdResId(STR_CLICK_ACTION_MACRO));
                 aHelpText.AppendAscii( RTL_CONSTASCII_STRINGPARAM( ": " ) );
 
-                if ( SfxApplication::IsXScriptURL( pInfo->maBookmark ) )
+                if ( SfxApplication::IsXScriptURL( pInfo->GetBookmark() ) )
                 {
-                    aHelpText.Append( pInfo->maBookmark );
+                    aHelpText.Append( pInfo->GetBookmark() );
                 }
                 else
                 {
+                    String sBookmark( pInfo->GetBookmark() );
                     sal_Unicode cToken = '.';
-                    aHelpText.Append( pInfo->maBookmark.GetToken( 2, cToken ) );
+                    aHelpText.Append( sBookmark.GetToken( 2, cToken ) );
                     aHelpText.Append( cToken );
-                    aHelpText.Append( pInfo->maBookmark.GetToken( 1, cToken ) );
+                    aHelpText.Append( sBookmark.GetToken( 1, cToken ) );
                     aHelpText.Append( cToken );
-                    aHelpText.Append(  pInfo->maBookmark.GetToken( 0, cToken ) );
+                    aHelpText.Append( sBookmark.GetToken( 0, cToken ) );
                 }
             }
             break;
diff --git a/sd/source/ui/func/fuoaprms.cxx b/sd/source/ui/func/fuoaprms.cxx
index a80938b..db75507 100644
--- a/sd/source/ui/func/fuoaprms.cxx
+++ b/sd/source/ui/func/fuoaprms.cxx
@@ -186,7 +186,7 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& rReq )
         eClickAction        = pInfo->meClickAction;
         nClickActionSet     = ATTR_SET;
 
-        aBookmark           = pInfo->maBookmark;
+        aBookmark           = pInfo->GetBookmark();
         nBookmarkSet        = ATTR_SET;
 
         eSecondEffect       = pInfo->meSecondEffect;
@@ -243,7 +243,7 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& rReq )
             if( eClickAction != pInfo->meClickAction )
                 nClickActionSet = ATTR_MIXED;
 
-            if( aBookmark != pInfo->maBookmark )
+            if( aBookmark != pInfo->GetBookmark() )
                 nBookmarkSet = ATTR_MIXED;
 
             if( eSecondEffect != pInfo->meSecondEffect )
@@ -353,7 +353,7 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& rReq )
             aSound          = pInfo->maSoundFile;       nSoundFileSet       = ATTR_SET;
             bPlayFull       = pInfo->mbPlayFull;        nPlayFullSet        = ATTR_SET;
             eClickAction    = pInfo->meClickAction;     nClickActionSet     = ATTR_SET;
-            aBookmark       = pInfo->maBookmark;        nBookmarkSet        = ATTR_SET;
+            aBookmark       = pInfo->GetBookmark();     nBookmarkSet        = ATTR_SET;
             eSecondEffect   = pInfo->meSecondEffect;    nSecondEffectSet    = ATTR_SET;
             eSecondSpeed    = pInfo->meSecondSpeed;     nSecondSpeedSet     = ATTR_SET;
             bSecondSoundOn  = pInfo->mbSecondSoundOn;   nSecondSoundOnSet   = ATTR_SET;
@@ -733,7 +733,7 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& rReq )
                 pAction->SetPlayFull(pInfo->mbPlayFull, pInfo->mbPlayFull);
 //				pAction->SetPathObj(pInfo->mpPathObj, pInfo->mpPathObj);
                 pAction->SetClickAction(pInfo->meClickAction, pInfo->meClickAction);
-                pAction->SetBookmark(pInfo->maBookmark, pInfo->maBookmark);
+                pAction->SetBookmark(pInfo->GetBookmark(), pInfo->GetBookmark());
 //				pAction->SetInvisibleInPres(pInfo->mbInvisibleInPresentation, TRUE);
                 pAction->SetVerb(pInfo->mnVerb, pInfo->mnVerb);
                 pAction->SetSecondEffect(pInfo->meSecondEffect, pInfo->meSecondEffect);
@@ -762,10 +762,10 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& rReq )
                 pAction->SetPlayFull(pInfo->mbPlayFull, bPlayFull);
                 pAction->SetPathObj(pInfo->mpPathObj, pPath);
                 pAction->SetClickAction(pInfo->meClickAction, eClickAction);
-                pAction->SetBookmark(pInfo->maBookmark, aBookmark);
+                pAction->SetBookmark(pInfo->GetBookmark(), aBookmark);
 //				pAction->SetInvisibleInPres(pInfo->mbInvisibleInPresentation,
 //											pInfo->mbInvisibleInPresentation);
-                pAction->SetVerb(pInfo->mnVerb, (USHORT)pInfo->maBookmark.ToInt32() );
+                pAction->SetVerb(pInfo->mnVerb, (USHORT)pInfo->GetBookmark().ToInt32() );
                 pAction->SetSecondEffect(pInfo->meSecondEffect, eSecondEffect);
                 pAction->SetSecondSpeed(pInfo->meSecondSpeed, eSecondSpeed);
                 pAction->SetSecondSoundOn(pInfo->mbSecondSoundOn, bSecondSoundOn);
@@ -807,7 +807,7 @@ void FuObjectAnimationParameters::DoExecute( SfxRequest& rReq )
                     pInfo->meClickAction = eClickAction;
 
                 if (nBookmarkSet == ATTR_SET)
-                    pInfo->maBookmark = aBookmark;
+                    pInfo->SetBookmark( aBookmark );
 
                 if (nSecondEffectSet == ATTR_SET)
                     pInfo->meSecondEffect = eSecondEffect;
diff --git a/sd/source/ui/func/fusel.cxx b/sd/source/ui/func/fusel.cxx
index 4c8a8d8..67e7437 100644
--- a/sd/source/ui/func/fusel.cxx
+++ b/sd/source/ui/func/fusel.cxx
@@ -1254,7 +1254,7 @@ BOOL FuSelection::AnimateObj(SdrObject* pObj, const Point& rPos)
                 case presentation::ClickAction_BOOKMARK:
                 {
                      // Sprung zu Bookmark (Seite oder Objekt)
-                    SfxStringItem aItem(SID_NAVIGATOR_OBJECT, pInfo->maBookmark);
+                    SfxStringItem aItem(SID_NAVIGATOR_OBJECT, pInfo->GetBookmark());
                     mpViewShell->GetViewFrame()->GetDispatcher()->
                     Execute(SID_NAVIGATOR_OBJECT, SFX_CALLMODE_SLOT | SFX_CALLMODE_RECORD, &aItem, 0L);
                     bAnimated = TRUE;
@@ -1263,11 +1263,12 @@ BOOL FuSelection::AnimateObj(SdrObject* pObj, const Point& rPos)
 
                 case presentation::ClickAction_DOCUMENT:
                 {
+                    String sBookmark( pInfo->GetBookmark() );
                     // Sprung zu Dokument
-                    if (pInfo->maBookmark.Len())
+                    if (sBookmark.Len())
                     {
                         SfxStringItem aReferer(SID_REFERER, mpDocSh->GetMedium()->GetName());
-                        SfxStringItem aStrItem(SID_FILE_NAME, pInfo->maBookmark);
+                        SfxStringItem aStrItem(SID_FILE_NAME, sBookmark);
                         SfxViewFrame* pFrame = mpViewShell->GetViewFrame();
                         SfxFrameItem aFrameItem(SID_DOCFRAME, pFrame);
                         SfxBoolItem aBrowseItem( SID_BROWSE, TRUE );
@@ -1328,7 +1329,7 @@ BOOL FuSelection::AnimateObj(SdrObject* pObj, const Point& rPos)
                 {
                         try
                         {
-                            mxPlayer.set( avmedia::MediaWindow::createPlayer( pInfo->maBookmark ), uno::UNO_QUERY_THROW );
+                            mxPlayer.set( avmedia::MediaWindow::createPlayer( pInfo->GetBookmark()), uno::UNO_QUERY_THROW );
                             mxPlayer->start();
                         }
                         catch( uno::Exception& e )
@@ -1352,7 +1353,7 @@ BOOL FuSelection::AnimateObj(SdrObject* pObj, const Point& rPos)
                 case presentation::ClickAction_PROGRAM:
                 {
                    String aBaseURL = GetDocSh()->GetMedium()->GetBaseURL();
-                   INetURLObject aURL( ::URIHelper::SmartRel2Abs( INetURLObject(aBaseURL), pInfo->maBookmark,
+                   INetURLObject aURL( ::URIHelper::SmartRel2Abs( INetURLObject(aBaseURL), pInfo->GetBookmark(),
                                                 URIHelper::GetMaybeFileHdl(), true, false,
                                                 INetURLObject::WAS_ENCODED, INetURLObject::DECODE_UNAMBIGUOUS ) );
 
@@ -1377,7 +1378,7 @@ BOOL FuSelection::AnimateObj(SdrObject* pObj, const Point& rPos)
                 case presentation::ClickAction_MACRO:
                 {
                     // Execute makro
-                    String aMacro = pInfo->maBookmark;
+                    String aMacro = pInfo->GetBookmark();
 
                     if ( SfxApplication::IsXScriptURL( aMacro ) )
                     {
diff --git a/sd/source/ui/func/unoaprms.cxx b/sd/source/ui/func/unoaprms.cxx
index aa188c0..2a37319 100644
--- a/sd/source/ui/func/unoaprms.cxx
+++ b/sd/source/ui/func/unoaprms.cxx
@@ -74,7 +74,7 @@ SdAnimationPrmsUndoAction::SdAnimationPrmsUndoAction(
         pNewPathObj 	= pOldPathObj	 = pInfo->mpPathObj;
 
         eNewClickAction		= eOldClickAction	 = pInfo->meClickAction;
-        aNewBookmark		= aOldBookmark 		 = pInfo->maBookmark;
+        aNewBookmark		= aOldBookmark 		 = pInfo->GetBookmark();
 //		bNewInvisibleInPres	= bOldInvisibleInPres= pInfo->mbInvisibleInPresentation;
         nNewVerb			= nOldVerb			 = pInfo->mnVerb;
         nNewPresOrder		= nOldPresOrder		 = pInfo->mnPresOrder;
@@ -115,7 +115,7 @@ void SdAnimationPrmsUndoAction::Undo()
             pInfo->mbPlayFull    = bOldPlayFull;
 //			pInfo->mSetPath(pOldPathObj);
             pInfo->meClickAction = eOldClickAction;
-            pInfo->maBookmark    = aOldBookmark;
+            pInfo->SetBookmark( aOldBookmark );
 //			pInfo->mbInvisibleInPresentation = bOldInvisibleInPres;
             pInfo->mnVerb        = nOldVerb;
             pInfo->mnPresOrder   = nOldPresOrder;
@@ -161,7 +161,7 @@ void SdAnimationPrmsUndoAction::Redo()
     pInfo->mbPlayFull    = bNewPlayFull;
 //	pInfo->mSetPath(pNewPathObj);
     pInfo->meClickAction = eNewClickAction;
-    pInfo->maBookmark    = aNewBookmark;
+    pInfo->SetBookmark( aNewBookmark );
 //	pInfo->mbInvisibleInPresentation = bNewInvisibleInPres;
     pInfo->mnVerb        = nNewVerb;
     pInfo->mnPresOrder   = nNewPresOrder;
diff --git a/sd/source/ui/inc/res_bmp.hrc b/sd/source/ui/inc/res_bmp.hrc
index 24f32a3..04a25b1 100644
--- a/sd/source/ui/inc/res_bmp.hrc
+++ b/sd/source/ui/inc/res_bmp.hrc
@@ -114,6 +114,8 @@
 #define BMP_COLLAPSE			RID_APP_START+52
 #define BMP_GRAPHIC 			RID_APP_START+53
 
+#define BMP_FOIL_26				RID_APP_START+54
+
 // Bimaps fuer ValueSet im EffekteWindow
 #define BMP_EFFECT_NONE						RID_APP_START+105
 #define BMP_TEXTEFFECT_DISCARD_FROM_T		RID_APP_START+106
@@ -231,6 +233,9 @@
 
 #define BMP_FOILH_09_H						RID_SD_START+333
 #define BMP_FOIL_25_H						RID_SD_START+334
+#define BMP_FOIL_26_H						RID_SD_START+335
+#define BMP_FOIL_27							RID_SD_START+336
+#define BMP_FOIL_27_H						RID_SD_START+337
 
 // -----------------------------------------------------------------------------
 
diff --git a/sd/source/ui/inc/strings.hrc b/sd/source/ui/inc/strings.hrc
index e8be0c3..55cb9c1 100644
--- a/sd/source/ui/inc/strings.hrc
+++ b/sd/source/ui/inc/strings.hrc
@@ -199,9 +199,11 @@
 #define STR_AUTOLAYOUT_NOTES		(RID_APP_START+236)
 #define STR_AUTOLAYOUT_HANDOUT9		(RID_APP_START+237)
 #define STR_AUTOLAYOUT_ONLY_TEXT	(RID_APP_START+238)
-
+#define STR_AUTOLAYOUT_4CLIPART    	(RID_APP_START+239)
 
 #define STR_TRANSFORM				(RID_APP_START+240)
+
+#define STR_AUTOLAYOUT_6CLIPART    	(RID_APP_START+241)
 
 #define STR_EXPORT_HTML_NAME				(RID_APP_START+244)
 #define STR_EXPORT_HTML_FILTER				(RID_APP_START+245)
diff --git a/sd/source/ui/toolpanel/LayoutMenu.cxx b/sd/source/ui/toolpanel/LayoutMenu.cxx
index 52efbcd..d46ff41 100644
--- a/sd/source/ui/toolpanel/LayoutMenu.cxx
+++ b/sd/source/ui/toolpanel/LayoutMenu.cxx
@@ -205,6 +205,9 @@ static snewfoil_value_info standard[] =
      AUTOLAYOUT_TEXTOVEROBJ},
     {BMP_FOIL_18, BMP_FOIL_18_H, STR_AUTOLAYOUT_4OBJ, WritingMode_LR_TB,
      AUTOLAYOUT_4OBJ},
+    {BMP_FOIL_26, BMP_FOIL_26_H, STR_AUTOLAYOUT_4CLIPART, WritingMode_LR_TB, AUTOLAYOUT_4CLIPART},
+    {BMP_FOIL_27, BMP_FOIL_27_H, STR_AUTOLAYOUT_6CLIPART, WritingMode_LR_TB, AUTOLAYOUT_6CLIPART},
+
     // vertical
     {BMP_FOIL_21, BMP_FOIL_21_H, STR_AL_VERT_TITLE_TEXT_CHART, 
      WritingMode_TB_RL, AUTOLAYOUT_VERTICAL_TITLE_TEXT_CHART},
diff --git a/sd/source/ui/unoidl/unoobj.cxx b/sd/source/ui/unoidl/unoobj.cxx
index 7b90f71..5b732af 100644
--- a/sd/source/ui/unoidl/unoobj.cxx
+++ b/sd/source/ui/unoidl/unoobj.cxx
@@ -486,7 +486,7 @@ void SAL_CALL SdXShape::setPropertyValue( const ::rtl::OUString& aPropertyName,
                     if(!(aValue >>= aString))
                         throw lang::IllegalArgumentException();
 
-                    pInfo->maBookmark = SdDrawPage::getUiNameFromPageApiName( aString );
+                    pInfo->SetBookmark( SdDrawPage::getUiNameFromPageApiName( aString ) );
                     break;
                 }
                 case WID_CLICKACTION:
@@ -726,13 +726,13 @@ void SAL_CALL SdXShape::setPropertyValue( const ::rtl::OUString& aPropertyName,
                 SdDrawDocument* pDoc = mpModel?mpModel->GetDoc():NULL;
                 // is the bookmark a page?
                 BOOL bIsMasterPage;
-                if(pDoc->GetPageByName( pInfo->maBookmark, bIsMasterPage ) != SDRPAGE_NOTFOUND)
+                if(pDoc->GetPageByName( pInfo->GetBookmark(), bIsMasterPage ) != SDRPAGE_NOTFOUND)
                 {
-                    aString = SdDrawPage::getPageApiNameFromUiName( pInfo->maBookmark );
+                    aString = SdDrawPage::getPageApiNameFromUiName( pInfo->GetBookmark() );
                 }
                 else
                 {
-                    aString = pInfo->maBookmark ;
+                    aString = pInfo->GetBookmark() ;
                     sal_Int32 nPos = aString.lastIndexOf( sal_Unicode('#') );
                     if( nPos >= 0 )
                     {
@@ -1160,7 +1160,7 @@ SdUnoEventsAccess::SdUnoEventsAccess( SdXShape* pShape ) throw()
 static void clearEventsInAnimationInfo( SdAnimationInfo* pInfo )
 {
     const String aEmpty;
-    pInfo->maBookmark = aEmpty;
+    pInfo->SetBookmark( aEmpty );
     pInfo->mbSecondSoundOn = sal_False;
     pInfo->mbSecondPlayFull = sal_False;
     pInfo->meClickAction = presentation::ClickAction_NONE;
@@ -1344,7 +1344,7 @@ void SAL_CALL SdUnoEventsAccess::replaceByName( const OUString& aName, const uno
                         }
                     }
 
-                    pInfo->maBookmark = aStrBookmark;
+                    pInfo->SetBookmark( aStrBookmark );
                     bOk = sal_True;
                 }
                 break;
@@ -1352,7 +1352,7 @@ void SAL_CALL SdUnoEventsAccess::replaceByName( const OUString& aName, const uno
             case presentation::ClickAction_MACRO:
                 if( nFound & FOUND_MACRO )
                 {
-                    pInfo->maBookmark = aStrMacro;
+                    pInfo->SetBookmark( aStrMacro );
                     bOk = sal_True;
                 }
                 break;
@@ -1379,7 +1379,7 @@ void SAL_CALL SdUnoEventsAccess::replaceByName( const OUString& aName, const uno
             case presentation::ClickAction_SOUND:
                 if( nFound & FOUND_SOUNDURL )
                 {
-                    pInfo->maBookmark = aStrSoundURL;
+                    pInfo->SetBookmark( aStrSoundURL );
                     if( eClickAction != presentation::ClickAction_SOUND )
                         pInfo->mbSecondSoundOn = aStrSoundURL.getLength() != 0;
                     pInfo->mbSecondPlayFull = nFound & FOUND_PLAYFULL ? bPlayFull : sal_False;
@@ -1404,7 +1404,7 @@ void SAL_CALL SdUnoEventsAccess::replaceByName( const OUString& aName, const uno
 
             if ( SfxApplication::IsXScriptURL( aStrMacro ) )
             {
-                pInfo->maBookmark = aStrMacro;
+                pInfo->SetBookmark( aStrMacro );
             }
             else
             {
@@ -1431,7 +1431,7 @@ void SAL_CALL SdUnoEventsAccess::replaceByName( const OUString& aName, const uno
                     sBuffer.append( aStrLibrary );
                 }
             
-                pInfo->maBookmark = sBuffer.makeStringAndClear();
+                pInfo->SetBookmark( sBuffer.makeStringAndClear() );
             }
             bOk = sal_True;
         }
@@ -1471,7 +1471,7 @@ uno::Any SAL_CALL SdUnoEventsAccess::getByName( const OUString& aName )
     case presentation::ClickAction_BOOKMARK:
     case presentation::ClickAction_DOCUMENT:
     case presentation::ClickAction_MACRO:
-        if ( !SfxApplication::IsXScriptURL( pInfo->maBookmark ) )
+        if ( !SfxApplication::IsXScriptURL( pInfo->GetBookmark() ) )
             nPropertyCount += 1;
         break;
 
@@ -1493,7 +1493,7 @@ uno::Any SAL_CALL SdUnoEventsAccess::getByName( const OUString& aName )
 
     if( eClickAction == presentation::ClickAction_MACRO )
     {
-        if ( SfxApplication::IsXScriptURL( pInfo->maBookmark ) )
+        if ( SfxApplication::IsXScriptURL( pInfo->GetBookmark() ) )
         {
             // Scripting Framework URL
             aAny <<= maStrScript;;
@@ -1503,7 +1503,7 @@ uno::Any SAL_CALL SdUnoEventsAccess::getByName( const OUString& aName )
             pProperties->State = beans::PropertyState_DIRECT_VALUE;
             pProperties++;
 
-            aAny <<= OUString( pInfo->maBookmark );
+            aAny <<= OUString( pInfo->GetBookmark() );
             pProperties->Name = maStrScript;
             pProperties->Handle = -1;
             pProperties->Value = aAny;
@@ -1520,7 +1520,7 @@ uno::Any SAL_CALL SdUnoEventsAccess::getByName( const OUString& aName )
             pProperties->State = beans::PropertyState_DIRECT_VALUE;
             pProperties++;
 
-            String aMacro = pInfo->maBookmark;
+            String aMacro = pInfo->GetBookmark();
 
             // aMacro has got following format:
             // "Macroname.Modulname.Libname.Documentname" or
@@ -1579,7 +1579,7 @@ uno::Any SAL_CALL SdUnoEventsAccess::getByName( const OUString& aName )
             break;
         case presentation::ClickAction_BOOKMARK:
             {
-                const OUString aStrBookmark( getPageApiNameFromUiName( pInfo->maBookmark ) );
+                const OUString aStrBookmark( getPageApiNameFromUiName( pInfo->GetBookmark()) );
                 pProperties->Name = maStrBookmark;
                 pProperties->Handle = -1;
                 pProperties->Value <<= aStrBookmark;
@@ -1590,7 +1590,7 @@ uno::Any SAL_CALL SdUnoEventsAccess::getByName( const OUString& aName )
         case presentation::ClickAction_DOCUMENT:
         case presentation::ClickAction_PROGRAM:
             {
-                OUString aString( pInfo->maBookmark );
+                OUString aString( pInfo->GetBookmark());
                 sal_Int32 nPos = aString.lastIndexOf( sal_Unicode('#') );
                 if( nPos >= 0 )
                 {
@@ -1625,7 +1625,7 @@ uno::Any SAL_CALL SdUnoEventsAccess::getByName( const OUString& aName )
         case presentation::ClickAction_SOUND:
             if( eClickAction == presentation::ClickAction_SOUND || pInfo->mbSecondSoundOn )
             {
-                aAny <<= OUString( pInfo->maBookmark );
+                aAny <<= OUString( pInfo->GetBookmark());
                 pProperties->Name = maStrSoundURL;
                 pProperties->Handle = -1;
                 pProperties->Value = aAny;
diff --git a/sd/source/ui/view/drtxtob1.cxx b/sd/source/ui/view/drtxtob1.cxx
index 74a5c05..a547c87 100644
--- a/sd/source/ui/view/drtxtob1.cxx
+++ b/sd/source/ui/view/drtxtob1.cxx
@@ -256,6 +256,8 @@ void TextObjectBar::Execute( SfxRequest &rReq )
             {
                 pOLV->AdjustDepth( -1 );
 
+                // Ensure bold/italic etc. icon state updates
+                Invalidate();
                 // #96551# trigger preview refresh
                 mpViewShell->GetViewFrame()->GetBindings().Invalidate( SID_PREVIEW_STATE, TRUE, FALSE );
             }
@@ -269,6 +271,8 @@ void TextObjectBar::Execute( SfxRequest &rReq )
             {
                 pOLV->AdjustDepth( 1 );
 
+                // Ensure bold/italic etc. icon state updates
+                Invalidate();
                 // #96551# trigger preview refresh
                 mpViewShell->GetViewFrame()->GetBindings().Invalidate( SID_PREVIEW_STATE, TRUE, FALSE );
             }
diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
index 76348e6..34f4c2e 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -1552,7 +1552,7 @@ void DrawViewShell::InsertURLButton(const String& rURL, const String& rText,
 
                 SdAnimationInfo* pInfo = SdDrawDocument::GetShapeUserData(*pMarkedObj, true);
                 pInfo->meClickAction = presentation::ClickAction_DOCUMENT;
-                pInfo->maBookmark = sTargetURL;
+                pInfo->SetBookmark( sTargetURL );
             }
         }
         catch( uno::Exception& )
diff --git a/sd/source/ui/view/drviewsf.cxx b/sd/source/ui/view/drviewsf.cxx
index e8993e1..8e1a0b5 100644
--- a/sd/source/ui/view/drviewsf.cxx
+++ b/sd/source/ui/view/drviewsf.cxx
@@ -195,7 +195,7 @@ void DrawViewShell::GetCtrlState(SfxItemSet &rSet)
                 {
                     SdAnimationInfo* pInfo = SdDrawDocument::GetShapeUserData(*pMarkedObj);
                     if( pInfo && (pInfo->meClickAction == presentation::ClickAction_DOCUMENT) )
-                        aHLinkItem.SetURL( pInfo->maBookmark );
+                        aHLinkItem.SetURL( pInfo->GetBookmark());
                     aHLinkItem.SetInsertMode(HLINK_BUTTON);
                 }
             }
diff --git a/sd/source/ui/view/sdview2.cxx b/sd/source/ui/view/sdview2.cxx
index 0a1901b..2e1f719 100644
--- a/sd/source/ui/view/sdview2.cxx
+++ b/sd/source/ui/view/sdview2.cxx
@@ -839,7 +839,7 @@ sal_Int8 View::ExecuteDrop( const ExecuteDropEvent& rEvt, DropTargetHelper& rTar
                                 pAction->SetPlayFull(pInfo->mbPlayFull, pInfo->mbPlayFull);
                                 pAction->SetPathObj(pInfo->mpPathObj, pInfo->mpPathObj);
                                 pAction->SetClickAction(pInfo->meClickAction, eClickAction);
-                                pAction->SetBookmark(pInfo->maBookmark, aBookmark);
+                                pAction->SetBookmark(pInfo->GetBookmark(), aBookmark);
 //								pAction->SetInvisibleInPres(pInfo->mbInvisibleInPresentation, TRUE);
                                 pAction->SetVerb(pInfo->mnVerb, pInfo->mnVerb);
                                 pAction->SetSecondEffect(pInfo->meSecondEffect, pInfo->meSecondEffect);
@@ -851,7 +851,7 @@ sal_Int8 View::ExecuteDrop( const ExecuteDropEvent& rEvt, DropTargetHelper& rTar
                                 pAction->SetComment(aString);
                                 mpDocSh->GetUndoManager()->AddUndoAction(pAction);
                                 pInfo->meClickAction = eClickAction;
-                                pInfo->maBookmark = aBookmark;
+                                pInfo->SetBookmark( aBookmark );
                                 mpDoc->SetChanged();
 
                                 nRet = nDropAction;
commit 0fc3b062f33d225e9600fbee58467d40b1fd294d
Author: Jens-Heiner Rechtien <hr at openoffice.org>
Date:   Mon May 18 12:01:49 2009 +0000

    CWS-TOOLING: integrate CWS cairocanvastext01
    2009-05-12 07:10:00 +0200 mox  r271795 : Rename ::GetLayoutData() to ::GetSysTextLayoutData() to avoid build
    breakage in sc module.
    2009-05-11 23:40:57 +0200 mox  r271794 : merge fixes (again). These files should have been removed by the rebase.
    2009-05-11 20:17:44 +0200 mox  r271791 : fix build breakage on UNX
    2009-05-11 16:53:15 +0200 mox  r271779 : Documentation fix
    2009-05-11 16:49:16 +0200 mox  r271778 : merge fixes
    2009-05-11 14:10:36 +0200 mox  r271769 : CWS-TOOLING: rebase CWS cairocanvastext01 to trunk at 271427 (milestone: DEV300:m47)
    2009-05-11 10:55:11 +0200 mox  r271760 : merge fixes
    2009-05-11 10:49:44 +0200 mox  r271759 : manual merge to DEV300_m47
    2009-05-11 10:42:11 +0200 mox  r271758 : merge fixes
    2009-05-11 10:29:16 +0200 mox  r271757 : Manual merge to DEV300_m47
    2009-05-11 10:21:13 +0200 mox  r271756 : manual merge to DEV300_m47
    2009-05-11 10:10:29 +0200 mox  r271755 : manual merge to DEV300_m47
    2009-05-11 10:01:33 +0200 mox  r271754 : Manual merge to DEV300_m47
    2009-05-11 09:59:30 +0200 mox  r271753 : manual merge to DEV300_m47
    2009-05-11 09:57:33 +0200 mox  r271752 : merge fixes
    2009-05-11 09:56:05 +0200 mox  r271751 : merge fixes
    2009-05-11 09:53:26 +0200 mox  r271749 : Manual merge to DEV300_m47
    2009-05-11 09:49:34 +0200 mox  r271748 : manual merge to DEV300_m47
    2009-05-11 09:43:20 +0200 mox  r271747 : manual merge to DEV300_m47
    2009-05-11 09:30:10 +0200 mox  r271745 : Manual merge to DEV300_m47
    2009-05-11 09:28:59 +0200 mox  r271744 : manual merge to DEV300_m47
    2009-05-11 09:24:49 +0200 mox  r271743 : Fix to merge
    2009-05-11 09:21:55 +0200 mox  r271742 : Manual merge to DEV300_m47
    2009-05-11 09:18:13 +0200 mox  r271741 : merge fixes
    2009-05-11 09:00:50 +0200 mox  r271739 : Manual merge to DEV300_m47
    2009-05-09 13:26:10 +0200 mox  r271734 : cleanup
    2009-05-09 13:17:22 +0200 mox  r271733 : WNT build fixes
    2009-05-09 09:23:59 +0200 mox  r271732 : Implement proper cross-platform font width calculation
    Implement faux bold support
    2009-02-21 19:47:08 +0100 mox  r268339 : CWS-TOOLING: rebase CWS cairocanvastext01 to trunk at 267171 (milestone: DEV300:m41)
    2009-01-19 21:51:21 +0100 mox  r266530 : Fix compilation on win32
    2009-01-19 21:37:20 +0100 mox  r266529 : Fix typo
    2009-01-19 21:35:28 +0100 mox  r266528 : Better debug
    2009-01-19 21:13:30 +0100 mox  r266527 : Win32 fixes for proper text rendering
    2009-01-19 21:12:56 +0100 mox  r266526 : Win32 fixes for proper text rendering
    2008-12-27 13:04:05 +0100 mox  r265814 : configure fixes
    2008-12-27 11:37:00 +0100 mox  r265813 : x86_64 works only with system-cairo
    2008-12-26 20:02:32 +0100 mox  r265809 : Use the fix for 64bit builds
    2008-12-25 16:58:11 +0100 mox  r265802 : Fix build breaker on WNT
    2008-12-24 23:04:58 +0100 mox  r265801 : Unbreak build after rebase.
    2008-12-23 18:52:32 +0100 mox  r265790 : CWS-TOOLING: rebase CWS cairocanvastext01 to trunk at 265758 (milestone: DEV300:m38)
    2008-12-23 18:23:09 +0100 mox  r265789 : Fix the fix
    2008-12-23 18:21:27 +0100 mox  r265788 : Fix OS2 stuff
    2008-12-11 19:50:40 +0100 mox  r265354 : Fix build breaker on Mac
    2008-12-09 22:00:53 +0100 mox  r265139 : CWS-TOOLING: rebase CWS cairocanvastext01 to trunk at 264807 (milestone: DEV300:m37)
    2008-12-08 23:02:32 +0100 thb  r265052 : Removed outdated parts from readme
    2008-12-08 22:26:54 +0100 mox  r265051 : cleanup
    2008-12-07 19:55:31 +0100 mox  r264967 : Fix for non-intel processors.
    2008-12-07 19:47:11 +0100 mox  r264963 : sysdata fixes
    2008-12-07 19:23:27 +0100 mox  r264959 : Sysdata fixes
    2008-12-07 19:01:48 +0100 mox  r264958 : Fix sysdata usage
    2008-12-07 11:41:33 +0100 mox  r264951 : sysdata fixes
    2008-12-07 11:38:32 +0100 mox  r264950 : sysdata fixes
    2008-12-06 23:15:06 +0100 mox  r264947 : Try to fix error: __sync_val_compare_and_swap_4
    2008-12-06 23:09:30 +0100 mox  r264945 : Revert unnecessary change.
    2008-12-06 23:04:40 +0100 mox  r264944 : Use pre/postx from tools module.
    2008-12-06 22:49:08 +0100 mox  r264943 : Use proper pre/post includes.
    2008-12-06 22:48:03 +0100 mox  r264942 : Use pre/postx from tools module.
    2008-12-06 22:24:10 +0100 mox  r264941 : Fix build breaker.
    2008-12-06 21:55:46 +0100 mox  r264940 : Make pre/postx.h properly available
    2008-12-06 21:54:23 +0100 mox  r264939 : Make pre/postx.h properly available.
    2008-12-06 21:43:09 +0100 mox  r264938 : Try to fix error: __sync_val_compare_and_swap_4
    2008-12-06 21:12:18 +0100 mox  r264937 : Remove obsolete pre-built binaries
    2008-12-06 21:07:40 +0100 mox  r264936 : WNT: do not hardcode pixman version in cairo build
    2008-12-06 19:26:44 +0100 mox  r264934 : Revert pixman upgrade.
    2008-12-06 18:35:14 +0100 mox  r264933 : Fix build breaker
    2008-12-06 18:31:11 +0100 mox  r264932 : Use static pixman lib on unx/32bit to avoid linking problems
    2008-12-06 17:22:52 +0100 mox  r264930 : Update pixman to 0.13.2
    2008-12-06 13:30:41 +0100 mox  r264928 : Fix accidentally changed property
    2008-12-06 13:09:00 +0100 mox  r264927 : Fix accidental prop changes
    2008-12-06 12:40:08 +0100 mox  r264926 : Fix build breaker on Win32
    2008-12-06 12:39:22 +0100 mox  r264925 : Fix build breaker on Win32
    2008-12-06 12:30:23 +0100 mox  r264924 : Fix build breakers on win32
    2008-12-06 11:45:33 +0100 mox  r264923 : revert.
    2008-12-06 11:43:05 +0100 mox  r264922 : Try to fix header include problems on WNT
    2008-12-06 09:57:35 +0100 mox  r264921 : Cleanup accidental props
    2008-11-29 14:43:51 +0100 mox  r264580 : Move headers around to make all platforms compile
    2008-11-29 14:41:59 +0100 mox  r264579 : WaE fixes for X11
    2008-11-29 13:13:49 +0100 mox  r264578 : Fix build breaker on linux
    2008-11-29 12:21:03 +0100 mox  r264577 : Fix build breaker
    2008-11-29 12:13:50 +0100 mox  r264576 : Try to fix build breaker
    2008-11-28 22:51:27 +0100 mox  r264573 : Revert header includes to common style
    2008-11-18 18:59:15 +0100 mox  r263794 : Fix build breaker.
    2008-11-17 20:28:19 +0100 mox  r263740 : Revert most configure hacks
    2008-11-17 20:12:51 +0100 mox  r263739 : CWS-TOOLING: rebase CWS cairocanvastext01 to trunk at 263288 (milestone: DEV300:m35)
    2008-11-14 21:22:22 +0100 mox  r263698 : ZLIB_FIX define set
    2008-11-14 18:48:22 +0100 mox  r263694 : hardcode zlib paths
    2008-11-14 16:23:07 +0100 mox  r263683 : Fix typo
    2008-11-13 20:16:13 +0100 mox  r263662 : WaE fix
    2008-11-13 19:44:29 +0100 mox  r263661 : Properly include zlib headers for win32
    2008-11-12 20:05:51 +0100 mox  r263610 : Add debugging code.
    2008-11-10 19:44:35 +0100 mox  r263537 : Try to fix build breaker
    2008-11-09 22:34:35 +0100 mox  r263504 : Remove accidentally added svn:ignore properties.
    2008-11-09 22:33:21 +0100 mox  r263503 : prop should be actually deleted.
    2008-11-09 22:30:06 +0100 mox  r263502 : props should be empty.
    2008-11-09 22:23:22 +0100 mox  r263501 : Try fix props again...
    2008-11-09 22:11:26 +0100 mox  r263500 : try to fix svn:ignore
    2008-11-09 21:30:01 +0100 mox  r263499 : CWS-TOOLING: rebase CWS cairocanvastext01 to trunk at 262620 (milestone: DEV300:m34)
    2008-11-09 20:30:55 +0100 mox  r263498 : add missing cairo patch
    2008-11-09 10:56:33 +0100 mox  r263494 : Resync cairo module with cws cairosource01
    2008-11-01 09:32:19 +0100 mox  r262870 : CWS-TOOLING: rebase CWS cairocanvastext01 to trunk at 262620 (milestone: DEV300:m34)
    2008-10-26 20:55:48 +0100 mox  r262663 : Fix build breaker
    2008-10-25 13:10:00 +0200 mox  r262662 : CWS rebase to m33
    2008-10-12 19:47:56 +0200 mox  r262170 : Migrate CWS cairocanvastext01 to SVN.

diff --git a/slideshow/source/engine/OGLTrans/OGLTrans_TransitionerImpl.cxx b/slideshow/source/engine/OGLTrans/OGLTrans_TransitionerImpl.cxx
index 6eb22d0..01d513c 100644
--- a/slideshow/source/engine/OGLTrans/OGLTrans_TransitionerImpl.cxx
+++ b/slideshow/source/engine/OGLTrans/OGLTrans_TransitionerImpl.cxx
@@ -55,7 +55,6 @@
 #include <tools/gen.hxx>
 #include <vcl/window.hxx>
 #include <vcl/syschild.hxx>
-#include <vcl/sysdata.hxx>
 
 #include <boost/noncopyable.hpp>
 
@@ -64,10 +63,16 @@
 
 
 #if defined( WNT ) 
+    #include <tools/prewin.h>
+    #include <windows.h>
+    #include <tools/postwin.h>
     #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
     #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF
 #elif defined( OS2 )
 #elif defined( QUARTZ )
+    #include "premac.h"
+    #include <Cocoa/Cocoa.h>
+    #include "postmac.h"
 #elif defined( UNX )
 namespace unx
 {
@@ -77,6 +82,7 @@ namespace unx
 #include <GL/glxext.h>
 }
 #endif
+#include <vcl/sysdata.hxx>
 
 #ifdef DEBUG
 #include <boost/date_time/posix_time/posix_time.hpp>
diff --git a/slideshow/source/engine/OGLTrans/makefile.mk b/slideshow/source/engine/OGLTrans/makefile.mk
index 3e5f818..2062b8c 100644
--- a/slideshow/source/engine/OGLTrans/makefile.mk
+++ b/slideshow/source/engine/OGLTrans/makefile.mk
@@ -33,6 +33,7 @@ PRJ=..$/..$/..
 
 PRJNAME=slideshow
 TARGET=OGLTrans
+TARGETTYPE=GUI
 ENABLE_EXCEPTIONS=TRUE
 
 # --- Settings -----------------------------------------------------------
@@ -58,7 +59,13 @@ DLLPRE=
 SHL1TARGET=$(TARGET).uno
 
 .IF "$(GUI)"=="UNX"
+.IF "$(GUIBASE)"=="aqua"
+    SHL1STDLIBS= $(SALLIB) $(VCLLIB) $(CPPULIB) $(CPPUHELPERLIB) $(COMPHELPERLIB) $(CANVASTOOLSLIB)
+    OBJCXXFLAGS=-x objective-c++ -fobjc-exceptions
+    CFLAGSCXX+=$(OBJCXXFLAGS)
+.ELSE
     SHL1STDLIBS= $(SALLIB) $(VCLLIB) $(CPPULIB) $(CPPUHELPERLIB) $(COMPHELPERLIB) $(CANVASTOOLSLIB) -lGL -lGLU -lX11
+.ENDIF
 .ELSE
     SHL1STDLIBS= $(SALLIB) $(VCLLIB) $(CPPULIB) $(CPPUHELPERLIB) $(COMPHELPERLIB) $(CANVASTOOLSLIB) opengl32.lib glu32.lib gdi32.lib
 .ENDIF


More information about the ooo-build-commit mailing list