summaryrefslogtreecommitdiff
path: root/sd
diff options
context:
space:
mode:
Diffstat (limited to 'sd')
-rw-r--r--sd/source/core/sdpage.cxx2
-rw-r--r--sd/source/core/stlsheet.cxx2
-rw-r--r--sd/source/filter/eppt/epptso.cxx47
-rw-r--r--sd/source/filter/pptin.cxx8
-rw-r--r--sd/source/ui/animations/motionpathtag.cxx26
-rw-r--r--sd/source/ui/animations/motionpathtag.hxx1
-rw-r--r--sd/source/ui/app/sdmod1.cxx6
-rw-r--r--sd/source/ui/app/tbxww.cxx4
-rw-r--r--sd/source/ui/inc/Window.hxx3
-rw-r--r--sd/source/ui/unoidl/unomodel.cxx12
-rw-r--r--sd/source/ui/unoidl/unopage.cxx11
-rw-r--r--sd/source/ui/unoidl/unopback.cxx54
-rw-r--r--sd/source/ui/view/sdwindow.cxx37
-rw-r--r--sd/uiconfig/sdraw/toolbar/rectanglesbar.xml13
-rw-r--r--sd/uiconfig/simpress/toolbar/rectanglesbar.xml13
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