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>
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 0000000..434d182
--- /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 60bf801..836ee56 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 @@
    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 2b12c26..1f2487d 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 @@
        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 @@
        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)) );
    }
}