summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sd/inc/pres.hxx1
-rw-r--r--sd/sdi/drtxtob.sdi11
-rw-r--r--sd/source/core/sdpage.cxx8
-rw-r--r--sd/source/filter/html/htmlex.cxx48
-rw-r--r--sd/source/filter/html/htmlex.hxx5
-rw-r--r--sd/source/filter/html/pubdlg.cxx20
-rw-r--r--sd/source/filter/html/pubdlg.src6
-rw-r--r--sd/source/ui/app/optsitem.cxx4
-rw-r--r--sd/source/ui/app/res_bmp.src8
-rw-r--r--sd/source/ui/app/strings.src4
-rw-r--r--sd/source/ui/dlg/present.src10
-rw-r--r--sd/source/ui/func/futext.cxx64
-rw-r--r--sd/source/ui/inc/futext.hxx4
-rw-r--r--sd/source/ui/inc/pubdlg.hrc1
-rw-r--r--sd/source/ui/inc/pubdlg.hxx1
-rw-r--r--sd/source/ui/inc/res_bmp.hrc2
-rw-r--r--sd/source/ui/inc/strings.hrc2
-rw-r--r--sd/source/ui/toolpanel/LayoutMenu.cxx2
-rw-r--r--sd/source/ui/view/Outliner.cxx6
-rw-r--r--sd/source/ui/view/drtxtob.cxx9
-rw-r--r--sd/source/ui/view/drtxtob1.cxx22
-rw-r--r--sd/source/ui/view/drviewse.cxx154
-rw-r--r--sd/source/ui/view/drviewsf.cxx93
-rw-r--r--sd/uiconfig/sdraw/toolbar/textobjectbar.xml2
-rw-r--r--sd/uiconfig/simpress/toolbar/textobjectbar.xml2
25 files changed, 321 insertions, 168 deletions
diff --git a/sd/inc/pres.hxx b/sd/inc/pres.hxx
index 70c7ec2a4162..2e5171a4b14d 100644
--- a/sd/inc/pres.hxx
+++ b/sd/inc/pres.hxx
@@ -89,6 +89,7 @@ enum AutoLayout
AUTOLAYOUT_TITLE_VERTICAL_OUTLINE,
AUTOLAYOUT_TITLE_VERTICAL_OUTLINE_CLIPART,
AUTOLAYOUT_HANDOUT9,
+ AUTOLAYOUT_ONLY_TEXT,
AUTOLAYOUT__END
};
diff --git a/sd/sdi/drtxtob.sdi b/sd/sdi/drtxtob.sdi
index 661a9700394c..16e85441bb7f 100644
--- a/sd/sdi/drtxtob.sdi
+++ b/sd/sdi/drtxtob.sdi
@@ -186,4 +186,15 @@ shell TextObjectBar
ExecMethod = Execute;
StateMethod = GetAttrState;
]
+ SID_GROW_FONT_SIZE
+ [
+ ExecMethod = Execute;
+ StateMethod = GetAttrState;
+ ]
+ SID_SHRINK_FONT_SIZE
+ [
+ ExecMethod = Execute;
+ StateMethod = GetAttrState;
+ ]
+
}
diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx
index a7d35516d7cd..a6bcbf45ae81 100644
--- a/sd/source/core/sdpage.cxx
+++ b/sd/source/core/sdpage.cxx
@@ -1116,6 +1116,7 @@ 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
};
if( (eLayout < AUTOLAYOUT__START) || (eLayout >= AUTOLAYOUT__END) )
@@ -1297,6 +1298,13 @@ static void CalcAutoLayoutRectangles( SdPage& rPage, int nLayout, Rectangle* rRe
rRectangle[1].SetSize( aSize );
break;
}
+ 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);
+ break;
+ }
}
}
diff --git a/sd/source/filter/html/htmlex.cxx b/sd/source/filter/html/htmlex.cxx
index e696152999f8..37759dce1246 100644
--- a/sd/source/filter/html/htmlex.cxx
+++ b/sd/source/filter/html/htmlex.cxx
@@ -386,6 +386,7 @@ HtmlExport::HtmlExport(
mnCompression( -1 ),
mbDownload( false ),
mbSlideSound(true),
+ mbHiddenSlides(true),
mbUserAttr(false),
mbDocColors(false),
maHTMLExtension(SdResId(STR_HTMLEXP_DEFAULT_EXTENSION)),
@@ -538,6 +539,18 @@ void HtmlExport::InitExportParameters( const Sequence< PropertyValue >& rParams
pParams->Value >>= temp;
mbDownload = temp;
}
+ else if( pParams->Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "SlideSound" ) ) )
+ {
+ sal_Bool temp = sal_True;
+ pParams->Value >>= temp;
+ mbSlideSound = temp;
+ }
+ else if( pParams->Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "HiddenSlides" ) ) )
+ {
+ sal_Bool temp = sal_True;
+ pParams->Value >>= temp;
+ mbHiddenSlides = temp;
+ }
else if( pParams->Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "BackColor" ) ) )
{
sal_Int32 temp = 0;
@@ -659,6 +672,19 @@ void HtmlExport::InitExportParameters( const Sequence< PropertyValue >& rParams
maIndex = aINetURLObj.GetLastName();
mnSdPageCount = mpDoc->GetSdPageCount( PK_STANDARD );
+// USHORT nHiddenSlides = 0;
+ for( USHORT nPage = 0; nPage < mnSdPageCount; nPage++ )
+ {
+ pPage = mpDoc->GetSdPage( nPage, PK_STANDARD );
+
+ if( mbHiddenSlides || !pPage->IsExcluded() )
+ {
+ maPages.push_back( pPage );
+ maNotesPages.push_back( mpDoc->GetSdPage( nPage, PK_NOTES ) );
+ }
+ }
+ mnSdPageCount = maPages.size();
+
mbFrames = meMode == PUBLISH_FRAMES;
maDocFileName = maIndex;
@@ -997,7 +1023,7 @@ bool HtmlExport::CreateImagesForPresPages()
for (USHORT nSdPage = 0; nSdPage < mnSdPageCount; nSdPage++)
{
- SdPage* pPage = mpDoc->GetSdPage( nSdPage, PK_STANDARD );
+ SdPage* pPage = maPages[ nSdPage ];
OUString aFull(maExportPath);
aFull += *mpImageFiles[nSdPage];
@@ -1067,7 +1093,7 @@ bool HtmlExport::CreateHtmlTextForPresPages()
for(USHORT nSdPage = 0; nSdPage < mnSdPageCount && bOk; nSdPage++)
{
- SdPage* pPage = mpDoc->GetSdPage(nSdPage, PK_STANDARD);
+ SdPage* pPage = maPages[ nSdPage ];
if( mbDocColors )
{
@@ -1098,7 +1124,7 @@ bool HtmlExport::CreateHtmlTextForPresPages()
// Notizen
if(mbNotes)
{
- SdPage* pNotesPage = mpDoc->GetSdPage(nSdPage, PK_NOTES);
+ SdPage* pNotesPage = maNotesPages[ nSdPage ];
String aNotesStr( CreateTextForNotesPage( pOutliner, pNotesPage, true, maBackColor) );
if( aNotesStr.Len() )
@@ -1451,7 +1477,7 @@ bool HtmlExport::CreateHtmlForPresPages()
// die Liste stellen, da in HTML bei Ueberlappungen die
// _erstgenannte_ Area wirkt.
- SdPage* pPage = mpDoc->GetSdPage(nSdPage, PK_STANDARD);
+ SdPage* pPage = maPages[ nSdPage ];
if( mbDocColors )
{
@@ -1501,7 +1527,7 @@ bool HtmlExport::CreateHtmlForPresPages()
aStr.AppendAscii( "</title>\r\n" );
// insert timing information
- pPage = mpDoc->GetSdPage(nSdPage, PK_STANDARD);
+ pPage = maPages[ nSdPage ];
if( meMode == PUBLISH_KIOSK )
{
ULONG nSecs = 0;
@@ -1565,7 +1591,7 @@ bool HtmlExport::CreateHtmlForPresPages()
if(mbNotes && !mbFrames)
{
SdrOutliner* pOutliner = mpDoc->GetInternalOutliner();
- SdPage* pNotesPage = mpDoc->GetSdPage(nSdPage, PK_NOTES);
+ SdPage* pNotesPage = maNotesPages[ nSdPage ];
String aNotesStr( CreateTextForNotesPage( pOutliner, pNotesPage, true, maBackColor) );
pOutliner->Clear();
@@ -1949,7 +1975,7 @@ bool HtmlExport::CreateNotesPages()
SdrOutliner* pOutliner = mpDoc->GetInternalOutliner();
for( USHORT nSdPage = 0; bOk && nSdPage < mnSdPageCount; nSdPage++ )
{
- SdPage* pPage = mpDoc->GetSdPage(nSdPage, PK_NOTES);
+ SdPage* pPage = maNotesPages[nSdPage];
if( mbDocColors )
SetDocColors( pPage );
@@ -2005,7 +2031,7 @@ bool HtmlExport::CreateOutlinePages()
SdrOutliner* pOutliner = mpDoc->GetInternalOutliner();
for(USHORT nSdPage = 0; nSdPage < mnSdPageCount; nSdPage++)
{
- SdPage* pPage = mpDoc->GetSdPage(nSdPage, PK_STANDARD);
+ SdPage* pPage = maPages[ nSdPage ];
aStr.AppendAscii( "<div align=\"left\">" );
String aLink( RTL_CONSTASCII_USTRINGPARAM( "JavaScript:parent.NavigateAbs(" ) );
@@ -2082,7 +2108,7 @@ void HtmlExport::CreateFileNames()
*pName += maHTMLExtension;
mpTextFiles[nSdPage] = pName;
- SdPage* pSdPage = mpDoc->GetSdPage(nSdPage, PK_STANDARD);
+ SdPage* pSdPage = maPages[ nSdPage ];
// get slide title from page name
String* pPageTitle = new String();
@@ -2253,7 +2279,7 @@ bool HtmlExport::CreateFrames()
aStr.AppendAscii( "<script type=\"text/javascript\">\r\n<!--\r\n" );
aStr.AppendAscii( "var nCurrentPage = 0;\r\nvar nPageCount = " );
- aStr += String::CreateFromInt32(mpDoc->GetSdPageCount( PK_STANDARD ));
+ aStr += String::CreateFromInt32(mnSdPageCount);
aStr.AppendAscii( ";\r\n\r\n" );
String aFunction;
@@ -2418,7 +2444,7 @@ bool HtmlExport::CreateNavBarFrames()
if(nFile != 2 && mnSdPageCount > 1)
{
String aLink(RTL_CONSTASCII_USTRINGPARAM("JavaScript:parent.NavigateAbs("));
- aLink += String::CreateFromInt32(mpDoc->GetSdPageCount( PK_STANDARD )-1);
+ aLink += String::CreateFromInt32(mnSdPageCount-1);
aLink.AppendAscii( ")" );
aButton = CreateLink( aLink, aButton);
}
diff --git a/sd/source/filter/html/htmlex.hxx b/sd/source/filter/html/htmlex.hxx
index 791fc00ee553..d139940bfa97 100644
--- a/sd/source/filter/html/htmlex.hxx
+++ b/sd/source/filter/html/htmlex.hxx
@@ -50,6 +50,7 @@
#endif
#include "pubdlg.hxx"
+#include <vector>
#include <boost/scoped_ptr.hpp>
#define NUM_BUTTONS 12
@@ -100,6 +101,9 @@ public:
// =====================================================================
class HtmlExport
{
+ std::vector< SdPage* > maPages;
+ std::vector< SdPage* > maNotesPages;
+
String maPath;
SdDrawDocument* mpDoc;
@@ -135,6 +139,7 @@ class HtmlExport
bool mbAutoSlide;
UINT32 mnSlideDuration;
bool mbSlideSound;
+ bool mbHiddenSlides;
bool mbEndless;
bool mbUserAttr; // die folgenden Farben werden fuer das <body>
diff --git a/sd/source/filter/html/pubdlg.cxx b/sd/source/filter/html/pubdlg.cxx
index 5edf55b31304..a0a0dc4ca80d 100644
--- a/sd/source/filter/html/pubdlg.cxx
+++ b/sd/source/filter/html/pubdlg.cxx
@@ -124,6 +124,7 @@ public:
String m_aCompression;
PublishingFormat m_eFormat;
BOOL m_bSlideSound;
+ BOOL m_bHiddenSlides;
// titel page information
String m_aAuthor;
@@ -197,6 +198,7 @@ SdPublishingDesign::SdPublishingDesign()
m_bEndless = TRUE;
m_bSlideSound = TRUE;
+ m_bHiddenSlides = FALSE;
}
// =====================================================================
@@ -210,6 +212,7 @@ int SdPublishingDesign::operator ==(const SdPublishingDesign & rDesign) const
m_nResolution == rDesign.m_nResolution &&
m_aCompression == rDesign.m_aCompression &&
m_eFormat == rDesign.m_eFormat &&
+ m_bHiddenSlides == rDesign.m_bHiddenSlides &&
( // compare html options
(m_eMode != PUBLISH_HTML && m_eMode != PUBLISH_FRAMES) ||
(
@@ -306,6 +309,7 @@ SvStream& operator >> (SvStream& rIn, SdPublishingDesign& rDesign)
rIn >> rDesign.m_nSlideDuration;
rIn >> rDesign.m_bEndless;
rIn >> rDesign.m_bSlideSound;
+ rIn >> rDesign.m_bHiddenSlides;
return rIn;
}
@@ -351,6 +355,7 @@ SvStream& operator << (SvStream& rOut, const SdPublishingDesign& rDesign)
rOut << rDesign.m_nSlideDuration;
rOut << rDesign.m_bEndless;
rOut << rDesign.m_bSlideSound;
+ rOut << rDesign.m_bHiddenSlides;
return rOut;
}
@@ -611,6 +616,8 @@ void SdPublishingDlg::CreatePages()
pPage3_Titel3 = new FixedLine(this,SdResId(PAGE3_TITEL_3)));
aAssistentFunc.InsertControl(3,
pPage3_SldSound = new CheckBox(this,SdResId(PAGE3_SLD_SOUND)));
+ aAssistentFunc.InsertControl(3,
+ pPage3_HiddenSlides = new CheckBox(this,SdResId(PAGE3_HIDDEN_SLIDES)));
// Seite 4
aAssistentFunc.InsertControl(4,
@@ -749,6 +756,7 @@ void SdPublishingDlg::RemovePages()
delete pPage3_Resolution_3;
delete pPage3_Titel3;
delete pPage3_SldSound;
+ delete pPage3_HiddenSlides;
delete pPage4_Bmp;
delete pPage4_Titel1;
@@ -878,6 +886,14 @@ void SdPublishingDlg::GetParameterSequence( Sequence< PropertyValue >& rParams )
aValue.Value <<= nFormat;
aProps.push_back( aValue );
+ aValue.Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "SlideSound" ) );
+ aValue.Value <<= pPage3_SldSound->IsChecked() ? sal_True : sal_False;
+ aProps.push_back( aValue );
+
+ aValue.Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "HiddenSlides" ) );
+ aValue.Value <<= pPage3_HiddenSlides->IsChecked() ? sal_True : sal_False;
+ aProps.push_back( aValue );
+
// Page 4
aValue.Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "Author" ) );
aValue.Value <<= OUString( pPage4_Author->GetText() );
@@ -1379,7 +1395,7 @@ void SdPublishingDlg::UpdatePage()
aNextPageButton.Disable();
if( pPage2_WebCast->IsChecked() )
- pPage3_SldSound->Hide();
+ pPage3_SldSound->Disable();
pPage3_Quality->Enable(pPage3_Jpg->IsChecked());
@@ -1491,6 +1507,7 @@ void SdPublishingDlg::SetDesign( SdPublishingDesign* pDesign )
pPage3_Resolution_3->Check(pDesign->m_nResolution == PUB_HIGHRES_WIDTH);
pPage3_SldSound->Check( pDesign->m_bSlideSound );
+ pPage3_HiddenSlides->Check( pDesign->m_bHiddenSlides );
pPage4_Author->SetText(pDesign->m_aAuthor);
pPage4_Email->SetText(pDesign->m_aEMail);
@@ -1556,6 +1573,7 @@ void SdPublishingDlg::GetDesign( SdPublishingDesign* pDesign )
(pPage3_Resolution_2->IsChecked()?PUB_MEDRES_WIDTH:PUB_HIGHRES_WIDTH);
pDesign->m_bSlideSound = pPage3_SldSound->IsChecked();
+ pDesign->m_bHiddenSlides = pPage3_HiddenSlides->IsChecked();
pDesign->m_aAuthor = pPage4_Author->GetText();
pDesign->m_aEMail = pPage4_Email->GetText();
diff --git a/sd/source/filter/html/pubdlg.src b/sd/source/filter/html/pubdlg.src
index a06103920f41..3d89d36598d9 100644
--- a/sd/source/filter/html/pubdlg.src
+++ b/sd/source/filter/html/pubdlg.src
@@ -474,7 +474,13 @@ ModalDialog DLG_PUBLISHING
Pos = MAP_APPFONT ( 12, 125 );
Size = MAP_APPFONT ( 252, 10 );
Text [ en-US ] = "~Export sounds when slide advances" ;
+ };
+ CheckBox PAGE3_HIDDEN_SLIDES
+ {
+ Pos = MAP_APPFONT ( 12, 138 );
+ Size = MAP_APPFONT ( 252, 10 );
+ Text [ en-US ] = "Export ~hidden slides" ;
};
////////////////////////////////////////
diff --git a/sd/source/ui/app/optsitem.cxx b/sd/source/ui/app/optsitem.cxx
index a42f07c041c7..e77b32d9525b 100644
--- a/sd/source/ui/app/optsitem.cxx
+++ b/sd/source/ui/app/optsitem.cxx
@@ -1584,8 +1584,8 @@ BOOL SdOptionsPrint::ReadData( const Any* pValues )
if( pValues[12].hasValue() ) SetNotes( *(sal_Bool*) pValues[ 12 ].getValue() );
if( pValues[13].hasValue() ) SetHandout( *(sal_Bool*) pValues[ 13 ].getValue() );
if( pValues[14].hasValue() ) SetOutline( *(sal_Bool*) pValues[ 14 ].getValue() );
- if( pValues[15].hasValue() ) SetHandoutHorizontal( *(sal_Bool*) pValues[12].getValue() );
- if( pValues[16].hasValue() ) SetHandoutPages( (UINT16)*(sal_Int32*) pValues[13].getValue() );
+ if( pValues[15].hasValue() ) SetHandoutHorizontal( *(sal_Bool*) pValues[15].getValue() );
+ if( pValues[16].hasValue() ) SetHandoutPages( (UINT16)*(sal_Int32*) pValues[16].getValue() );
}
return TRUE;
diff --git a/sd/source/ui/app/res_bmp.src b/sd/source/ui/app/res_bmp.src
index 4d932c774db1..5951fddd0e1c 100644
--- a/sd/source/ui/app/res_bmp.src
+++ b/sd/source/ui/app/res_bmp.src
@@ -229,6 +229,14 @@ 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_FOILH_01
{
File = "foilh01.bmp" ;
diff --git a/sd/source/ui/app/strings.src b/sd/source/ui/app/strings.src
index 174a58453612..9b85e933bedc 100644
--- a/sd/source/ui/app/strings.src
+++ b/sd/source/ui/app/strings.src
@@ -177,6 +177,10 @@ String STR_AUTOLAYOUT_ONLY_TITLE
{
Text [ en-US ] = "Title Only" ;
};
+String STR_AUTOLAYOUT_ONLY_TEXT
+{
+ Text [ en-US ] = "Centered Text" ;
+};
String STR_AUTOLAYOUT_TITLE
{
Text [ en-US ] = "Title Slide" ;
diff --git a/sd/source/ui/dlg/present.src b/sd/source/ui/dlg/present.src
index fc63f93499b5..fa8c4187398e 100644
--- a/sd/source/ui/dlg/present.src
+++ b/sd/source/ui/dlg/present.src
@@ -238,7 +238,7 @@ ModalDialog DLG_START_PRESENTATION
Pos = MAP_APPFONT ( 6, 174 ) ;
Size = MAP_APPFONT ( 244, 8 );
Hide = TRUE;
- Text [ en-US ] = "Multiple monitors" ;
+ Text [ en-US ] = "Multiple displays" ;
};
FixedText FT_MONITOR
@@ -247,7 +247,7 @@ ModalDialog DLG_START_PRESENTATION
Pos = MAP_APPFONT ( 12 , 185 + 2 ) ;
Size = MAP_APPFONT( 70, 8 );
Hide = TRUE;
- Text [ en-US ] = "P~resentation monitor" ;
+ Text [ en-US ] = "P~resentation display" ;
};
ListBox LB_MONITOR
@@ -264,17 +264,17 @@ ModalDialog DLG_START_PRESENTATION
String STR_PRIMARY_MONITOR
{
- Text [ en-US ] = "Monitor %1 (primary)";
+ Text [ en-US ] = "Display %1 (primary)";
};
String STR_MONITOR
{
- Text [ en-US ] = "Monitor %1";
+ Text [ en-US ] = "Display %1";
};
String STR_ALL_MONITORS
{
- Text [ en-US ] = "All monitors";
+ Text [ en-US ] = "All displays";
};
};
diff --git a/sd/source/ui/func/futext.cxx b/sd/source/ui/func/futext.cxx
index 037ead6b21fb..651f61620e45 100644
--- a/sd/source/ui/func/futext.cxx
+++ b/sd/source/ui/func/futext.cxx
@@ -7,11 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: futext.cxx,v $
-<<<<<<< futext.cxx
- * $Revision: 1.66 $
-=======
- * $Revision: 1.66 $
->>>>>>> 1.63.50.1
+ * $Revision: 1.66.8.1 $
*
* This file is part of OpenOffice.org.
*
@@ -68,6 +64,7 @@
#include <svx/frmdiritem.hxx>
#include <svx/svdetc.hxx>
+#include <svx/editview.hxx>
#include "sdresid.hxx"
#include "app.hrc"
@@ -1489,5 +1486,62 @@ bool FuText::cancel()
}
}
+void FuText::ChangeFontSize( bool bGrow, OutlinerView* pOLV, const FontList* pFontList, ::sd::View* pView )
+{
+ if( !pFontList || !pView )
+ return;
+
+ if( pOLV )
+ {
+ pOLV->GetEditView().ChangeFontSize( bGrow, pFontList );
+ }
+ else
+ {
+// SdDrawDocument* pDoc = pView->GetDoc();
+
+ const SdrMarkList& rMarkList = pView->GetMarkedObjectList();
+ for( sal_uInt32 nMark = 0; nMark < rMarkList.GetMarkCount(); nMark++ )
+ {
+ SdrTextObj* pTextObj = dynamic_cast< SdrTextObj* >( rMarkList.GetMark(nMark)->GetMarkedSdrObj() );
+ if( pTextObj )
+ {
+ for( sal_Int32 nText = 0; nText < pTextObj->getTextCount(); nText++ )
+ {
+ pTextObj->setActiveText( nText );
+
+ // Put text object into edit mode.
+ SdrPageView* pPV = pView->GetSdrPageView();
+ pView->SdrBeginTextEdit(pTextObj, pPV);
+
+ pOLV = pView->GetTextEditOutlinerView();
+ if( pOLV )
+ {
+ EditEngine* pEditEngine = pOLV->GetEditView().GetEditEngine();
+ if( pEditEngine )
+ {
+ ESelection aSel;
+ aSel.nEndPara = pEditEngine->GetParagraphCount()-1;
+ aSel.nEndPos = pEditEngine->GetTextLen(aSel.nEndPara);
+ pOLV->SetSelection(aSel);
+ }
+
+ ChangeFontSize( bGrow, pOLV, pFontList, pView );
+ }
+
+ pView->SdrEndTextEdit();
+ }
+
+ SfxItemSet aShapeSet( pTextObj->GetMergedItemSet() );
+ if( EditView::ChangeFontSize( bGrow, aShapeSet, pFontList ) )
+ {
+ pTextObj->SetObjectItemNoBroadcast( aShapeSet.Get( EE_CHAR_FONTHEIGHT ) );
+ pTextObj->SetObjectItemNoBroadcast( aShapeSet.Get( EE_CHAR_FONTHEIGHT_CJK ) );
+ pTextObj->SetObjectItemNoBroadcast( aShapeSet.Get( EE_CHAR_FONTHEIGHT_CTL ) );
+ }
+ }
+ }
+ }
+}
+
} // end of namespace sd
diff --git a/sd/source/ui/inc/futext.hxx b/sd/source/ui/inc/futext.hxx
index 599fbf66210d..f0f1956dbb6c 100644
--- a/sd/source/ui/inc/futext.hxx
+++ b/sd/source/ui/inc/futext.hxx
@@ -40,6 +40,8 @@
struct StyleRequestData;
class SdrTextObj;
class OutlinerParaObject;
+class FontList;
+class OutlinerView;
namespace sd {
@@ -87,6 +89,8 @@ public:
*/
virtual bool cancel();
+ static void ChangeFontSize( bool, OutlinerView*, const FontList*, ::sd::View* );
+
protected:
FuText (ViewShell* pViewSh,
::sd::Window* pWin,
diff --git a/sd/source/ui/inc/pubdlg.hrc b/sd/source/ui/inc/pubdlg.hrc
index e040b79a385a..e54145dbcb45 100644
--- a/sd/source/ui/inc/pubdlg.hrc
+++ b/sd/source/ui/inc/pubdlg.hrc
@@ -89,6 +89,7 @@
#define PAGE3_TITEL_3 60
#define PAGE3_SLD_SOUND 61
#define PAGE3_VERT 62
+#define PAGE3_HIDDEN_SLIDES 63
//////////////////////////////
diff --git a/sd/source/ui/inc/pubdlg.hxx b/sd/source/ui/inc/pubdlg.hxx
index ce0819fc861c..f4ab1ea79546 100644
--- a/sd/source/ui/inc/pubdlg.hxx
+++ b/sd/source/ui/inc/pubdlg.hxx
@@ -136,6 +136,7 @@ private:
RadioButton* pPage3_Resolution_3;
FixedLine* pPage3_Titel3;
CheckBox* pPage3_SldSound;
+ CheckBox* pPage3_HiddenSlides;
// page 4 controls
FixedBitmap* pPage4_Bmp;
diff --git a/sd/source/ui/inc/res_bmp.hrc b/sd/source/ui/inc/res_bmp.hrc
index 29ea40bea1d9..b5e4dbcc0428 100644
--- a/sd/source/ui/inc/res_bmp.hrc
+++ b/sd/source/ui/inc/res_bmp.hrc
@@ -98,6 +98,7 @@
#define BMP_FOILH_06 RID_APP_START+35
#define BMP_FOILH_09 RID_APP_START+36
#define BMP_FOILN_01 RID_APP_START+40
+#define BMP_FOIL_25 RID_APP_START+41
// Bitmaps fuer Tree-ListBox im Effekte-TabDialog
#define BMP_PAGE RID_APP_START+42
@@ -229,6 +230,7 @@
#define BMP_FADE_EFFECT_INDICATOR_H RID_SD_START+332
#define BMP_FOILH_09_H RID_SD_START+333
+#define BMP_FOIL_25_H RID_SD_START+334
// -----------------------------------------------------------------------------
diff --git a/sd/source/ui/inc/strings.hrc b/sd/source/ui/inc/strings.hrc
index 153d91aa9687..db2683bf5c6c 100644
--- a/sd/source/ui/inc/strings.hrc
+++ b/sd/source/ui/inc/strings.hrc
@@ -198,6 +198,8 @@
#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_TRANSFORM (RID_APP_START+240)
diff --git a/sd/source/ui/toolpanel/LayoutMenu.cxx b/sd/source/ui/toolpanel/LayoutMenu.cxx
index 26309ca287bc..2bc47bc80f8a 100644
--- a/sd/source/ui/toolpanel/LayoutMenu.cxx
+++ b/sd/source/ui/toolpanel/LayoutMenu.cxx
@@ -173,6 +173,8 @@ 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,
+ AUTOLAYOUT_ONLY_TEXT},
{BMP_FOIL_11, BMP_FOIL_11_H, STR_AUTOLAYOUT_OBJ, WritingMode_LR_TB,
AUTOLAYOUT_OBJ},
{BMP_FOIL_02, BMP_FOIL_02_H, STR_AUTOLAYOUT_CHART, WritingMode_LR_TB,
diff --git a/sd/source/ui/view/Outliner.cxx b/sd/source/ui/view/Outliner.cxx
index 1532356c7f2a..10b36e35c170 100644
--- a/sd/source/ui/view/Outliner.cxx
+++ b/sd/source/ui/view/Outliner.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: Outliner.cxx,v $
- * $Revision: 1.37 $
+ * $Revision: 1.37.24.1 $
*
* This file is part of OpenOffice.org.
*
@@ -33,8 +33,6 @@
#include "Outliner.hxx"
#include <vcl/wrkwin.hxx>
-#include <svx/fontitem.hxx>
-#include <svx/fhgtitem.hxx>
#include <sfx2/srchitem.hxx>
#include <svx/colritem.hxx>
#include <svx/eeitem.hxx>
@@ -61,7 +59,7 @@
#include <svtools/linguprops.hxx>
#include <svtools/lingucfg.hxx>
#include <svx/editeng.hxx>
-
+#include <vcl/metric.hxx>
#include <sfx2/viewfrm.hxx>
#include "strings.hrc"
diff --git a/sd/source/ui/view/drtxtob.cxx b/sd/source/ui/view/drtxtob.cxx
index 227ad4a563db..9b15c3a02502 100644
--- a/sd/source/ui/view/drtxtob.cxx
+++ b/sd/source/ui/view/drtxtob.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: drtxtob.cxx,v $
- * $Revision: 1.28 $
+ * $Revision: 1.28.8.1 $
*
* This file is part of OpenOffice.org.
*
@@ -376,6 +376,13 @@ void TextObjectBar::GetAttrState( SfxItemSet& rSet )
}
break;
+ case SID_GROW_FONT_SIZE:
+ case SID_SHRINK_FONT_SIZE:
+ {
+ // todo
+ }
+ break;
+
default:
break;
}
diff --git a/sd/source/ui/view/drtxtob1.cxx b/sd/source/ui/view/drtxtob1.cxx
index 83881541c3e8..9f04fa0cff01 100644
--- a/sd/source/ui/view/drtxtob1.cxx
+++ b/sd/source/ui/view/drtxtob1.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: drtxtob1.cxx,v $
- * $Revision: 1.32 $
+ * $Revision: 1.32.72.1 $
*
* This file is part of OpenOffice.org.
*
@@ -63,6 +63,8 @@
#include <svx/xtable.hxx>
#include <svx/svdobj.hxx>
#include <svx/outlobj.hxx>
+#include <svx/flstitem.hxx>
+#include <svx/editeng.hxx>
#include <svtools/intitem.hxx>
#ifndef _SVX_SRIPTTYPEITEM_HXX //autogen
#include <svx/scripttypeitem.hxx>
@@ -82,6 +84,9 @@
#include "OutlineView.hxx"
#include "Window.hxx"
#include "futempl.hxx"
+#include "DrawDocShell.hxx"
+#include "Outliner.hxx"
+#include "futext.hxx"
namespace sd {
@@ -312,6 +317,20 @@ void TextObjectBar::Execute( SfxRequest &rReq )
pOLV->ToggleBullets();
break;
+ case SID_GROW_FONT_SIZE:
+ case SID_SHRINK_FONT_SIZE:
+ {
+ const SvxFontListItem* pFonts = (const SvxFontListItem*)mpViewShell->GetDocSh()->GetItem( SID_ATTR_CHAR_FONTLIST );
+ const FontList* pFontList = pFonts ? pFonts->GetFontList(): 0;
+ if( pFontList )
+ {
+ FuText::ChangeFontSize( nSlot == SID_GROW_FONT_SIZE, pOLV, pFontList, mpView );
+ mpViewShell->GetViewFrame()->GetBindings().Invalidate( SID_ATTR_CHAR_FONTHEIGHT );
+ }
+ rReq.Done();
+ }
+ break;
+
default:
{
@@ -567,5 +586,4 @@ void TextObjectBar::Execute( SfxRequest &rReq )
Invalidate( SID_OUTLINE_DOWN );
}
-
} // end of namespace sd
diff --git a/sd/source/ui/view/drviewse.cxx b/sd/source/ui/view/drviewse.cxx
index c53cf5fe73d1..bd8c7136495f 100644
--- a/sd/source/ui/view/drviewse.cxx
+++ b/sd/source/ui/view/drviewse.cxx
@@ -31,20 +31,13 @@
// MARKER(update_precomp.py): autogen include statement, do not remove
#include "precompiled_sd.hxx"
-#include "DrawViewShell.hxx"
-#include "slideshow.hxx"
-
-#include "ViewShellImplementation.hxx"
-#include "ViewShellHint.hxx"
-#include "framework/FrameworkHelper.hxx"
-
#include <com/sun/star/presentation/XPresentation2.hpp>
-
#include <com/sun/star/form/FormButtonType.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
-#ifndef _COM_SUN_STAR_I18N_TRANSLITERATIONMODULES_HDL_
#include <com/sun/star/i18n/TransliterationModules.hdl>
-#endif
+
+#include <comphelper/processfactory.hxx>
+
#include "undo/undomanager.hxx"
#include <vcl/waitobj.hxx>
#include <svtools/aeitem.hxx>
@@ -63,30 +56,27 @@
#include <sfx2/dispatch.hxx>
#include <sfx2/viewfrm.hxx>
#include <sfx2/request.hxx>
-#ifndef _SVXIDS_HRC
#include <svx/svxids.hrc>
-#endif
-#ifndef _FLDITEM_HXX
#include <svx/flditem.hxx>
-#endif
#include <svx/ruler.hxx>
-#ifndef _OBJ3D_HXX
#include <svx/obj3d.hxx>
-#endif
#include <svx/fmglob.hxx>
#include <svx/svdouno.hxx>
+#include <svx/dataaccessdescriptor.hxx>
#include <tools/urlobj.hxx>
-
-// #UndoRedo#
#include <svtools/slstitm.hxx>
-
#include <sfx2/ipclient.hxx>
-
-
+#include <toolkit/helper/vclunohelper.hxx>
+#include <avmedia/mediawindow.hxx>
#include <svtools/urihelper.hxx>
#include <sfx2/topfrm.hxx>
#include <sfx2/docfile.hxx>
+#include "DrawViewShell.hxx"
+#include "slideshow.hxx"
+#include "ViewShellImplementation.hxx"
+#include "ViewShellHint.hxx"
+#include "framework/FrameworkHelper.hxx"
#include "app.hrc"
#include "glob.hrc"
#include "strings.hrc"
@@ -106,27 +96,15 @@
#include "Outliner.hxx"
#include "PresentationViewShell.hxx"
#include "sdpage.hxx"
-#ifndef SD_FRAME_VIEW
#include "FrameView.hxx"
-#endif
#include "zoomlist.hxx"
#include "drawview.hxx"
#include "DrawDocShell.hxx"
#include "sdattr.hxx"
#include "ViewShellBase.hxx"
#include "ToolBarManager.hxx"
-
-// #97016#
+#include "anminfo.hxx"
#include "optsitem.hxx"
-
-// #98721#
-#include <svx/dataaccessdescriptor.hxx>
-
-// #110496#
-#include <toolkit/helper/vclunohelper.hxx>
-#include <comphelper/processfactory.hxx>
-#include <avmedia/mediawindow.hxx>
-
#include "Window.hxx"
@@ -973,7 +951,7 @@ void DrawViewShell::FuSupport(SfxRequest& rReq)
else
{
// Switch to requested ViewShell.
- ::rtl::OUString sRequestedView;
+ ::OUString sRequestedView;
PageKind ePageKind;
switch (nSId)
{
@@ -1536,87 +1514,70 @@ void DrawViewShell::InsertURLButton(const String& rURL, const String& rText,
{
BOOL bNewObj = TRUE;
+ const OUString sTargetURL( ::URIHelper::SmartRel2Abs( INetURLObject( GetDocSh()->GetMedium()->GetBaseURL() ), rURL, URIHelper::GetMaybeFileHdl(), true, false,
+ INetURLObject::WAS_ENCODED,
+ INetURLObject::DECODE_UNAMBIGUOUS ) );
if (mpDrawView->GetMarkedObjectList().GetMarkCount() > 0)
{
- SdrUnoObj* pUnoCtrl = PTR_CAST(SdrUnoObj, mpDrawView->GetMarkedObjectList().GetMark(0)->GetMarkedSdrObj());
-
- if (pUnoCtrl && FmFormInventor == pUnoCtrl->GetObjInventor() &&
- pUnoCtrl->GetObjIdentifier() == OBJ_FM_BUTTON)
- {
- // Markiertes Objekt aendern
- bNewObj = FALSE;
- uno::Reference< awt::XControlModel > xControlModel( pUnoCtrl->GetUnoControlModel() );
-
- if( !xControlModel.is() )
- return;
+ SdrObject* pMarkedObj = mpDrawView->GetMarkedObjectList().GetMark(0)->GetMarkedSdrObj();
+ if( pMarkedObj ) try
+ {
+ // change first marked object
+ if( (FmFormInventor == pMarkedObj->GetObjInventor() && pMarkedObj->GetObjIdentifier() == OBJ_FM_BUTTON) )
+ {
+ bNewObj = FALSE;
- uno::Reference< beans::XPropertySet > xPropSet( xControlModel, uno::UNO_QUERY );
+ SdrUnoObj* pUnoCtrl = static_cast< SdrUnoObj* >( pMarkedObj );
- uno::Any aTmp;
+ Reference< awt::XControlModel > xControlModel( pUnoCtrl->GetUnoControlModel(), UNO_QUERY_THROW );
+ Reference< beans::XPropertySet > xPropSet( xControlModel, UNO_QUERY_THROW );
- aTmp <<= rtl::OUString( rText );
- xPropSet->setPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Label" )), aTmp );
+ xPropSet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "Label" )), Any( OUString( rText ) ) );
+ xPropSet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetURL" )), Any( sTargetURL ) );
- aTmp <<= rtl::OUString( ::URIHelper::SmartRel2Abs( INetURLObject( GetDocSh()->GetMedium()->GetBaseURL() ), rURL, URIHelper::GetMaybeFileHdl(), true, false,
- INetURLObject::WAS_ENCODED,
- INetURLObject::DECODE_UNAMBIGUOUS ) );
- xPropSet->setPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetURL" )), aTmp );
+ if( rTarget.Len() )
+ xPropSet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetFrame" )), Any( OUString( rTarget ) ) );
- if( rTarget.Len() )
- {
- aTmp <<= rtl::OUString(rTarget);
- xPropSet->setPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetFrame" )), aTmp );
+ xPropSet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "ButtonType" )), Any( form::FormButtonType_URL ) );
+ if ( ::avmedia::MediaWindow::isMediaURL( rURL ) )
+ {
+ // #105638# OJ
+ xPropSet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "DispatchURLInternal" )), Any( sal_True ) );
+ }
}
-
- form::FormButtonType eButtonType = form::FormButtonType_URL;
- aTmp <<= eButtonType;
- xPropSet->setPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ButtonType" )), aTmp );
- if ( ::avmedia::MediaWindow::isMediaURL( rURL ) )
+ else
{
- // #105638# OJ
- aTmp <<= sal_True;
- xPropSet->setPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DispatchURLInternal" )), aTmp );
+ // add url as interaction for first selected shape
+ bNewObj = FALSE;
+
+ SdAnimationInfo* pInfo = SdDrawDocument::GetShapeUserData(*pMarkedObj, true);
+ pInfo->meClickAction = presentation::ClickAction_DOCUMENT;
+ pInfo->maBookmark = sTargetURL;
}
}
+ catch( uno::Exception& )
+ {
+ }
}
- if (bNewObj)
+ if (bNewObj) try
{
- SdrUnoObj* pUnoCtrl = (SdrUnoObj*) SdrObjFactory::MakeNewObject(FmFormInventor, OBJ_FM_BUTTON,
- mpDrawView->GetSdrPageView()->GetPage(), GetDoc());
-
- uno::Reference< awt::XControlModel > xControlModel( pUnoCtrl->GetUnoControlModel() );
-
- if( !xControlModel.is())
- return;
-
- uno::Reference< beans::XPropertySet > xPropSet( xControlModel, uno::UNO_QUERY );
+ SdrUnoObj* pUnoCtrl = static_cast< SdrUnoObj* >( SdrObjFactory::MakeNewObject(FmFormInventor, OBJ_FM_BUTTON,
+ mpDrawView->GetSdrPageView()->GetPage(), GetDoc()) );
- uno::Any aTmp;
+ Reference< awt::XControlModel > xControlModel( pUnoCtrl->GetUnoControlModel(), uno::UNO_QUERY_THROW );
+ Reference< beans::XPropertySet > xPropSet( xControlModel, uno::UNO_QUERY_THROW );
- aTmp <<= rtl::OUString(rText);
- xPropSet->setPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Label" )), aTmp );
-
- aTmp <<= rtl::OUString( ::URIHelper::SmartRel2Abs( INetURLObject( GetDocSh()->GetMedium()->GetBaseURL() ), rURL, URIHelper::GetMaybeFileHdl(), true, false,
- INetURLObject::WAS_ENCODED,
- INetURLObject::DECODE_UNAMBIGUOUS ) );
- xPropSet->setPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetURL" )), aTmp );
+ xPropSet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "Label" )), Any( OUString( rText ) ) );
+ xPropSet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetURL" )), Any( sTargetURL ) );
if( rTarget.Len() )
- {
- aTmp <<= rtl::OUString(rTarget);
- xPropSet->setPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetFrame" )), aTmp );
- }
+ xPropSet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetFrame" )), Any( OUString( rTarget ) ) );
- form::FormButtonType eButtonType = form::FormButtonType_URL;
- aTmp <<= eButtonType;
- xPropSet->setPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ButtonType" )), aTmp );
+ xPropSet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "ButtonType" )), Any( form::FormButtonType_URL ) );
// #105638# OJ
if ( ::avmedia::MediaWindow::isMediaURL( rURL ) )
- {
- aTmp <<= sal_True;
- xPropSet->setPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "DispatchURLInternal" )), aTmp );
- }
+ xPropSet->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "DispatchURLInternal" )), Any( sal_True ) );
Point aPos;
@@ -1646,6 +1607,9 @@ void DrawViewShell::InsertURLButton(const String& rURL, const String& rText,
mpDrawView->InsertObjectAtView(pUnoCtrl, *mpDrawView->GetSdrPageView(), nOptions);
}
+ catch( Exception& )
+ {
+ }
}
/*************************************************************************
diff --git a/sd/source/ui/view/drviewsf.cxx b/sd/source/ui/view/drviewsf.cxx
index 71fc18967e8d..0893bcb8b46c 100644
--- a/sd/source/ui/view/drviewsf.cxx
+++ b/sd/source/ui/view/drviewsf.cxx
@@ -79,11 +79,11 @@
#include "ViewShellBase.hxx"
#include "FormShellManager.hxx"
#include "cfgids.hxx"
+#include "anminfo.hxx"
-using namespace ::rtl;
+using ::rtl::OUString;
using namespace ::com::sun::star;
-
namespace sd {
/*************************************************************************
@@ -138,57 +138,66 @@ void DrawViewShell::GetCtrlState(SfxItemSet &rSet)
{
if (mpDrawView->GetMarkedObjectList().GetMarkCount() > 0)
{
- SdrUnoObj* pUnoCtrl = PTR_CAST(SdrUnoObj, mpDrawView->GetMarkedObjectList().GetMark(0)->GetMarkedSdrObj());
+ bool bFound = false;
- if (pUnoCtrl && FmFormInventor == pUnoCtrl->GetObjInventor())
+ SdrObject* pMarkedObj = mpDrawView->GetMarkedObjectList().GetMark(0)->GetMarkedSdrObj();
+ if( pMarkedObj && (FmFormInventor == pMarkedObj->GetObjInventor()) )
{
- uno::Reference< awt::XControlModel > xControlModel( pUnoCtrl->GetUnoControlModel() );
+ SdrUnoObj* pUnoCtrl = dynamic_cast< SdrUnoObj* >( pMarkedObj );
- if( !xControlModel.is() )
- return;
+ if(pUnoCtrl) try
+ {
+ uno::Reference< awt::XControlModel > xControlModel( pUnoCtrl->GetUnoControlModel(), uno::UNO_QUERY_THROW );
+ uno::Reference< beans::XPropertySet > xPropSet( xControlModel, uno::UNO_QUERY_THROW );
+ uno::Reference< beans::XPropertySetInfo > xPropInfo( xPropSet->getPropertySetInfo(), uno::UNO_QUERY_THROW );
- uno::Reference< beans::XPropertySet > xPropSet( xControlModel, uno::UNO_QUERY );
- if( !xPropSet.is())
- return;
+ form::FormButtonType eButtonType = form::FormButtonType_URL;
+ const OUString sButtonType( RTL_CONSTASCII_USTRINGPARAM( "ButtonType" ) );
+ if(xPropInfo->hasPropertyByName( sButtonType ) && (xPropSet->getPropertyValue( sButtonType ) >>= eButtonType ) )
+ {
+ OUString aString;
- uno::Reference< beans::XPropertySetInfo > xPropInfo( xPropSet->getPropertySetInfo() );
+ // Label
+ const OUString sLabel( RTL_CONSTASCII_USTRINGPARAM( "Label" ) );
+ if(xPropInfo->hasPropertyByName(sLabel))
+ {
+ if( xPropSet->getPropertyValue(sLabel) >>= aString )
+ aHLinkItem.SetName(String( aString ));
+ }
- uno::Any aTmp;
+ // URL
+ const OUString sTargetURL(RTL_CONSTASCII_USTRINGPARAM( "TargetURL" ));
+ if(xPropInfo->hasPropertyByName(sTargetURL))
+ {
+ if( xPropSet->getPropertyValue(sTargetURL) >>= aString )
+ aHLinkItem.SetURL(String( aString ));
+ }
- form::FormButtonType eButtonType = form::FormButtonType_URL;
- if(!xPropInfo->hasPropertyByName( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ButtonType" ))))
- return;
+ // Target
+ const OUString sTargetFrame( RTL_CONSTASCII_USTRINGPARAM( "TargetFrame" ) );
+ if(xPropInfo->hasPropertyByName(sTargetFrame) )
+ {
+ if( xPropSet->getPropertyValue(sTargetFrame) >>= aString )
+ aHLinkItem.SetTargetFrame(String( aString ));
+ }
- aTmp = xPropSet->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "ButtonType" )));
- if( aTmp >>= eButtonType )
+ aHLinkItem.SetInsertMode(HLINK_BUTTON);
+ bFound = true;
+ }
+ }
+ catch( uno::Exception& )
{
- OUString aString;
-
- // Label
- if(!xPropInfo->hasPropertyByName(rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Label" ))))
- return;
- aTmp = xPropSet->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Label" )));
-
- if( aTmp >>= aString )
- aHLinkItem.SetName(String( aString ));
-
- // URL
- if(!xPropInfo->hasPropertyByName(rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetURL" ))))
- return;
- aTmp = xPropSet->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetURL" )));
- if( aTmp >>= aString )
- aHLinkItem.SetURL(String( aString ));
-
- // Target
- if(!xPropInfo->hasPropertyByName(rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetFrame" ))))
- return;
- aTmp = xPropSet->getPropertyValue( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "TargetFrame" )));
- if( aTmp >>= aString )
- aHLinkItem.SetTargetFrame(String( aString ));
-
- aHLinkItem.SetInsertMode(HLINK_BUTTON);
}
}
+
+ // try interaction link
+ if( !bFound && pMarkedObj )
+ {
+ SdAnimationInfo* pInfo = SdDrawDocument::GetShapeUserData(*pMarkedObj);
+ if( pInfo && (pInfo->meClickAction == presentation::ClickAction_DOCUMENT) )
+ aHLinkItem.SetURL( pInfo->maBookmark );
+ aHLinkItem.SetInsertMode(HLINK_BUTTON);
+ }
}
}
diff --git a/sd/uiconfig/sdraw/toolbar/textobjectbar.xml b/sd/uiconfig/sdraw/toolbar/textobjectbar.xml
index e98c2f3453f3..53dcf7eb3b19 100644
--- a/sd/uiconfig/sdraw/toolbar/textobjectbar.xml
+++ b/sd/uiconfig/sdraw/toolbar/textobjectbar.xml
@@ -26,6 +26,8 @@
<toolbar:toolbaritem xlink:href=".uno:SpacePara2" toolbar:helpid="10036"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:DefaultBullet" toolbar:helpid="20138"/>
+ <toolbar:toolbaritem xlink:href=".uno:Grow" toolbar:helpid="helpid:20403"/>
+ <toolbar:toolbaritem xlink:href=".uno:Shrink" toolbar:helpid="helpid:20404"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:TextdirectionLeftToRight" toolbar:helpid="10907"/>
<toolbar:toolbaritem xlink:href=".uno:TextdirectionTopToBottom" toolbar:helpid="10908"/>
diff --git a/sd/uiconfig/simpress/toolbar/textobjectbar.xml b/sd/uiconfig/simpress/toolbar/textobjectbar.xml
index c3743f0adb78..798b7ff38cc6 100644
--- a/sd/uiconfig/simpress/toolbar/textobjectbar.xml
+++ b/sd/uiconfig/simpress/toolbar/textobjectbar.xml
@@ -30,6 +30,8 @@
<toolbar:toolbaritem xlink:href=".uno:OutlineRight" toolbar:helpid="10153"/>
<toolbar:toolbaritem xlink:href=".uno:OutlineUp" toolbar:helpid="10150"/>
<toolbar:toolbaritem xlink:href=".uno:OutlineDown" toolbar:helpid="10151"/>
+ <toolbar:toolbaritem xlink:href=".uno:Grow" toolbar:helpid="helpid:20403"/>
+ <toolbar:toolbaritem xlink:href=".uno:Shrink" toolbar:helpid="helpid:20404"/>
<toolbar:toolbarseparator/>
<toolbar:toolbaritem xlink:href=".uno:TextdirectionLeftToRight" toolbar:helpid="10907"/>
<toolbar:toolbaritem xlink:href=".uno:TextdirectionTopToBottom" toolbar:helpid="10908"/>