summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAditya <adityasahu1511@gmail.com>2019-02-24 21:17:14 +0530
committerMichael Stahl <Michael.Stahl@cib.de>2019-03-01 14:53:35 +0100
commit7d7396d096369be06e7de3df566c5da7b25ef2c7 (patch)
treef9079474ceaf8491628a60abf9d5e07142837895
parentb21d76201e8355207721cc442fc4f204f3061a76 (diff)
tdf#116382 Replace old dialog in header and footer drop-down menu
Remove the Background tabpage in "Border/Background" dialog accessed from Border and Background menu item in Header/Footer drop-down list and replace it with the tabpages "Area" and "Transparency" of the dialog accessed from Page Style > Header > "More.." button. The old dialog does not have the tabpages "Area" and "Transparency". In simpler words, the patch is to match both the dialogs when accessed in two different ways. Reviewed-on: https://gerrit.libreoffice.org/67483 Tested-by: Jenkins Reviewed-by: Jim Raykowski <raykowj@gmail.com> (cherry picked from commit 55042cb54fea5f7ad777c03af9bf8197127b6736) Change-Id: Ib84435854389360eba41aecb8578a9a67a92ca1e Reviewed-on: https://gerrit.libreoffice.org/68545 Reviewed-by: Michael Stahl <Michael.Stahl@cib.de> Tested-by: Jenkins
-rw-r--r--svx/source/dialog/hdft.cxx2
-rw-r--r--sw/source/uibase/docvw/HeaderFooterWin.cxx52
2 files changed, 14 insertions, 40 deletions
diff --git a/svx/source/dialog/hdft.cxx b/svx/source/dialog/hdft.cxx
index 20c1bcdbd7a4..c4d79ddd25ae 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 84927a6a8d13..1cb1dbd77a6a 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(GetFrameWeld(), &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( GetFrameWeld(), &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")