diff options
Diffstat (limited to 'sd')
-rw-r--r-- | sd/source/core/sdpage.cxx | 2 | ||||
-rw-r--r-- | sd/source/core/stlsheet.cxx | 2 | ||||
-rw-r--r-- | sd/source/filter/eppt/epptso.cxx | 47 | ||||
-rw-r--r-- | sd/source/filter/pptin.cxx | 8 | ||||
-rw-r--r-- | sd/source/ui/animations/motionpathtag.cxx | 26 | ||||
-rw-r--r-- | sd/source/ui/animations/motionpathtag.hxx | 1 | ||||
-rw-r--r-- | sd/source/ui/app/sdmod1.cxx | 6 | ||||
-rw-r--r-- | sd/source/ui/app/tbxww.cxx | 4 | ||||
-rw-r--r-- | sd/source/ui/inc/Window.hxx | 3 | ||||
-rw-r--r-- | sd/source/ui/unoidl/unomodel.cxx | 12 | ||||
-rw-r--r-- | sd/source/ui/unoidl/unopage.cxx | 11 | ||||
-rw-r--r-- | sd/source/ui/unoidl/unopback.cxx | 54 | ||||
-rw-r--r-- | sd/source/ui/view/sdwindow.cxx | 37 | ||||
-rw-r--r-- | sd/uiconfig/sdraw/toolbar/rectanglesbar.xml | 13 | ||||
-rw-r--r-- | sd/uiconfig/simpress/toolbar/rectanglesbar.xml | 13 |
15 files changed, 188 insertions, 51 deletions
diff --git a/sd/source/core/sdpage.cxx b/sd/source/core/sdpage.cxx index a94a3e8fd..e5355c20a 100644 --- a/sd/source/core/sdpage.cxx +++ b/sd/source/core/sdpage.cxx @@ -2834,7 +2834,7 @@ bool SdPage::checkVisibility( return false; const SdrPage* pVisualizedPage = GetSdrPageFromXDrawPage(rOriginal.GetObjectContact().getViewInformation2D().getVisualizedPage()); - const bool bIsPrinting(rOriginal.GetObjectContact().isOutputToPrinter()); + const bool bIsPrinting(rOriginal.GetObjectContact().isOutputToPrinter() || rOriginal.GetObjectContact().isOutputToPDFFile()); const SdrPageView* pPageView = rOriginal.GetObjectContact().TryToGetSdrPageView(); const bool bIsInsidePageObj(pPageView && pPageView->GetPage() != pVisualizedPage); diff --git a/sd/source/core/stlsheet.cxx b/sd/source/core/stlsheet.cxx index a59d2f5ed..93a078312 100644 --- a/sd/source/core/stlsheet.cxx +++ b/sd/source/core/stlsheet.cxx @@ -100,7 +100,7 @@ static SvxItemPropertySet& GetStylePropertySet() EDGERADIUS_PROPERTIES TEXT_PROPERTIES_DEFAULTS CONNECTOR_PROPERTIES - SPECIAL_DIMENSIONING_PROPERTIES + SPECIAL_DIMENSIONING_PROPERTIES_DEFAULTS {0,0,0,0,0,0} }; diff --git a/sd/source/filter/eppt/epptso.cxx b/sd/source/filter/eppt/epptso.cxx index 46ca7e8fc..31bd5587c 100644 --- a/sd/source/filter/eppt/epptso.cxx +++ b/sd/source/filter/eppt/epptso.cxx @@ -3153,11 +3153,15 @@ void PPTWriter::ImplWriteTextStyleAtom( SvStream& rOut, int nTextInstance, sal_u if ( mbEmptyPresObj ) mnTextSize = 0; - if ( mnTextSize ) + if ( !mbEmptyPresObj ) { ParagraphObj* pPara; TextObj aTextObj( mXText, nTextInstance, maFontCollection, (PPTExBulletProvider&)*this ); - aTextObj.Write( &rOut ); + + // leaving out EPP_TextCharsAtom w/o text - still write out + // attribute info though + if ( mnTextSize ) + aTextObj.Write( &rOut ); if ( pPropOpt ) ImplAdjustFirstLineLineSpacing( aTextObj, *pPropOpt ); @@ -5694,38 +5698,25 @@ void PPTWriter::ImplCreateTable( uno::Reference< drawing::XShape >& rXShape, Esc ImplCreateShape( ESCHER_ShpInst_Rectangle, 0xa02, aSolverContainer ); // Flags: Connector | HasSpt | Child aPropOptSp.CreateFillProperties( mXPropSet, sal_True ); aPropOptSp.AddOpt( ESCHER_Prop_fNoLineDrawDash, 0x90000 ); - if ( mnTextSize ) - aPropOptSp.CreateTextProperties( mXPropSet, mnTxId += 0x60, sal_False, sal_True ); + aPropOptSp.CreateTextProperties( mXPropSet, mnTxId += 0x60, sal_False, sal_True ); aPropOptSp.AddOpt( ESCHER_Prop_WrapText, ESCHER_WrapSquare ); - if ( mnTextSize ) - { - SvMemoryStream aClientTextBox( 0x200, 0x200 ); - SvMemoryStream aExtBu( 0x200, 0x200 ); + SvMemoryStream aClientTextBox( 0x200, 0x200 ); + SvMemoryStream aExtBu( 0x200, 0x200 ); - ImplWriteTextStyleAtom( aClientTextBox, EPP_TEXTTYPE_Other, 0, NULL, aExtBu, &aPropOptSp ); + ImplWriteTextStyleAtom( aClientTextBox, EPP_TEXTTYPE_Other, 0, NULL, aExtBu, &aPropOptSp ); - aPropOptSp.Commit( *mpStrm ); - mpPptEscherEx->AddAtom( 16, ESCHER_ChildAnchor ); - *mpStrm << nLeft - << nTop - << nRight - << nBottom; + aPropOptSp.Commit( *mpStrm ); + mpPptEscherEx->AddAtom( 16, ESCHER_ChildAnchor ); + *mpStrm << nLeft + << nTop + << nRight + << nBottom; - *mpStrm << (sal_uInt32)( ( ESCHER_ClientTextbox << 16 ) | 0xf ) - << (sal_uInt32)aClientTextBox.Tell(); + *mpStrm << (sal_uInt32)( ( ESCHER_ClientTextbox << 16 ) | 0xf ) + << (sal_uInt32)aClientTextBox.Tell(); - mpStrm->Write( aClientTextBox.GetData(), aClientTextBox.Tell() ); - } - else - { - aPropOptSp.Commit( *mpStrm ); - mpPptEscherEx->AddAtom( 16, ESCHER_ChildAnchor ); - *mpStrm << nLeft - << nTop - << nRight - << nBottom; - } + mpStrm->Write( aClientTextBox.GetData(), aClientTextBox.Tell() ); mpPptEscherEx->CloseContainer(); } } diff --git a/sd/source/filter/pptin.cxx b/sd/source/filter/pptin.cxx index c5ecaf7e7..ca8b165cd 100644 --- a/sd/source/filter/pptin.cxx +++ b/sd/source/filter/pptin.cxx @@ -2599,6 +2599,14 @@ SdrObject* ImplSdPPTImport::ProcessObj( SvStream& rSt, DffObjData& rObjData, voi // Animationseffekte des Objektes lesen if ( pObj ) { + // further setup placeholder objects
+ if( pObj->ISA(SdrPageObj) && pData )
+ {
+ const ProcessData* pProcessData=(const ProcessData*)pData;
+ if( pProcessData->pPage )
+ pProcessData->pPage->InsertPresObj( pObj, PRESOBJ_PAGE );
+ }
+ BOOL bInhabitanceChecked = FALSE; BOOL bAnimationInfoFound = FALSE; DffRecordHeader aMasterShapeHd; diff --git a/sd/source/ui/animations/motionpathtag.cxx b/sd/source/ui/animations/motionpathtag.cxx index ac928d429..34942f4fd 100644 --- a/sd/source/ui/animations/motionpathtag.cxx +++ b/sd/source/ui/animations/motionpathtag.cxx @@ -508,6 +508,7 @@ bool MotionPathTag::MouseButtonDown( const MouseEvent& rMEvt, SmartHdl& rHdl ) { SmartTagReference xTag( this ); mrView.getSmartTags().select( xTag ); + selectionChanged(); return true; } else @@ -941,16 +942,13 @@ void MotionPathTag::CheckPossibilities() { if( isSelected() ) { - if( mrView.IsFrameDragSingles() ) - { - mrView.SetMoveAllowed( true ); - mrView.SetMoveProtected( false ); - mrView.SetResizeFreeAllowed( true ); - mrView.SetResizePropAllowed( true ); - mrView.SetResizeProtected( false ); + mrView.SetMoveAllowed( true ); + mrView.SetMoveProtected( false ); + mrView.SetResizeFreeAllowed( true ); + mrView.SetResizePropAllowed( true ); + mrView.SetResizeProtected( false ); - } - else + if( !mrView.IsFrameDragSingles() ) { bool b1stSmooth(true); bool b1stSegm(true); @@ -1117,8 +1115,18 @@ void MotionPathTag::deselect() if( pPts ) pPts->Clear(); } + + selectionChanged(); } +void MotionPathTag::selectionChanged() +{ + if( mrView.GetViewShell() && mrView.GetViewShell()->GetViewFrame() ) + { + SfxBindings& rBindings = mrView.GetViewShell()->GetViewFrame()->GetBindings(); + rBindings.InvalidateAll(TRUE); + } +} // -------------------------------------------------------------------- // IPolyPolygonEditorController // -------------------------------------------------------------------- diff --git a/sd/source/ui/animations/motionpathtag.hxx b/sd/source/ui/animations/motionpathtag.hxx index 46258c479..e22b418bb 100644 --- a/sd/source/ui/animations/motionpathtag.hxx +++ b/sd/source/ui/animations/motionpathtag.hxx @@ -116,6 +116,7 @@ protected: virtual void deselect(); void updatePathAttributes(); + void selectionChanged(); private: CustomAnimationPane& mrPane; diff --git a/sd/source/ui/app/sdmod1.cxx b/sd/source/ui/app/sdmod1.cxx index 3817b4735..b837633a0 100644 --- a/sd/source/ui/app/sdmod1.cxx +++ b/sd/source/ui/app/sdmod1.cxx @@ -750,9 +750,7 @@ SfxFrame* SdModule::ExecuteNewDocument( SfxRequest& rReq ) pViewFrame->GetDispatcher()->Execute(SID_MODIFYPAGE, SFX_CALLMODE_ASYNCHRON | SFX_CALLMODE_RECORD, &aIsChangedItem, &eAutoLayout, 0L); } - - pDoc->SetChanged(!bIsDocEmpty); - + // clear document info using namespace ::com::sun::star; uno::Reference<document::XDocumentPropertiesSupplier> xDPS( @@ -765,6 +763,8 @@ SfxFrame* SdModule::ExecuteNewDocument( SfxRequest& rReq ) xDocProps->setTemplateName(xDocProps->getTitle()); xDocProps->setTemplateURL(pPilotDlg->GetDocPath()); + pDoc->SetChanged(!bIsDocEmpty); + pDocShell->SetUseUserData(TRUE); // #94652# clear UNDO stack after autopilot diff --git a/sd/source/ui/app/tbxww.cxx b/sd/source/ui/app/tbxww.cxx index f2dd95376..63021a95e 100644 --- a/sd/source/ui/app/tbxww.cxx +++ b/sd/source/ui/app/tbxww.cxx @@ -246,6 +246,10 @@ SfxPopupWindow* SdTbxControl::CreatePopupWindow() aTbxResName.appendAscii( "textbar" ); aToolBarResStr = aTbxResName.makeStringAndClear(); break; + case SID_DRAWTBX_RECTANGLES: + aTbxResName.appendAscii( "rectanglesbar" ); + aToolBarResStr = aTbxResName.makeStringAndClear(); + break; case SID_DRAWTBX_ELLIPSES: aTbxResName.appendAscii( "ellipsesbar" ); aToolBarResStr = aTbxResName.makeStringAndClear(); diff --git a/sd/source/ui/inc/Window.hxx b/sd/source/ui/inc/Window.hxx index b21d8152d..2e95968f4 100644 --- a/sd/source/ui/inc/Window.hxx +++ b/sd/source/ui/inc/Window.hxx @@ -211,6 +211,9 @@ protected: virtual ::com::sun::star::uno::Reference< ::com::sun::star::accessibility::XAccessible> CreateAccessible (void); + + XubString GetSurroundingText() const;
+ Selection GetSurroundingTextSelection() const; }; } // end of namespace sd diff --git a/sd/source/ui/unoidl/unomodel.cxx b/sd/source/ui/unoidl/unomodel.cxx index 327aec47a..85edefadd 100644 --- a/sd/source/ui/unoidl/unomodel.cxx +++ b/sd/source/ui/unoidl/unomodel.cxx @@ -1880,6 +1880,8 @@ void SAL_CALL SdXImpressDocument::render( sal_Int32 nRenderer, const uno::Any& r pOut->SetMapMode( MAP_100TH_MM ); pOut->IntersectClipRegion( aVisArea ); + + uno::Reference< frame::XModel > xModel; rSelection >>= xModel; @@ -1888,6 +1890,16 @@ void SAL_CALL SdXImpressDocument::render( sal_Int32 nRenderer, const uno::Any& r pView->ShowSdrPage( mpDoc->GetSdPage( (USHORT)nPageNumber - 1, ePageKind )); SdrPageView* pPV = pView->GetSdrPageView(); + if( pOldSdView ) + { + SdrPageView* pOldPV = pOldSdView->GetSdrPageView(); + if( pPV && pOldPV ) + { + pPV->SetVisibleLayers( pOldPV->GetVisibleLayers() ); + pPV->SetPrintableLayers( pOldPV->GetPrintableLayers() ); + } + } + ImplRenderPaintProc aImplRenderPaintProc( mpDoc->GetLayerAdmin(), pPV, pPDFExtOutDevData ); diff --git a/sd/source/ui/unoidl/unopage.cxx b/sd/source/ui/unoidl/unopage.cxx index 24aa7c840..e703853ae 100644 --- a/sd/source/ui/unoidl/unopage.cxx +++ b/sd/source/ui/unoidl/unopage.cxx @@ -406,7 +406,16 @@ SdrObject * SdGenericDrawPage::_CreateSdrObject( const Reference< drawing::XShap String aType( xShape->getShapeType() ); const String aPrefix( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.presentation.") ); if(aType.CompareTo( aPrefix, aPrefix.Len() ) != 0) - return SvxFmDrawPage::_CreateSdrObject( xShape ); + { + SdrObject* pObj = SvxFmDrawPage::_CreateSdrObject( xShape ); + if( pObj && ( (pObj->GetObjInventor() != SdrInventor) || (pObj->GetObjIdentifier() != OBJ_PAGE) ) ) + { + SdDrawDocument* pDoc = (SdDrawDocument*)GetPage()->GetModel(); + if( pDoc ) + pObj->NbcSetStyleSheet( pDoc->GetDefaultStyleSheet(), sal_True ); + } + return pObj; + } aType = aType.Copy( aPrefix.Len() ); diff --git a/sd/source/ui/unoidl/unopback.cxx b/sd/source/ui/unoidl/unopback.cxx index aef75d3f4..e2b47684f 100644 --- a/sd/source/ui/unoidl/unopback.cxx +++ b/sd/source/ui/unoidl/unopback.cxx @@ -141,18 +141,56 @@ void SdUnoPageBackground::fillItemSet( SdDrawDocument* pDoc, SfxItemSet& rSet ) pAny = mpPropSet->GetUsrAnyForID( aIt->nWID ); if( pAny ) { - if ( aIt->nWID == XATTR_FILLBITMAP ) + OUString aPropertyName( OUString::createFromAscii(pMap->pName)); + switch( pMap->nWID ) { - if ( ( ( pAny->getValueType() == ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0) ) || - ( pAny->getValueType() == ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic >*)0) ) ) && - ( aIt->nMemberId == MID_BITMAP ) ) + case XATTR_FILLFLOATTRANSPARENCE : + case XATTR_FILLGRADIENT : { - setPropertyValue( aIt->sName, *pAny ); + if ( ( pAny->getValueType() == ::getCppuType((const ::com::sun::star::awt::Gradient*)0) ) + && ( pMap->nMemberId == MID_FILLGRADIENT ) ) + { + setPropertyValue( aPropertyName, *pAny ); + } + else if ( ( pAny->getValueType() == ::getCppuType((const ::rtl::OUString*)0) ) && + ( pMap->nMemberId == MID_NAME ) ) + { + setPropertyValue( aPropertyName, *pAny ); + } } - else if ( ( pAny->getValueType() == ::getCppuType((const ::rtl::OUString*)0) ) && - ( ( aIt->nMemberId == MID_NAME ) || ( aIt->nMemberId == MID_GRAFURL ) ) ) + break; + case XATTR_FILLHATCH : { - setPropertyValue( aIt->sName, *pAny ); + if ( ( pAny->getValueType() == ::getCppuType((const ::com::sun::star::drawing::Hatch*)0) ) + && ( pMap->nMemberId == MID_FILLHATCH ) ) + { + setPropertyValue( aPropertyName, *pAny ); + } + else if ( ( pAny->getValueType() == ::getCppuType((const ::rtl::OUString*)0) ) && + ( pMap->nMemberId == MID_NAME ) ) + { + setPropertyValue( aPropertyName, *pAny ); + } + } + break; + case XATTR_FILLBITMAP : + { + if ( ( ( pAny->getValueType() == ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XBitmap >*)0) ) || + ( pAny->getValueType() == ::getCppuType((const ::com::sun::star::uno::Reference< ::com::sun::star::graphic::XGraphic >*)0) ) ) && + ( pMap->nMemberId == MID_BITMAP ) ) + { + setPropertyValue( aPropertyName, *pAny ); + } + else if ( ( pAny->getValueType() == ::getCppuType((const ::rtl::OUString*)0) ) && + ( ( pMap->nMemberId == MID_NAME ) || ( pMap->nMemberId == MID_GRAFURL ) ) ) + { + setPropertyValue( aPropertyName, *pAny ); + } + } + break; + + default: + setPropertyValue( aPropertyName, *pAny ); } } else diff --git a/sd/source/ui/view/sdwindow.cxx b/sd/source/ui/view/sdwindow.cxx index 67bbe955a..7186b8d1b 100644 --- a/sd/source/ui/view/sdwindow.cxx +++ b/sd/source/ui/view/sdwindow.cxx @@ -37,6 +37,9 @@ #include <sfx2/viewfrm.hxx> +#include <svx/outliner.hxx>
+
+#include <svx/editview.hxx> #include "app.hrc" #include "helpids.h" @@ -1206,4 +1209,38 @@ void Window::DropScroll(const Point& rMousePos) } } +XubString Window::GetSurroundingText() const
+{
+ if ( mpViewShell->GetShellType() == ViewShell::ST_OUTLINE )
+ {
+ return XubString();
+ }
+ else if ( mpViewShell->GetView()->IsTextEdit() )
+ {
+ OutlinerView *pOLV = mpViewShell->GetView()->GetTextEditOutlinerView();
+ return pOLV->GetEditView().GetSurroundingText();
+ }
+ else
+ {
+ return XubString();
+ }
+}
+
+Selection Window::GetSurroundingTextSelection() const
+{
+ if ( mpViewShell->GetShellType() == ViewShell::ST_OUTLINE )
+ {
+ return Selection( 0, 0 );
+ }
+ else if ( mpViewShell->GetView()->IsTextEdit() )
+ {
+ OutlinerView *pOLV = mpViewShell->GetView()->GetTextEditOutlinerView();
+ return pOLV->GetEditView().GetSurroundingTextSelection();
+ }
+ else
+ {
+ return Selection( 0, 0 );
+ }
+}
+ } // end of namespace sd diff --git a/sd/uiconfig/sdraw/toolbar/rectanglesbar.xml b/sd/uiconfig/sdraw/toolbar/rectanglesbar.xml new file mode 100644 index 000000000..271626561 --- /dev/null +++ b/sd/uiconfig/sdraw/toolbar/rectanglesbar.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd"> +<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar"> + <toolbar:toolbaritem xlink:href=".uno:Rect" toolbar:helpid="helpid:10104" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:Square" toolbar:helpid="helpid:10380" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:Rect_Rounded" toolbar:helpid="helpid:10105" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:Square_Rounded" toolbar:helpid="helpid:10381" toolbar:style="radio" /> + <toolbar:toolbarbreak/> + <toolbar:toolbaritem xlink:href=".uno:Rect_Unfilled" toolbar:helpid="helpid:10378" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:Square_Unfilled" toolbar:helpid="helpid:10382" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:Rect_Rounded_Unfilled" toolbar:helpid="helpid:10379" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:Square_Rounded_Unfilled" toolbar:helpid="helpid:10383" toolbar:style="radio" /> +</toolbar:toolbar>
\ No newline at end of file diff --git a/sd/uiconfig/simpress/toolbar/rectanglesbar.xml b/sd/uiconfig/simpress/toolbar/rectanglesbar.xml new file mode 100644 index 000000000..271626561 --- /dev/null +++ b/sd/uiconfig/simpress/toolbar/rectanglesbar.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE toolbar:toolbar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "toolbar.dtd"> +<toolbar:toolbar xmlns:toolbar="http://openoffice.org/2001/toolbar" xmlns:xlink="http://www.w3.org/1999/xlink" toolbar:id="toolbar"> + <toolbar:toolbaritem xlink:href=".uno:Rect" toolbar:helpid="helpid:10104" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:Square" toolbar:helpid="helpid:10380" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:Rect_Rounded" toolbar:helpid="helpid:10105" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:Square_Rounded" toolbar:helpid="helpid:10381" toolbar:style="radio" /> + <toolbar:toolbarbreak/> + <toolbar:toolbaritem xlink:href=".uno:Rect_Unfilled" toolbar:helpid="helpid:10378" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:Square_Unfilled" toolbar:helpid="helpid:10382" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:Rect_Rounded_Unfilled" toolbar:helpid="helpid:10379" toolbar:style="radio" /> + <toolbar:toolbaritem xlink:href=".uno:Square_Rounded_Unfilled" toolbar:helpid="helpid:10383" toolbar:style="radio" /> +</toolbar:toolbar>
\ No newline at end of file |