diff options
-rw-r--r-- | cui/source/inc/border.hxx | 1 | ||||
-rw-r--r-- | cui/source/tabpages/border.cxx | 19 | ||||
-rw-r--r-- | include/svx/svxids.hrc | 2 | ||||
-rw-r--r-- | sw/source/uibase/shells/frmsh.cxx | 4 |
4 files changed, 19 insertions, 7 deletions
diff --git a/cui/source/inc/border.hxx b/cui/source/inc/border.hxx index c32dba59e174..9675b1029a94 100644 --- a/cui/source/inc/border.hxx +++ b/cui/source/inc/border.hxx @@ -111,6 +111,7 @@ private: bool mbTLBREnabled; ///< true = Top-left to bottom-right border enabled. bool mbBLTREnabled; ///< true = Bottom-left to top-right border enabled. bool mbUseMarginItem; + bool mbAllowPaddingWithoutBorders; bool mbSync; bool mbRemoveAdjacentCellBorders; bool bIsCalcDoc; diff --git a/cui/source/tabpages/border.cxx b/cui/source/tabpages/border.cxx index 05c8914abc5c..d74ae35b723a 100644 --- a/cui/source/tabpages/border.cxx +++ b/cui/source/tabpages/border.cxx @@ -102,6 +102,7 @@ SvxBorderTabPage::SvxBorderTabPage(vcl::Window* pParent, const SfxItemSet& rCore mbTLBREnabled( false ), mbBLTREnabled( false ), mbUseMarginItem( false ), + mbAllowPaddingWithoutBorders( false ), mbSync(true), mbRemoveAdjacentCellBorders( false ), bIsCalcDoc( false ) @@ -180,6 +181,11 @@ SvxBorderTabPage::SvxBorderTabPage(vcl::Window* pParent, const SfxItemSet& rCore m_pLineWidthMF->SetValue(p->GetValue()); } + if (rCoreAttrs.HasItem(SID_ALLOW_PADDING_WITHOUT_BORDERS, &pItem)) + { + mbAllowPaddingWithoutBorders = static_cast<const SfxBoolItem*>(pItem)->GetValue(); + } + // set metric FieldUnit eFUnit = GetModuleFieldUnit( rCoreAttrs ); @@ -698,10 +704,11 @@ bool SvxBorderTabPage::FillItemSet( SfxItemSet* rCoreAttrs ) if( !m_pLeftMF->GetText().isEmpty() || !m_pRightMF->GetText().isEmpty() || !m_pTopMF->GetText().isEmpty() || !m_pBottomMF->GetText().isEmpty() ) { - if ( ((mbHorEnabled || mbVerEnabled || (nSWMode & SwBorderModes::TABLE)) && - (m_pLeftMF->IsModified()||m_pRightMF->IsModified()|| - m_pTopMF->IsModified()||m_pBottomMF->IsModified()) )|| - m_pFrameSel->GetFrameBorderState( svx::FrameBorderType::Top ) != svx::FrameBorderState::Hide + if ( mbAllowPaddingWithoutBorders + || ((mbHorEnabled || mbVerEnabled || (nSWMode & SwBorderModes::TABLE)) && + (m_pLeftMF->IsModified()||m_pRightMF->IsModified()|| + m_pTopMF->IsModified()||m_pBottomMF->IsModified()) ) + || m_pFrameSel->GetFrameBorderState( svx::FrameBorderType::Top ) != svx::FrameBorderState::Hide || m_pFrameSel->GetFrameBorderState( svx::FrameBorderType::Bottom ) != svx::FrameBorderState::Hide || m_pFrameSel->GetFrameBorderState( svx::FrameBorderType::Left ) != svx::FrameBorderState::Hide || m_pFrameSel->GetFrameBorderState( svx::FrameBorderType::Right ) != svx::FrameBorderState::Hide ) @@ -1156,7 +1163,7 @@ IMPL_LINK_NOARG(SvxBorderTabPage, LinesChanged_Impl, LinkParamNone*, void) m_pRightMF->SetFirst(0); m_pTopMF->SetFirst(0); m_pBottomMF->SetFirst(0); - if(!bSpaceModified) + if(!bSpaceModified && !mbAllowPaddingWithoutBorders) { m_pLeftMF->SetValue(0); m_pRightMF->SetValue(0); @@ -1168,7 +1175,7 @@ IMPL_LINK_NOARG(SvxBorderTabPage, LinesChanged_Impl, LinkParamNone*, void) SvxBoxInfoItemValidFlags nValid = SvxBoxInfoItemValidFlags::TOP|SvxBoxInfoItemValidFlags::BOTTOM|SvxBoxInfoItemValidFlags::LEFT|SvxBoxInfoItemValidFlags::RIGHT; // for other objects (paragraph, page, frame, character) the edit is disabled, if there's no border set - if(!(nSWMode & SwBorderModes::TABLE)) + if(!(nSWMode & SwBorderModes::TABLE) && !mbAllowPaddingWithoutBorders) { if(bLineSet) { diff --git a/include/svx/svxids.hrc b/include/svx/svxids.hrc index b3fa887dc087..f2a301c63797 100644 --- a/include/svx/svxids.hrc +++ b/include/svx/svxids.hrc @@ -964,7 +964,7 @@ #define FN_SVX_SET_NUMBER ( SID_SVX_START + 1136 ) #define FN_SVX_SET_BULLET ( SID_SVX_START + 1137 ) #define FN_SVX_SET_OUTLINE ( SID_SVX_START + 1138 ) - +#define SID_ALLOW_PADDING_WITHOUT_BORDERS ( SID_SVX_START + 1139 ) #define SID_ATTR_BORDER_STYLES ( SID_SVX_START + 1140 ) #define SID_ATTR_BORDER_DEFAULT_WIDTH ( SID_SVX_START + 1141 ) // 1142 is used by editeng (SID_ATTR_CHAR_GRABBAG) diff --git a/sw/source/uibase/shells/frmsh.cxx b/sw/source/uibase/shells/frmsh.cxx index 6406fcada123..d1eb5f0b56dc 100644 --- a/sw/source/uibase/shells/frmsh.cxx +++ b/sw/source/uibase/shells/frmsh.cxx @@ -405,6 +405,7 @@ void SwFrameShell::Execute(SfxRequest &rReq) SID_COLOR_TABLE, SID_PATTERN_LIST, // [10179 SID_HTML_MODE, SID_HTML_MODE, // [10414 + SID_ALLOW_PADDING_WITHOUT_BORDERS, SID_ALLOW_PADDING_WITHOUT_BORDERS, // [11139 FN_GET_PRINT_AREA, FN_GET_PRINT_AREA, // [21032 FN_SURROUND, FN_HORI_ORIENT, // [21303 FN_SET_FRM_NAME, FN_KEEP_ASPECT_RATIO, // [21306 @@ -456,6 +457,9 @@ void SwFrameShell::Execute(SfxRequest &rReq) const uno::Reference < embed::XEmbeddedObject > xObj( rSh.GetOleRef() ); aSet.Put( SfxBoolItem( FN_OLE_IS_MATH, xObj.is() && SotExchange::IsMath( xObj->getClassID() ) ) ); + aSet.Put( SfxBoolItem( SID_ALLOW_PADDING_WITHOUT_BORDERS, + rSh.GetDoc()->getIDocumentSettingAccess().get(DocumentSettingId::ALLOW_PADDING_WITHOUT_BORDERS) ) ); + OString sDefPage; if(pArgs && pArgs->GetItemState(FN_FORMAT_FRAME_DLG, false, &pItem) == SfxItemState::SET) sDefPage = OUStringToOString(static_cast<const SfxStringItem *>(pItem)->GetValue(), RTL_TEXTENCODING_UTF8); |