From d5a64f114c101339ed479ea926653c703951fae5 Mon Sep 17 00:00:00 2001 From: pv2k Date: Thu, 31 Aug 2017 01:59:05 +0530 Subject: tdf#109100 margin spinboxes in draw's sidebar changed to listbox Change-Id: Ia59f0fb64f10beab70f449d01b8a25113bea475d Reviewed-on: https://gerrit.libreoffice.org/41741 Tested-by: Jenkins Reviewed-by: Katarina Behrens --- sd/source/ui/sidebar/PageMarginUtils.hxx | 158 ++++++++++++++++++ sd/source/ui/sidebar/SlideBackground.cxx | 188 +++++++++++++--------- sd/source/ui/sidebar/SlideBackground.hxx | 15 +- sd/uiconfig/simpress/ui/sidebarslidebackground.ui | 107 +++--------- 4 files changed, 299 insertions(+), 169 deletions(-) create mode 100644 sd/source/ui/sidebar/PageMarginUtils.hxx diff --git a/sd/source/ui/sidebar/PageMarginUtils.hxx b/sd/source/ui/sidebar/PageMarginUtils.hxx new file mode 100644 index 000000000000..7061a11f9a6a --- /dev/null +++ b/sd/source/ui/sidebar/PageMarginUtils.hxx @@ -0,0 +1,158 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#include +#define SDPAGE_NO_MARGIN 0 +#define SDPAGE_NARROW_VALUE 635 +#define SDPAGE_MODERATE_LR 955 +#define SDPAGE_NORMAL_VALUE 1000 +#define SDPAGE_WIDE_VALUE1 1270 +#define SDPAGE_WIDE_VALUE2 2540 +#define SDPAGE_WIDE_VALUE3 1590 +#define SDPAGE_UNIT_THRESHOLD 5 + +namespace sd { namespace sidebar{ + +bool IsNone( const long nPageLeftMargin, const long nPageRightMargin, + const long nPageTopMargin, const long nPageBottomMargin ) +{ + return( std::abs(nPageLeftMargin - SDPAGE_NO_MARGIN) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageRightMargin - SDPAGE_NO_MARGIN ) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageTopMargin - SDPAGE_NO_MARGIN) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageBottomMargin - SDPAGE_NO_MARGIN) <= SDPAGE_UNIT_THRESHOLD ); +} + +void SetNone( long& nPageLeftMargin, long& nPageRightMargin, + long& nPageTopMargin, long& nPageBottomMargin ) +{ + nPageLeftMargin = SDPAGE_NO_MARGIN; + nPageRightMargin = SDPAGE_NO_MARGIN; + nPageTopMargin = SDPAGE_NO_MARGIN; + nPageBottomMargin = SDPAGE_NO_MARGIN; +} + +bool IsNarrow( const long nPageLeftMargin, const long nPageRightMargin, + const long nPageTopMargin, const long nPageBottomMargin ) +{ + return( std::abs(nPageLeftMargin - SDPAGE_NARROW_VALUE) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageRightMargin - SDPAGE_NARROW_VALUE) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageTopMargin - SDPAGE_NARROW_VALUE) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageBottomMargin - SDPAGE_NARROW_VALUE) <= SDPAGE_UNIT_THRESHOLD ); +} + +void SetNarrow( long& nPageLeftMargin, long& nPageRightMargin, + long& nPageTopMargin, long& nPageBottomMargin ) +{ + nPageLeftMargin = SDPAGE_NARROW_VALUE; + nPageRightMargin = SDPAGE_NARROW_VALUE; + nPageTopMargin = SDPAGE_NARROW_VALUE; + nPageBottomMargin = SDPAGE_NARROW_VALUE; +} + +bool IsModerate( const long nPageLeftMargin, const long nPageRightMargin, + const long nPageTopMargin, const long nPageBottomMargin ) +{ + return( std::abs(nPageLeftMargin - SDPAGE_MODERATE_LR) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageRightMargin - SDPAGE_MODERATE_LR) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageTopMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageBottomMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD ); +} + +void SetModerate( long& nPageLeftMargin, long& nPageRightMargin, + long& nPageTopMargin, long& nPageBottomMargin ) +{ + nPageLeftMargin = SDPAGE_MODERATE_LR; + nPageRightMargin = SDPAGE_MODERATE_LR; + nPageTopMargin = SDPAGE_WIDE_VALUE1; + nPageBottomMargin = SDPAGE_WIDE_VALUE1; +} + +bool IsNormal075( const long nPageLeftMargin, const long nPageRightMargin, + const long nPageTopMargin, const long nPageBottomMargin ) +{ + return( std::abs(nPageLeftMargin - SDPAGE_NORMAL_VALUE) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageRightMargin - SDPAGE_NORMAL_VALUE) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageTopMargin - SDPAGE_NORMAL_VALUE) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageBottomMargin - SDPAGE_NORMAL_VALUE) <= SDPAGE_UNIT_THRESHOLD ); +} + +void SetNormal075( long& nPageLeftMargin, long& nPageRightMargin, + long& nPageTopMargin, long& nPageBottomMargin ) +{ + nPageLeftMargin = SDPAGE_NORMAL_VALUE; + nPageRightMargin = SDPAGE_NORMAL_VALUE; + nPageTopMargin = SDPAGE_NORMAL_VALUE; + nPageBottomMargin = SDPAGE_NORMAL_VALUE; +} + +bool IsNormal100( const long nPageLeftMargin, const long nPageRightMargin, + const long nPageTopMargin, const long nPageBottomMargin ) +{ + return( std::abs(nPageLeftMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageRightMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageTopMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageBottomMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD ); +} + +void SetNormal100( long& nPageLeftMargin, long& nPageRightMargin, + long& nPageTopMargin, long& nPageBottomMargin ) +{ + nPageLeftMargin = SDPAGE_WIDE_VALUE1; + nPageRightMargin = SDPAGE_WIDE_VALUE1; + nPageTopMargin = SDPAGE_WIDE_VALUE1; + nPageBottomMargin = SDPAGE_WIDE_VALUE1; +} + +bool IsNormal125( const long nPageLeftMargin, const long nPageRightMargin, + const long nPageTopMargin, const long nPageBottomMargin ) +{ + return( std::abs(nPageLeftMargin - SDPAGE_WIDE_VALUE3) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageRightMargin - SDPAGE_WIDE_VALUE3) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageTopMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageBottomMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD ); +} + +void SetNormal125( long& nPageLeftMargin, long& nPageRightMargin, + long& nPageTopMargin, long& nPageBottomMargin ) +{ + nPageLeftMargin = SDPAGE_WIDE_VALUE3; + nPageRightMargin = SDPAGE_WIDE_VALUE3; + nPageTopMargin = SDPAGE_WIDE_VALUE1; + nPageBottomMargin = SDPAGE_WIDE_VALUE1; +} + +bool IsWide( const long nPageLeftMargin, const long nPageRightMargin, + const long nPageTopMargin, const long nPageBottomMargin ) +{ + return( std::abs(nPageLeftMargin - SDPAGE_WIDE_VALUE2) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageRightMargin - SDPAGE_WIDE_VALUE2) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageTopMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD && + std::abs(nPageBottomMargin - SDPAGE_WIDE_VALUE1) <= SDPAGE_UNIT_THRESHOLD ); +} + +void SetWide( long& nPageLeftMargin, long& nPageRightMargin, + long& nPageTopMargin, long& nPageBottomMargin ) +{ + nPageLeftMargin = SDPAGE_WIDE_VALUE2; + nPageRightMargin = SDPAGE_WIDE_VALUE2; + nPageTopMargin = SDPAGE_WIDE_VALUE1; + nPageBottomMargin = SDPAGE_WIDE_VALUE1; +} +} } + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sd/source/ui/sidebar/SlideBackground.cxx b/sd/source/ui/sidebar/SlideBackground.cxx index 82e0fc8e7bb6..08e7cab09e6d 100644 --- a/sd/source/ui/sidebar/SlideBackground.cxx +++ b/sd/source/ui/sidebar/SlideBackground.cxx @@ -28,6 +28,7 @@ #include "SlideSorterViewShell.hxx" #include "drawdoc.hxx" #include "filedlg.hxx" +#include "PageMarginUtils.hxx" #include "strings.hrc" #include "DocumentHelper.hxx" #include "MasterPagesSelector.hxx" @@ -141,11 +142,14 @@ SlideBackground::SlideBackground( maImpressMasterContext(vcl::EnumContext::Application::Impress, vcl::EnumContext::Context::MasterPage), maImpressHandoutContext(vcl::EnumContext::Application::Impress, vcl::EnumContext::Context::HandoutPage), mbTitle(false), + mpPageLRMarginItem( new SvxLongLRSpaceItem( 0, 0, SID_ATTR_PAGE_LRSPACE ) ), + mpPageULMarginItem( new SvxLongULSpaceItem( 0, 0, SID_ATTR_PAGE_ULSPACE ) ), meFieldUnit(lcl_GetFieldUnit()), m_nPageLeftMargin(0), m_nPageRightMargin(0), m_nPageTopMargin(0), m_nPageBottomMargin(0), + maCustomEntry(), mpBindings(pBindings) { get(mpPaperSizeBox,"paperformat"); @@ -165,10 +169,9 @@ SlideBackground::SlideBackground( get(mpCloseMaster, "closemasterslide"); get(mpEditMaster, "masterslidebutton"); get(mpMasterLabel, "masterlabel"); - get(m_pLeftMarginEdit, "left"); - get(m_pRightMarginEdit, "right"); - get(m_pTopMarginEdit, "top"); - get(m_pBottomMarginEdit, "bottom"); + get(mpMarginSelectBox, "marginLB"); + + maCustomEntry = get("customlabel")->GetText(); SfxViewFrame* pCurrent = SfxViewFrame::Current(); if (pCurrent) @@ -181,10 +184,6 @@ SlideBackground::SlideBackground( m_aPageSize = pSize->GetSize(); } } - SetFieldUnit( *m_pTopMarginEdit, meFieldUnit ); - SetFieldUnit( *m_pBottomMarginEdit, meFieldUnit ); - SetFieldUnit( *m_pLeftMarginEdit, meFieldUnit ); - SetFieldUnit( *m_pRightMarginEdit, meFieldUnit ); addListener(); Initialize(); } @@ -238,12 +237,10 @@ void SlideBackground::Initialize() mpDspMasterObjects->SetClickHdl(LINK(this,SlideBackground, DspObjects)); //margins - m_pLeftMarginEdit->SetModifyHdl(LINK(this, SlideBackground, ModifyLRMarginHdl)); - m_pRightMarginEdit->SetModifyHdl(LINK(this, SlideBackground, ModifyLRMarginHdl)); - m_pTopMarginEdit->SetModifyHdl(LINK(this, SlideBackground, ModifyULMarginHdl)); - m_pBottomMarginEdit->SetModifyHdl(LINK(this, SlideBackground, ModifyULMarginHdl)); + mpMarginSelectBox->SetSelectHdl(LINK(this, SlideBackground,ModifyMarginHdl)); Update(); + UpdateMarginBox(); } void SlideBackground::HandleContextChange( @@ -370,6 +367,56 @@ void SlideBackground::Update() } } +void SlideBackground::UpdateMarginBox() +{ + m_nPageLeftMargin = mpPageLRMarginItem->GetLeft(); + m_nPageRightMargin = mpPageLRMarginItem->GetRight(); + m_nPageTopMargin = mpPageULMarginItem->GetUpper(); + m_nPageBottomMargin = mpPageULMarginItem->GetLower(); + + if( IsNone(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin) ) + { + mpMarginSelectBox->SelectEntryPos(0); + mpMarginSelectBox->RemoveEntry(maCustomEntry); + } + else if( IsNarrow(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin) ) + { + mpMarginSelectBox->SelectEntryPos(1); + mpMarginSelectBox->RemoveEntry(maCustomEntry); + } + else if( IsModerate(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin) ) + { + mpMarginSelectBox->SelectEntryPos(2); + mpMarginSelectBox->RemoveEntry(maCustomEntry); + } + else if( IsNormal075(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin) ) + { + mpMarginSelectBox->SelectEntryPos(3); + mpMarginSelectBox->RemoveEntry(maCustomEntry); + } + else if( IsNormal100(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin) ) + { + mpMarginSelectBox->SelectEntryPos(4); + mpMarginSelectBox->RemoveEntry(maCustomEntry); + } + else if( IsNormal125(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin) ) + { + mpMarginSelectBox->SelectEntryPos(5); + mpMarginSelectBox->RemoveEntry(maCustomEntry); + } + else if( IsWide(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin) ) + { + mpMarginSelectBox->SelectEntryPos(6); + mpMarginSelectBox->RemoveEntry(maCustomEntry); + } + else + { + if(mpMarginSelectBox->GetEntryPos(maCustomEntry) == LISTBOX_ENTRY_NOTFOUND) + mpMarginSelectBox->InsertEntry(maCustomEntry); + mpMarginSelectBox->SelectEntry(maCustomEntry); + } +} + void SlideBackground::SetPanelTitle( const OUString& rTitle ) { Reference xController( mxFrame->getController(), uno::UNO_QUERY); @@ -546,15 +593,13 @@ void SlideBackground::dispose() mpFillStyle.clear(); mpFillLB.clear(); mpInsertImage.clear(); + mpMarginSelectBox.disposeAndClear(); mpDspMasterBackground.clear(); mpDspMasterObjects.clear(); mpMasterLabel.clear(); mpEditMaster.clear(); mpCloseMaster.clear(); - m_pLeftMarginEdit.clear(); - m_pRightMarginEdit.clear(); - m_pTopMarginEdit.clear(); - m_pBottomMarginEdit.clear(); + m_pContainer.clear(); maPaperSizeController.dispose(); @@ -576,9 +621,25 @@ void SlideBackground::dispose() mpColorItem.reset(); mpHatchItem.reset(); mpBitmapItem.reset(); + mpPageLRMarginItem.reset(); + mpPageULMarginItem.reset(); PanelLayout::dispose(); } +void SlideBackground::ExecuteMarginLRChange(const long mnPageLeftMargin, const long mnPageRightMargin) +{ + mpPageLRMarginItem->SetLeft(mnPageLeftMargin); + mpPageLRMarginItem->SetRight(mnPageRightMargin); + GetBindings()->GetDispatcher()->ExecuteList( SID_ATTR_PAGE_LRSPACE, SfxCallMode::RECORD, { mpPageLRMarginItem.get() } ); +} + +void SlideBackground::ExecuteMarginULChange(const long mnPageTopMargin, const long mnPageBottomMargin) +{ + mpPageULMarginItem->SetUpper(mnPageTopMargin); + mpPageULMarginItem->SetLower(mnPageBottomMargin); + GetBindings()->GetDispatcher()->ExecuteList( SID_ATTR_PAGE_ULSPACE, SfxCallMode::RECORD, { mpPageULMarginItem.get() } ); +} + Color SlideBackground::GetColorSetOrDefault() { // Tango Sky Blue 1, to be consistent w/ area fill panel (b/c COL_AUTO for slides is transparent) @@ -789,12 +850,8 @@ void SlideBackground::NotifyItemUpdate( pLRItem = dynamic_cast(pState); if (pLRItem) { - m_nPageLeftMargin = pLRItem->GetLeft(); - m_nPageRightMargin = pLRItem->GetRight(); - SetFieldUnit(*m_pLeftMarginEdit, meFieldUnit, true); - SetMetricValue(*m_pLeftMarginEdit.get(), m_nPageLeftMargin, meUnit); - SetFieldUnit(*m_pRightMarginEdit, meFieldUnit, true); - SetMetricValue(*m_pRightMarginEdit.get(), m_nPageRightMargin, meUnit); + mpPageLRMarginItem.reset( static_cast(pState->Clone()) ); + UpdateMarginBox(); } } break; @@ -806,12 +863,8 @@ void SlideBackground::NotifyItemUpdate( pULItem = dynamic_cast(pState); if (pULItem) { - m_nPageTopMargin = pULItem->GetUpper(); - m_nPageBottomMargin = pULItem->GetLower(); - SetFieldUnit(*m_pTopMarginEdit, meFieldUnit, true); - SetMetricValue(*m_pTopMarginEdit.get(), m_nPageTopMargin, meUnit); - SetFieldUnit(*m_pBottomMarginEdit, meFieldUnit, true); - SetMetricValue(*m_pBottomMarginEdit.get(), m_nPageBottomMargin, meUnit); + mpPageULMarginItem.reset( static_cast(pState->Clone()) ); + UpdateMarginBox(); } } break; @@ -848,33 +901,6 @@ void SlideBackground::NotifyItemUpdate( } } -void SlideBackground::SetMetricFieldMaxValues( const Size& rPageSize ) -{ - const long nML = m_pLeftMarginEdit->Denormalize( m_pLeftMarginEdit->GetValue( FUNIT_TWIP ) ); - const long nMR = m_pRightMarginEdit->Denormalize( m_pRightMarginEdit->GetValue( FUNIT_TWIP ) ); - const long nMT = m_pTopMarginEdit->Denormalize( m_pTopMarginEdit->GetValue( FUNIT_TWIP ) ); - const long nMB = m_pBottomMarginEdit->Denormalize( m_pBottomMarginEdit->GetValue( FUNIT_TWIP ) ); - - const long nPH = LogicToLogic( rPageSize.Height(), meUnit, MapUnit::MapTwip ); - const long nPW = LogicToLogic( rPageSize.Width(), meUnit, MapUnit::MapTwip ); - - // Left - long nMax = nPW - nMR - MINBODY; - m_pLeftMarginEdit->SetMax( m_pLeftMarginEdit->Normalize( nMax ), FUNIT_TWIP ); - - // Right - nMax = nPW - nML - MINBODY; - m_pRightMarginEdit->SetMax( m_pRightMarginEdit->Normalize( nMax ), FUNIT_TWIP ); - - //Top - nMax = nPH - nMB - MINBODY; - m_pTopMarginEdit->SetMax( m_pTopMarginEdit->Normalize( nMax ), FUNIT_TWIP ); - - //Bottom - nMax = nPH - nMT - MINBODY; - m_pBottomMarginEdit->SetMax( m_pTopMarginEdit->Normalize( nMax ), FUNIT_TWIP ); -} - IMPL_LINK_NOARG(SlideBackground, FillStyleModifyHdl, ListBox&, void) { const eFillStyle nPos = (eFillStyle)mpFillStyle->GetSelectedEntryPos(); @@ -1055,34 +1081,42 @@ IMPL_LINK_NOARG(SlideBackground, DspObjects, Button*, void) GetBindings()->GetDispatcher()->ExecuteList(SID_DISPLAY_MASTER_OBJECTS, SfxCallMode::RECORD, { &aBoolItem, &aBoolItem }); } -IMPL_LINK_NOARG( SlideBackground, ModifyLRMarginHdl, Edit&, void ) +IMPL_LINK_NOARG( SlideBackground, ModifyMarginHdl, ListBox&, void ) { - m_nPageLeftMargin = GetCoreValue( *m_pLeftMarginEdit.get(), meUnit ); - m_nPageRightMargin = GetCoreValue( *m_pRightMarginEdit.get(), meUnit ); - if ( SfxViewFrame::Current() ) + bool bApplyNewPageMargins = true; + switch ( mpMarginSelectBox->GetSelectedEntryPos() ) { - std::unique_ptr pPageLRMarginItem( new SvxLongLRSpaceItem( 0, 0, SID_ATTR_PAGE_LRSPACE ) ); - pPageLRMarginItem->SetLeft( m_nPageLeftMargin ); - pPageLRMarginItem->SetRight( m_nPageRightMargin ); - GetBindings()->GetDispatcher()->ExecuteList( SID_ATTR_PAGE_LRSPACE, SfxCallMode::RECORD, { pPageLRMarginItem.get() } ); - pPageLRMarginItem.reset(); + case 0: + SetNone(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin); + break; + case 1: + SetNarrow(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin); + break; + case 2: + SetModerate(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin); + break; + case 3: + SetNormal075(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin); + break; + case 4: + SetNormal100(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin); + break; + case 5: + SetNormal125(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin); + break; + case 6: + SetWide(m_nPageLeftMargin, m_nPageRightMargin, m_nPageTopMargin, m_nPageBottomMargin); + break; + default: + bApplyNewPageMargins = false; + break; } - SetMetricFieldMaxValues( m_aPageSize ); -} -IMPL_LINK_NOARG( SlideBackground, ModifyULMarginHdl, Edit&, void ) -{ - m_nPageTopMargin = GetCoreValue( *m_pTopMarginEdit.get(), meUnit ); - m_nPageBottomMargin = GetCoreValue( *m_pBottomMarginEdit.get(), meUnit ); - if ( SfxViewFrame::Current() ) + if(bApplyNewPageMargins) { - std::unique_ptr pPageULMarginItem( new SvxLongULSpaceItem( 0, 0, SID_ATTR_PAGE_ULSPACE ) ); - pPageULMarginItem->SetUpper( m_nPageTopMargin ); - pPageULMarginItem->SetLower( m_nPageBottomMargin ); - GetBindings()->GetDispatcher()->ExecuteList( SID_ATTR_PAGE_ULSPACE, SfxCallMode::RECORD, { pPageULMarginItem.get() } ); - pPageULMarginItem.reset(); + ExecuteMarginLRChange(m_nPageLeftMargin, m_nPageRightMargin); + ExecuteMarginULChange(m_nPageTopMargin, m_nPageBottomMargin); } - SetMetricFieldMaxValues( m_aPageSize ); } }} diff --git a/sd/source/ui/sidebar/SlideBackground.hxx b/sd/source/ui/sidebar/SlideBackground.hxx index 4463f233b80b..804b6571b20d 100644 --- a/sd/source/ui/sidebar/SlideBackground.hxx +++ b/sd/source/ui/sidebar/SlideBackground.hxx @@ -95,10 +95,7 @@ private: VclPtr