summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Luth <justin.luth@collabora.com>2018-11-28 16:17:22 +0300
committerJustin Luth <justin_luth@sil.org>2019-01-15 19:50:35 +0100
commit3539a1efb41a787237e4333ebc715db96ffacb5b (patch)
treea671c2f9d57a33bd6e55d5835223c30461f557c1
parente1e772e40f83a8f1d7c4947c5784e1fe8b640d5b (diff)
tdf#116071 ww8import: import to XATTR_FILL instead of RES_BACKGROUND
The new XATTR_FILL* was introduced a few years ago and the UI changed to that, but .doc import was still importing into RES_BACKGROUND and although the property showed up OK, it couldn't be changed or seen by the UI and somehow hidden/unavailable as UNO properties. Change-Id: Iea1805a321a306994ab23bb66a354dca8e3a3d40 Reviewed-on: https://gerrit.libreoffice.org/64186 Reviewed-by: Justin Luth <justin_luth@sil.org> Tested-by: Justin Luth <justin_luth@sil.org>
-rw-r--r--sw/qa/extras/ww8export/data/tdf121111_fillStyleNone.docxbin0 -> 53968 bytes
-rw-r--r--sw/qa/extras/ww8export/ww8export3.cxx13
-rw-r--r--sw/source/filter/ww8/ww8par6.cxx9
3 files changed, 20 insertions, 2 deletions
diff --git a/sw/qa/extras/ww8export/data/tdf121111_fillStyleNone.docx b/sw/qa/extras/ww8export/data/tdf121111_fillStyleNone.docx
new file mode 100644
index 000000000000..434d182eb7ca
--- /dev/null
+++ b/sw/qa/extras/ww8export/data/tdf121111_fillStyleNone.docx
Binary files differ
diff --git a/sw/qa/extras/ww8export/ww8export3.cxx b/sw/qa/extras/ww8export/ww8export3.cxx
index 60bf801b25ef..836ee562a7b7 100644
--- a/sw/qa/extras/ww8export/ww8export3.cxx
+++ b/sw/qa/extras/ww8export/ww8export3.cxx
@@ -18,6 +18,7 @@
#include <com/sun/star/text/XTextTablesSupplier.hpp>
#include <drawdoc.hxx>
+#include <svx/xfillit0.hxx>
class Test : public SwModelTestBase
{
@@ -169,6 +170,18 @@ DECLARE_WW8EXPORT_TEST(testTdf120225_textControlCrossRef, "tdf120225_textControl
CPPUNIT_ASSERT_EQUAL(OUString("Text1"), sTextFieldName);
}
+DECLARE_WW8EXPORT_TEST(testTdf121111_fillStyleNone, "tdf121111_fillStyleNone.docx")
+{
+ uno::Reference<beans::XPropertySet> xStyle(getStyles("ParagraphStyles")->getByName("Numbering - First level"),
+ uno::UNO_QUERY);
+ CPPUNIT_ASSERT_EQUAL(Color(184,204,228), Color(getProperty<sal_uInt32>(xStyle, "ParaBackColor")));//R:184 G:204 B:228
+ CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_SOLID, getProperty<drawing::FillStyle>(xStyle, "FillStyle"));
+
+ uno::Reference<text::XTextRange> xText(getParagraph(12));
+ CPPUNIT_ASSERT_EQUAL(COL_AUTO, Color(getProperty<sal_uInt32>(xText, "ParaBackColor")));
+ CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_SOLID, getProperty<drawing::FillStyle>(xText, "FillStyle"));
+}
+
DECLARE_WW8EXPORT_TEST(testTdf94009_zeroPgMargin, "tdf94009_zeroPgMargin.odt")
{
uno::Reference<beans::XPropertySet> defaultStyle(getStyles("PageStyles")->getByName("Standard"),
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index 2b12c2619a1b..1f2487dfa51b 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -68,6 +68,8 @@
#include <editeng/frmdiritem.hxx>
#include <editeng/charhiddenitem.hxx>
#include <i18nlangtag/mslangid.hxx>
+#include <svx/xfillit0.hxx>
+#include <svx/xflclit.hxx>
#include "sprmids.hxx"
#include <fmtpdsc.hxx>
#include <node.hxx>
@@ -4877,7 +4879,8 @@ void SwWW8ImplReader::Read_Shade( sal_uInt16, const sal_uInt8* pData, short nLen
aSHD.SetWWValue( *reinterpret_cast<SVBT16 const *>(pData) );
SwWW8Shade aSh( m_bVer67, aSHD );
- NewAttr(SvxBrushItem(aSh.aColor, RES_BACKGROUND));
+ NewAttr( XFillStyleItem(drawing::FillStyle_SOLID) );
+ NewAttr( XFillColorItem(OUString(), aSh.aColor) );
}
}
@@ -4893,7 +4896,9 @@ void SwWW8ImplReader::Read_ParaBackColor(sal_uInt16, const sal_uInt8* pData, sho
OSL_ENSURE(nLen == 10, "Len of para back colour not 10!");
if (nLen != 10)
return;
- NewAttr(SvxBrushItem(ExtractColour(pData, m_bVer67), RES_BACKGROUND));
+
+ NewAttr( XFillStyleItem(drawing::FillStyle_SOLID) );
+ NewAttr( XFillColorItem(OUString(), ExtractColour(pData, m_bVer67)) );
}
}