[Libreoffice-commits] core.git: Branch 'libreoffice-5-2' - sw/inc sw/source writerfilter/source
Justin Luth
justin_luth at sil.org
Wed Aug 31 15:39:34 UTC 2016
sw/inc/IDocumentSettingAccess.hxx | 1 +
sw/source/core/doc/DocumentSettingManager.cxx | 6 ++++++
sw/source/core/inc/DocumentSettingManager.hxx | 1 +
sw/source/core/layout/flowfrm.cxx | 4 +++-
sw/source/uibase/uno/SwXDocumentSettings.cxx | 13 +++++++++++++
writerfilter/source/filter/WriterFilter.cxx | 1 +
6 files changed, 25 insertions(+), 1 deletion(-)
New commits:
commit 9de59d3c63a27793ed8afe74f19d7e79bcfedead
Author: Justin Luth <justin_luth at sil.org>
Date: Wed Aug 31 08:55:36 2016 +0300
tdf#76349 writer: make 1column-as-page break a compatibility option
Reviewed-on: https://gerrit.libreoffice.org/28501
Reviewed-by: Michael Stahl <mstahl at redhat.com>
master commit: 93d7fc90b57bb08052299c94fa0a28bb8f494a9c
Change-Id: I3135565ea6b3463d3854206cd221d73be3650468
Reviewed-on: https://gerrit.libreoffice.org/28534
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Justin Luth <justin_luth at sil.org>
Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
diff --git a/sw/inc/IDocumentSettingAccess.hxx b/sw/inc/IDocumentSettingAccess.hxx
index e02cbce..f16ae42 100644
--- a/sw/inc/IDocumentSettingAccess.hxx
+++ b/sw/inc/IDocumentSettingAccess.hxx
@@ -52,6 +52,7 @@ enum class DocumentSettingId
IGNORE_FIRST_LINE_INDENT_IN_NUMBERING,
DO_NOT_JUSTIFY_LINES_WITH_MANUAL_BREAK,
+ TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK,
DO_NOT_RESET_PARA_ATTRS_FOR_NUM_FONT,
OUTLINE_LEVEL_YIELDS_OUTLINE_RULE,
diff --git a/sw/source/core/doc/DocumentSettingManager.cxx b/sw/source/core/doc/DocumentSettingManager.cxx
index bdcc1ea..5cf29c0 100644
--- a/sw/source/core/doc/DocumentSettingManager.cxx
+++ b/sw/source/core/doc/DocumentSettingManager.cxx
@@ -81,6 +81,7 @@ sw::DocumentSettingManager::DocumentSettingManager(SwDoc &rDoc)
mbClippedPictures(false),
mbBackgroundParaOverDrawings(false),
mbTabOverMargin(false),
+ mbTreatSingleColumnBreakAsPageBreak(false),
mbSurroundTextWrapSmall(false),
mbPropLineSpacingShrinksFirstLine(true),
mbSubtractFlys(false),
@@ -175,6 +176,7 @@ bool sw::DocumentSettingManager::get(/*[in]*/ DocumentSettingId id) const
case DocumentSettingId::CLIPPED_PICTURES: return mbClippedPictures;
case DocumentSettingId::BACKGROUND_PARA_OVER_DRAWINGS: return mbBackgroundParaOverDrawings;
case DocumentSettingId::TAB_OVER_MARGIN: return mbTabOverMargin;
+ case DocumentSettingId::TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK: return mbTreatSingleColumnBreakAsPageBreak;
case DocumentSettingId::SURROUND_TEXT_WRAP_SMALL: return mbSurroundTextWrapSmall;
case DocumentSettingId::PROP_LINE_SPACING_SHRINKS_FIRST_LINE: return mbPropLineSpacingShrinksFirstLine;
case DocumentSettingId::SUBTRACT_FLYS: return mbSubtractFlys;
@@ -339,6 +341,10 @@ void sw::DocumentSettingManager::set(/*[in]*/ DocumentSettingId id, /*[in]*/ boo
mbTabOverMargin = value;
break;
+ case DocumentSettingId::TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK:
+ mbTreatSingleColumnBreakAsPageBreak = value;
+ break;
+
case DocumentSettingId::SURROUND_TEXT_WRAP_SMALL:
mbSurroundTextWrapSmall = value;
break;
diff --git a/sw/source/core/inc/DocumentSettingManager.hxx b/sw/source/core/inc/DocumentSettingManager.hxx
index eebd1db..b971cc5 100644
--- a/sw/source/core/inc/DocumentSettingManager.hxx
+++ b/sw/source/core/inc/DocumentSettingManager.hxx
@@ -147,6 +147,7 @@ class DocumentSettingManager :
bool mbClippedPictures;
bool mbBackgroundParaOverDrawings;
bool mbTabOverMargin;
+ bool mbTreatSingleColumnBreakAsPageBreak;
bool mbSurroundTextWrapSmall;
bool mbPropLineSpacingShrinksFirstLine; // fdo#79602
bool mbSubtractFlys; // tdf#86578
diff --git a/sw/source/core/layout/flowfrm.cxx b/sw/source/core/layout/flowfrm.cxx
index 3f708e2..c48029a 100644
--- a/sw/source/core/layout/flowfrm.cxx
+++ b/sw/source/core/layout/flowfrm.cxx
@@ -1128,10 +1128,12 @@ bool SwFlowFrame::IsPageBreak( bool bAct ) const
}
//for compatibility, also break at column break if no columns exist
+ const IDocumentSettingAccess& rIDSA = m_rThis.GetUpper()->GetFormat()->getIDocumentSettingAccess();
+ const bool bTreatSingleColumnBreakAsPageBreak = rIDSA.get(DocumentSettingId::TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK);
const SvxBreak eBreak = pSet->GetBreak().GetBreak();
if ( eBreak == SVX_BREAK_PAGE_BEFORE ||
eBreak == SVX_BREAK_PAGE_BOTH ||
- (eBreak == SVX_BREAK_COLUMN_BEFORE && !m_rThis.FindColFrame()) )
+ ( bTreatSingleColumnBreakAsPageBreak && eBreak == SVX_BREAK_COLUMN_BEFORE && !m_rThis.FindColFrame() ))
return true;
else
{
diff --git a/sw/source/uibase/uno/SwXDocumentSettings.cxx b/sw/source/uibase/uno/SwXDocumentSettings.cxx
index d5168c1..0d80269 100644
--- a/sw/source/uibase/uno/SwXDocumentSettings.cxx
+++ b/sw/source/uibase/uno/SwXDocumentSettings.cxx
@@ -127,6 +127,7 @@ enum SwDocumentSettingsPropertyHandles
HANDLE_EMBED_FONTS,
HANDLE_EMBED_SYSTEM_FONTS,
HANDLE_TAB_OVER_MARGIN,
+ HANDLE_TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK,
HANDLE_SURROUND_TEXT_WRAP_SMALL,
HANDLE_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING,
HANDLE_PROP_LINE_SPACING_SHRINKS_FIRST_LINE,
@@ -202,6 +203,7 @@ static MasterPropertySetInfo * lcl_createSettingsInfo()
{ OUString("EmbedFonts"), HANDLE_EMBED_FONTS, cppu::UnoType<bool>::get(), 0},
{ OUString("EmbedSystemFonts"), HANDLE_EMBED_SYSTEM_FONTS, cppu::UnoType<bool>::get(), 0},
{ OUString("TabOverMargin"), HANDLE_TAB_OVER_MARGIN, cppu::UnoType<bool>::get(), 0},
+ { OUString("TreatSingleColumnBreakAsPageBreak"), HANDLE_TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK, cppu::UnoType<bool>::get(), 0},
{ OUString("SurroundTextWrapSmall"), HANDLE_SURROUND_TEXT_WRAP_SMALL, cppu::UnoType<bool>::get(), 0},
{ OUString("ApplyParagraphMarkFormatToNumbering"), HANDLE_APPLY_PARAGRAPH_MARK_FORMAT_TO_NUMBERING, cppu::UnoType<bool>::get(), 0},
{ OUString("PropLineSpacingShrinksFirstLine"), HANDLE_PROP_LINE_SPACING_SHRINKS_FIRST_LINE, cppu::UnoType<bool>::get(), 0},
@@ -814,6 +816,12 @@ void SwXDocumentSettings::_setSingleValue( const comphelper::PropertyInfo & rInf
mpDoc->getIDocumentSettingAccess().set(DocumentSettingId::TAB_OVER_MARGIN, bTmp);
}
break;
+ case HANDLE_TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK:
+ {
+ bool bTmp = *static_cast<sal_Bool const *>(rValue.getValue());
+ mpDoc->getIDocumentSettingAccess().set(DocumentSettingId::TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK, bTmp);
+ }
+ break;
case HANDLE_SURROUND_TEXT_WRAP_SMALL:
{
bool bTmp = *static_cast<sal_Bool const *>(rValue.getValue());
@@ -1239,6 +1247,11 @@ void SwXDocumentSettings::_getSingleValue( const comphelper::PropertyInfo & rInf
rValue <<= mpDoc->getIDocumentSettingAccess().get( DocumentSettingId::TAB_OVER_MARGIN );
}
break;
+ case HANDLE_TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK:
+ {
+ rValue <<= mpDoc->getIDocumentSettingAccess().get( DocumentSettingId::TREAT_SINGLE_COLUMN_BREAK_AS_PAGE_BREAK );
+ }
+ break;
case HANDLE_SURROUND_TEXT_WRAP_SMALL:
{
rValue <<= mpDoc->getIDocumentSettingAccess().get( DocumentSettingId::SURROUND_TEXT_WRAP_SMALL );
diff --git a/writerfilter/source/filter/WriterFilter.cxx b/writerfilter/source/filter/WriterFilter.cxx
index e93fe96..35afa3d 100644
--- a/writerfilter/source/filter/WriterFilter.cxx
+++ b/writerfilter/source/filter/WriterFilter.cxx
@@ -290,6 +290,7 @@ void WriterFilter::setTargetDocument(const uno::Reference< lang::XComponent >& x
xSettings->setPropertyValue("InvertBorderSpacing", uno::makeAny(true));
xSettings->setPropertyValue("CollapseEmptyCellPara", uno::makeAny(true));
xSettings->setPropertyValue("TabOverflow", uno::makeAny(true));
+ xSettings->setPropertyValue("TreatSingleColumnBreakAsPageBreak", uno::makeAny(true));
xSettings->setPropertyValue("UnbreakableNumberings", uno::makeAny(true));
xSettings->setPropertyValue("FloattableNomargins", uno::makeAny(true));
More information about the Libreoffice-commits
mailing list