diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-03-14 09:38:44 +0100 |
---|---|---|
committer | Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> | 2017-03-17 10:14:39 +0000 |
commit | b5c4e120540053d0cb737720503cb7038f12d5bd (patch) | |
tree | 376f72ff2ca62ce5d902263e7fc1039233c69a3e | |
parent | d846a0d7643cf32a43069d9beb3a419a5a4af9f4 (diff) |
tdf#105729 RTF import: \ltrpar should not override \qc from style
This is similar to commit 92fd894ea18672cba4cf961bdc4c0bc98f168102
(tdf#94435 RTF import: \ltrpar should not override \qc, 2015-10-05),
except that here the \qc is inherited from the style, it's not a direct
formatting. The problematic code was added in commit
2638faa2e834c2da4c195224fd88d32c29b3d0cc (writerfilter08ooo330: applied
patch for writerfilter08, 2010-07-28), and it's not really clear to me
what is its purpose, given that the DOC import equivalent in
SwWW8ImplReader::Read_ParaBiDi() doesn't set the paragraph alignment.
Fix the situation by not touching the paragraph alignment for the RTF
case at least.
(cherry picked from commit 2cc5f18d10cf6ef1349d9518e6f67977f7c5d9bf)
Change-Id: I2baa2c8c8012d972740da7cf3f710117812859b3
Reviewed-on: https://gerrit.libreoffice.org/35190
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
-rw-r--r-- | sw/qa/extras/rtfimport/data/tdf105729.rtf | 9 | ||||
-rw-r--r-- | sw/qa/extras/rtfimport/rtfimport.cxx | 6 | ||||
-rw-r--r-- | writerfilter/source/dmapper/DomainMapper.cxx | 6 |
3 files changed, 19 insertions, 2 deletions
diff --git a/sw/qa/extras/rtfimport/data/tdf105729.rtf b/sw/qa/extras/rtfimport/data/tdf105729.rtf new file mode 100644 index 000000000000..996dd37b0057 --- /dev/null +++ b/sw/qa/extras/rtfimport/data/tdf105729.rtf @@ -0,0 +1,9 @@ +{\rtf1 +{\stylesheet +{\s16\qc +Titel 1;} +} +\pard\plain \ltrpar\s16\qc +Centered Title +\par +} diff --git a/sw/qa/extras/rtfimport/rtfimport.cxx b/sw/qa/extras/rtfimport/rtfimport.cxx index 1b9a2cc368a1..79f82d72dedb 100644 --- a/sw/qa/extras/rtfimport/rtfimport.cxx +++ b/sw/qa/extras/rtfimport/rtfimport.cxx @@ -2746,6 +2746,12 @@ DECLARE_RTFIMPORT_TEST(testTdf104287, "tdf104287.rtf") CPPUNIT_ASSERT(xShape->getAnchor().is()); } +DECLARE_RTFIMPORT_TEST(testTdf105729, "tdf105729.rtf") +{ + // This was style::ParagraphAdjust_LEFT, \ltrpar undone the effect of \qc from style. + CPPUNIT_ASSERT_EQUAL(style::ParagraphAdjust_CENTER, static_cast<style::ParagraphAdjust>(getProperty<sal_Int16>(getParagraph(1), "ParaAdjust"))); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/writerfilter/source/dmapper/DomainMapper.cxx b/writerfilter/source/dmapper/DomainMapper.cxx index fe7b9a97b0b4..79a12523f999 100644 --- a/writerfilter/source/dmapper/DomainMapper.cxx +++ b/writerfilter/source/dmapper/DomainMapper.cxx @@ -1445,12 +1445,14 @@ void DomainMapper::sprmWithProps( Sprm& rSprm, const PropertyMapPtr& rContext ) if (nIntValue != 0) { rContext->Insert(PROP_WRITING_MODE, uno::makeAny( text::WritingMode2::RL_TB )); - rContext->Insert(PROP_PARA_ADJUST, uno::makeAny( style::ParagraphAdjust_RIGHT ), /*bOverwrite=*/false); + if (!IsRTFImport()) + rContext->Insert(PROP_PARA_ADJUST, uno::makeAny( style::ParagraphAdjust_RIGHT ), /*bOverwrite=*/false); } else { rContext->Insert(PROP_WRITING_MODE, uno::makeAny( text::WritingMode2::LR_TB )); - rContext->Insert(PROP_PARA_ADJUST, uno::makeAny( style::ParagraphAdjust_LEFT ), /*bOverwrite=*/false); + if (!IsRTFImport()) + rContext->Insert(PROP_PARA_ADJUST, uno::makeAny( style::ParagraphAdjust_LEFT ), /*bOverwrite=*/false); } } |