diff options
-rw-r--r-- | svx/source/dialog/hdft.cxx | 2 | ||||
-rw-r--r-- | sw/source/uibase/docvw/HeaderFooterWin.cxx | 52 |
2 files changed, 14 insertions, 40 deletions
diff --git a/svx/source/dialog/hdft.cxx b/svx/source/dialog/hdft.cxx index d23ad52bc89e..661638412180 100644 --- a/svx/source/dialog/hdft.cxx +++ b/svx/source/dialog/hdft.cxx @@ -88,7 +88,7 @@ namespace svx { { bool bRes = false; SvxAbstractDialogFactory* pFact = SvxAbstractDialogFactory::Create(); - ScopedVclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateSvxBorderBackgroundDlg( pParent, *pBBSet, false/*bEnableDrawingLayerFillStyles*/ )); + ScopedVclPtr<SfxAbstractTabDialog> pDlg(pFact->CreateSvxBorderBackgroundDlg( pParent, *pBBSet, true/*bEnableDrawingLayerFillStyles*/ )); if ( pDlg->Execute() == RET_OK && pDlg->GetOutputItemSet() ) { SfxItemIter aIter( *pDlg->GetOutputItemSet() ); diff --git a/sw/source/uibase/docvw/HeaderFooterWin.cxx b/sw/source/uibase/docvw/HeaderFooterWin.cxx index e1c157ee3afe..824abf938b79 100644 --- a/sw/source/uibase/docvw/HeaderFooterWin.cxx +++ b/sw/source/uibase/docvw/HeaderFooterWin.cxx @@ -11,6 +11,8 @@ #include <strings.hrc> #include <globals.hrc> +#include <doc.hxx> +#include <drawdoc.hxx> #include <cmdid.h> #include <DashedLine.hxx> #include <docsh.hxx> @@ -414,47 +416,19 @@ void SwHeaderFooterWin::ExecuteCommand(const OString& rIdent) SwFrameFormat* pHFFormat = const_cast< SwFrameFormat* >( rMaster.GetFooter().GetFooterFormat() ); if ( m_bIsHeader ) pHFFormat = const_cast< SwFrameFormat* >( rMaster.GetHeader().GetHeaderFormat() ); + SfxItemSet aSet( pHFFormat->GetAttrSet() ); - SfxItemPool* pPool = pHFFormat->GetAttrSet().GetPool(); - SfxItemSet aSet( - *pPool, - svl::Items< - RES_BACKGROUND, RES_SHADOW, - SID_ATTR_BORDER_INNER, SID_ATTR_BORDER_INNER>{}); - - aSet.Put( pHFFormat->GetAttrSet() ); - - // Create a box info item... needed by the dialog - SvxBoxInfoItem aBoxInfo( SID_ATTR_BORDER_INNER ); - const SfxPoolItem *pBoxInfo; - if ( SfxItemState::SET == pHFFormat->GetAttrSet().GetItemState( SID_ATTR_BORDER_INNER, - true, &pBoxInfo) ) - aBoxInfo = *static_cast<const SvxBoxInfoItem*>(pBoxInfo); - - aBoxInfo.SetTable( false ); - aBoxInfo.SetDist( true); - aBoxInfo.SetMinDist( false ); - aBoxInfo.SetDefDist( MIN_BORDER_DIST ); - aBoxInfo.SetValid( SvxBoxInfoItemValidFlags::DISABLE ); - aSet.Put( aBoxInfo ); - - if ( svx::ShowBorderBackgroundDlg( this, &aSet ) ) + // Items to hand over XPropertyList things like XColorList, + // XHatchList, XGradientList, and XBitmapList to the Area TabPage: + aSet.MergeRange( SID_COLOR_TABLE, SID_PATTERN_LIST ); + // create needed items for XPropertyList entries from the DrawModel so that + // the Area TabPage can access them + rSh.GetDoc()->getIDocumentDrawModelAccess().GetDrawModel()->PutAreaListItems( aSet ); + + if (svx::ShowBorderBackgroundDlg( this, &aSet )) { - const SfxPoolItem* pItem; - if ( SfxItemState::SET == aSet.GetItemState( RES_BACKGROUND, false, &pItem ) ) { - pHFFormat->SetFormatAttr( *pItem ); - rView.GetDocShell()->SetModified(); - } - - if ( SfxItemState::SET == aSet.GetItemState( RES_BOX, false, &pItem ) ) { - pHFFormat->SetFormatAttr( *pItem ); - rView.GetDocShell()->SetModified(); - } - - if ( SfxItemState::SET == aSet.GetItemState( RES_SHADOW, false, &pItem ) ) { - pHFFormat->SetFormatAttr( *pItem ); - rView.GetDocShell()->SetModified(); - } + pHFFormat->SetFormatAttr( aSet ); + rView.GetDocShell()->SetModified(); } } else if (rIdent == "delete") |