[Libreoffice-commits] core.git: 5 commits - svx/source sw/inc sw/qa sw/source xmloff/source

Michael Stahl mstahl at redhat.com
Tue Apr 14 08:44:22 PDT 2015


 svx/source/dialog/svxruler.cxx                 |   10 +++
 svx/source/unodraw/unobrushitemhelper.cxx      |   27 +++++-----
 sw/inc/unoprnms.hxx                            |   52 +++++++++++++++++++
 sw/qa/extras/odfimport/data/PageBackground.odt |binary
 sw/qa/extras/odfimport/odfimport.cxx           |   17 ++++++
 sw/source/core/unocore/unomap.cxx              |   66 +++++++++++++++++++++++++
 xmloff/source/style/PageMasterStyleMap.cxx     |    1 
 7 files changed, 160 insertions(+), 13 deletions(-)

New commits:
commit b82791e3c586d6e4247d0eb1bb94681bcb113762
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Apr 14 16:25:42 2015 +0200

    tdf#89478: svx: ODF import: SvxBrushItem Graphics should override Color
    
    The bugdoc has:
    
    <style:page-layout-properties fo:background-color="#007f7f" >
        <style:background-image
         xlink:href="Pictures/2000003900002FA3000055F455EC9F63.svm"/>
    </style:page-layout-properties>
    
    In this case it's clearly better to prefer the Graphics.
    
    The old code could actually store both in the model but the UI only
    allows setting either Color or Graphic, so this should be good enough.
    
    (regression from 7d9bb549d498d6beed2c4050c402d09643febdfa)
    
    Change-Id: Id33231ad90815d9791f90289fb0b55455d334c14

diff --git a/svx/source/unodraw/unobrushitemhelper.cxx b/svx/source/unodraw/unobrushitemhelper.cxx
index 4a2ec1d..d10aab6 100644
--- a/svx/source/unodraw/unobrushitemhelper.cxx
+++ b/svx/source/unodraw/unobrushitemhelper.cxx
@@ -50,19 +50,8 @@ void setSvxBrushItemAsFillAttributesToTargetSet(const SvxBrushItem& rBrush, SfxI
 
     const sal_uInt8 nTransparency(rBrush.GetColor().GetTransparency());
 
-    if(0xff != nTransparency)
-    {
-        // we have a color fill
-        const Color aColor(rBrush.GetColor().GetRGBColor());
-
-        rToSet.Put(XFillStyleItem(drawing::FillStyle_SOLID));
-        rToSet.Put(XFillColorItem(OUString(), aColor));
-
-        // #125189# nTransparency is in range [0..254], convert to [0..100] which is used in
-        // XFillTransparenceItem (caution with the range which is in an *item-specific* range)
-        rToSet.Put(XFillTransparenceItem((((sal_Int32)nTransparency * 100) + 127) / 254));
-    }
-    else if(GPOS_NONE != rBrush.GetGraphicPos())
+    // tdf#89478 check for image first
+    if (GPOS_NONE != rBrush.GetGraphicPos())
     {
         // we have a graphic fill, set fill style
         rToSet.Put(XFillStyleItem(drawing::FillStyle_BITMAP));
@@ -131,6 +120,18 @@ void setSvxBrushItemAsFillAttributesToTargetSet(const SvxBrushItem& rBrush, SfxI
             rToSet.Put(XFillTransparenceItem(nGraphicTransparency));
         }
     }
+    else if (0xff != nTransparency)
+    {
+        // we have a color fill
+        const Color aColor(rBrush.GetColor().GetRGBColor());
+
+        rToSet.Put(XFillStyleItem(drawing::FillStyle_SOLID));
+        rToSet.Put(XFillColorItem(OUString(), aColor));
+
+        // #125189# nTransparency is in range [0..254], convert to [0..100] which is used in
+        // XFillTransparenceItem (caution with the range which is in an *item-specific* range)
+        rToSet.Put(XFillTransparenceItem((((sal_Int32)nTransparency * 100) + 127) / 254));
+    }
     else
     {
         // GPOS_NONE == rBrush.GetGraphicPos() && 0xff == rBrush.GetColor().GetTransparency(),
diff --git a/sw/qa/extras/odfimport/data/PageBackground.odt b/sw/qa/extras/odfimport/data/PageBackground.odt
index dbb1082..3733d5b 100644
Binary files a/sw/qa/extras/odfimport/data/PageBackground.odt and b/sw/qa/extras/odfimport/data/PageBackground.odt differ
diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx
index f967f34..551c2de 100644
--- a/sw/qa/extras/odfimport/odfimport.cxx
+++ b/sw/qa/extras/odfimport/odfimport.cxx
@@ -316,6 +316,12 @@ DECLARE_ODFIMPORT_TEST(testPageBackground, "PageBackground.odt")
     CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_BITMAP, getProperty<drawing::FillStyle>(xPropertySet, "FillStyle"));
     CPPUNIT_ASSERT_EQUAL(OUString("Sky"), getProperty<OUString>(xPropertySet, "FillBitmapName"));
     CPPUNIT_ASSERT_EQUAL(drawing::BitmapMode_REPEAT, getProperty<drawing::BitmapMode>(xPropertySet, "FillBitmapMode"));
+
+    uno::Reference<beans::XPropertySet> xPropertySetOld(getStyles("PageStyles")->getByName("OldStandard"), uno::UNO_QUERY);
+    // The background image was overridden by color
+    CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_BITMAP, getProperty<drawing::FillStyle>(xPropertySetOld, "FillStyle"));
+    CPPUNIT_ASSERT_EQUAL(OUString("Sky"), getProperty<OUString>(xPropertySetOld, "FillBitmapName"));
+    CPPUNIT_ASSERT_EQUAL(drawing::BitmapMode_REPEAT, getProperty<drawing::BitmapMode>(xPropertySetOld, "FillBitmapMode"));
 }
 
 DECLARE_ODFIMPORT_TEST(testFdo56272, "fdo56272.odt")
commit ea8db4ad8e1c75c3ab2f31fea4e061600231f9d1
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Apr 14 14:35:44 2015 +0200

    xmloff: add back the presumably accidentally removed "FootnoteLineStyle"
    
    (regression from 7d9bb549d498d6beed2c4050c402d09643febdfa)
    
    Change-Id: I67ec4516ff431efd47451ff07fc261ba32e80385

diff --git a/xmloff/source/style/PageMasterStyleMap.cxx b/xmloff/source/style/PageMasterStyleMap.cxx
index 92c5575..092e694 100644
--- a/xmloff/source/style/PageMasterStyleMap.cxx
+++ b/xmloff/source/style/PageMasterStyleMap.cxx
@@ -155,6 +155,7 @@ const XMLPropertyMapEntry aXMLPageMasterStyleMap[] =
     PLMAP( "FootnoteLineRelativeWidth", XML_NAMESPACE_STYLE,    XML__EMPTY,     XML_TYPE_PERCENT8|MID_FLAG_SPECIAL_ITEM,    CTF_PM_FTN_LINE_WIDTH ),
     PLMAP( "FootnoteLineTextDistance", XML_NAMESPACE_STYLE,    XML__EMPTY,     XML_TYPE_MEASURE|MID_FLAG_SPECIAL_ITEM,    CTF_PM_FTN_LINE_DISTANCE ),
     PLMAP( "FootnoteLineWeight",        XML_NAMESPACE_STYLE,    XML_FOOTNOTE_SEP,    XML_TYPE_MEASURE16|MID_FLAG_ELEMENT_ITEM,    CTF_PM_FTN_LINE_WEIGHT ),
+    PLMAP( "FootnoteLineStyle",     XML_NAMESPACE_STYLE,    XML_EMPTY,  XML_TYPE_STRING|MID_FLAG_ELEMENT_ITEM,  CTF_PM_FTN_LINE_STYLE ),
 
     //////////////////////////////////////////////////////////////////////////
     //UUUUIndex 92: Section for 'header-style' own section, all members *have* to use CTF_PM_HEADERFLAG in the context entry (the 5th one)
commit 65a56636a68451d15499a37c2d5bd9efb71b1279
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Apr 14 10:37:01 2015 +0200

    tdf#88337 tdf#89193: sw: add missing SwXPageStyle properties
    
    Add the fill style properties so background images etc. are not lost.
    
    (regression from 7d9bb549d498d6beed2c4050c402d09643febdfa)
    
    Change-Id: I517350eec2f32e4b4bb80427666aad23a31d666a

diff --git a/sw/inc/unoprnms.hxx b/sw/inc/unoprnms.hxx
index e4d24cd..0678dee 100644
--- a/sw/inc/unoprnms.hxx
+++ b/sw/inc/unoprnms.hxx
@@ -608,7 +608,59 @@
 #define UNO_NAME_SW_FILLTRANSPARENCEGRADIENTNAME UNO_NAME_FILLTRANSPARENCEGRADIENTNAME
 #define UNO_NAME_SW_FILLCOLOR_2 UNO_NAME_FILLCOLOR_2
 
+#define UNO_NAME_HEADER_FILLBMP_LOGICAL_SIZE "HeaderFillBitmapLogicalSize"
+#define UNO_NAME_HEADER_FILLBMP_OFFSET_X "HeaderFillBitmapOffsetX"
+#define UNO_NAME_HEADER_FILLBMP_OFFSET_Y "HeaderFillBitmapOffsetY"
+#define UNO_NAME_HEADER_FILLBMP_POSITION_OFFSET_X "HeaderFillBitmapPositionOffsetX"
+#define UNO_NAME_HEADER_FILLBMP_POSITION_OFFSET_Y "HeaderFillBitmapPositionOffsetY"
+#define UNO_NAME_HEADER_FILLBMP_RECTANGLE_POINT "HeaderFillBitmapRectanglePoint"
+#define UNO_NAME_HEADER_FILLBMP_SIZE_X "HeaderFillBitmapSizeX"
+#define UNO_NAME_HEADER_FILLBMP_SIZE_Y "HeaderFillBitmapSizeY"
+#define UNO_NAME_HEADER_FILLBMP_STRETCH "HeaderFillBitmapStretch"
+#define UNO_NAME_HEADER_FILLBMP_TILE "HeaderFillBitmapTile"
+#define UNO_NAME_HEADER_FILLBMP_MODE "HeaderFillBitmapMode"
+#define UNO_NAME_HEADER_FILLCOLOR "HeaderFillColor"
+#define UNO_NAME_HEADER_FILLBACKGROUND "HeaderFillBackground"
+#define UNO_NAME_HEADER_FILLBITMAP "HeaderFillBitmap"
+#define UNO_NAME_HEADER_FILLBITMAPNAME "HeaderFillBitmapName"
+#define UNO_NAME_HEADER_FILLBITMAPURL "HeaderFillBitmapURL"
+#define UNO_NAME_HEADER_FILLGRADIENTSTEPCOUNT "HeaderFillGradientStepCount"
+#define UNO_NAME_HEADER_FILLGRADIENT "HeaderFillGradient"
+#define UNO_NAME_HEADER_FILLGRADIENTNAME "HeaderFillGradientName"
+#define UNO_NAME_HEADER_FILLHATCH "HeaderFillHatch"
+#define UNO_NAME_HEADER_FILLHATCHNAME "HeaderFillHatchName"
+#define UNO_NAME_HEADER_FILLSTYLE "HeaderFillStyle"
+#define UNO_NAME_HEADER_FILL_TRANSPARENCE "HeaderFillTransparence"
+#define UNO_NAME_HEADER_FILLTRANSPARENCEGRADIENT "HeaderFillTransparenceGradient"
+#define UNO_NAME_HEADER_FILLTRANSPARENCEGRADIENTNAME "HeaderFillTransparenceGradientName"
+#define UNO_NAME_HEADER_FILLCOLOR_2 "HeaderFillColor2"
 
+#define UNO_NAME_FOOTER_FILLBMP_LOGICAL_SIZE "FooterFillBitmapLogicalSize"
+#define UNO_NAME_FOOTER_FILLBMP_OFFSET_X "FooterFillBitmapOffsetX"
+#define UNO_NAME_FOOTER_FILLBMP_OFFSET_Y "FooterFillBitmapOffsetY"
+#define UNO_NAME_FOOTER_FILLBMP_POSITION_OFFSET_X "FooterFillBitmapPositionOffsetX"
+#define UNO_NAME_FOOTER_FILLBMP_POSITION_OFFSET_Y "FooterFillBitmapPositionOffsetY"
+#define UNO_NAME_FOOTER_FILLBMP_RECTANGLE_POINT "FooterFillBitmapRectanglePoint"
+#define UNO_NAME_FOOTER_FILLBMP_SIZE_X "FooterFillBitmapSizeX"
+#define UNO_NAME_FOOTER_FILLBMP_SIZE_Y "FooterFillBitmapSizeY"
+#define UNO_NAME_FOOTER_FILLBMP_STRETCH "FooterFillBitmapStretch"
+#define UNO_NAME_FOOTER_FILLBMP_TILE "FooterFillBitmapTile"
+#define UNO_NAME_FOOTER_FILLBMP_MODE "FooterFillBitmapMode"
+#define UNO_NAME_FOOTER_FILLCOLOR "FooterFillColor"
+#define UNO_NAME_FOOTER_FILLBACKGROUND "FooterFillBackground"
+#define UNO_NAME_FOOTER_FILLBITMAP "FooterFillBitmap"
+#define UNO_NAME_FOOTER_FILLBITMAPNAME "FooterFillBitmapName"
+#define UNO_NAME_FOOTER_FILLBITMAPURL "FooterFillBitmapURL"
+#define UNO_NAME_FOOTER_FILLGRADIENTSTEPCOUNT "FooterFillGradientStepCount"
+#define UNO_NAME_FOOTER_FILLGRADIENT "FooterFillGradient"
+#define UNO_NAME_FOOTER_FILLGRADIENTNAME "FooterFillGradientName"
+#define UNO_NAME_FOOTER_FILLHATCH "FooterFillHatch"
+#define UNO_NAME_FOOTER_FILLHATCHNAME "FooterFillHatchName"
+#define UNO_NAME_FOOTER_FILLSTYLE "FooterFillStyle"
+#define UNO_NAME_FOOTER_FILL_TRANSPARENCE "FooterFillTransparence"
+#define UNO_NAME_FOOTER_FILLTRANSPARENCEGRADIENT "FooterFillTransparenceGradient"
+#define UNO_NAME_FOOTER_FILLTRANSPARENCEGRADIENTNAME "FooterFillTransparenceGradientName"
+#define UNO_NAME_FOOTER_FILLCOLOR_2 "FooterFillColor2"
 
 #define UNO_NAME_PARA_STYLEHEADING "ParaStyleHeading"
 #define UNO_NAME_PARA_STYLELEVEL1 "ParaStyleLevel1"
diff --git a/sw/qa/extras/odfimport/odfimport.cxx b/sw/qa/extras/odfimport/odfimport.cxx
index a8a3742..f967f34 100644
--- a/sw/qa/extras/odfimport/odfimport.cxx
+++ b/sw/qa/extras/odfimport/odfimport.cxx
@@ -12,6 +12,8 @@
 #if !defined(WNT)
 
 #include <com/sun/star/awt/FontWeight.hpp>
+#include <com/sun/star/drawing/FillStyle.hpp>
+#include <com/sun/star/drawing/BitmapMode.hpp>
 #include <com/sun/star/style/PageStyleLayout.hpp>
 #include <com/sun/star/table/XCell.hpp>
 #include <com/sun/star/table/BorderLine.hpp>
@@ -307,6 +309,15 @@ DECLARE_ODFIMPORT_TEST(testFdo79269_header, "fdo79269_header.odt")
     CPPUNIT_ASSERT_EQUAL(OUString("second"), xFooter->getString());
 }
 
+DECLARE_ODFIMPORT_TEST(testPageBackground, "PageBackground.odt")
+{
+    uno::Reference<beans::XPropertySet> xPropertySet(getStyles("PageStyles")->getByName("Default Style"), uno::UNO_QUERY);
+    // The background image was lost
+    CPPUNIT_ASSERT_EQUAL(drawing::FillStyle_BITMAP, getProperty<drawing::FillStyle>(xPropertySet, "FillStyle"));
+    CPPUNIT_ASSERT_EQUAL(OUString("Sky"), getProperty<OUString>(xPropertySet, "FillBitmapName"));
+    CPPUNIT_ASSERT_EQUAL(drawing::BitmapMode_REPEAT, getProperty<drawing::BitmapMode>(xPropertySet, "FillBitmapMode"));
+}
+
 DECLARE_ODFIMPORT_TEST(testFdo56272, "fdo56272.odt")
 {
     uno::Reference<drawing::XShape> xShape = getShape(1);
diff --git a/sw/source/core/unocore/unomap.cxx b/sw/source/core/unocore/unomap.cxx
index 3bd2700..0fa0229 100644
--- a/sw/source/core/unocore/unomap.cxx
+++ b/sw/source/core/unocore/unomap.cxx
@@ -1070,6 +1070,72 @@ const SfxItemPropertyMapEntry* SwUnoPropertyMapProvider::GetPropertyMapEntries(s
                     { OUString(UNO_NAME_GRID_SNAP_TO_CHARS), RES_TEXTGRID, cppu::UnoType<bool>::get(), PROPERTY_NONE, MID_GRID_SNAPTOCHARS},
                     { OUString(UNO_NAME_GRID_STANDARD_PAGE_MODE), RES_TEXTGRID, cppu::UnoType<bool>::get(), PROPERTY_NONE, MID_GRID_STANDARD_MODE},
                     { OUString(UNO_NAME_HIDDEN), FN_UNO_HIDDEN,     cppu::UnoType<bool>::get(), PROPERTY_NONE, 0},
+
+                    //UUUU added FillProperties for SW, same as FILL_PROPERTIES in svx
+                    // but need own defines in Writer due to later association of strings
+                    // and uno types (see loop at end of this method and definition of SW_PROP_NMID)
+                    // This entry is for adding that properties to style import/export
+                    FILL_PROPERTIES_SW
+
+                    //UUUU Added DrawingLayer FillStyle Properties for Header. These need an own unique name,
+                    // but reuse the same WhichIDs as the regular fill. The implementation will decide to which
+                    // group of fill properties it belongs based on the start of the name (was already done in
+                    // the implementation partially), thus all SlotNames *have* to start with 'Header'
+                    { OUString(UNO_NAME_HEADER_FILLBMP_LOGICAL_SIZE),           XATTR_FILLBMP_SIZELOG,          cppu::UnoType<bool>::get() ,        0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLBMP_OFFSET_X),               XATTR_FILLBMP_TILEOFFSETX,      cppu::UnoType<sal_Int32>::get() ,          0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLBMP_OFFSET_Y),               XATTR_FILLBMP_TILEOFFSETY,      cppu::UnoType<sal_Int32>::get() ,          0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLBMP_POSITION_OFFSET_X),      XATTR_FILLBMP_POSOFFSETX,       cppu::UnoType<sal_Int32>::get() ,          0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLBMP_POSITION_OFFSET_Y),      XATTR_FILLBMP_POSOFFSETY,       cppu::UnoType<sal_Int32>::get() ,          0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLBMP_RECTANGLE_POINT),        XATTR_FILLBMP_POS,              cppu::UnoType<css::drawing::RectanglePoint>::get() , 0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLBMP_SIZE_X),                 XATTR_FILLBMP_SIZEX,            cppu::UnoType<sal_Int32>::get() ,          0,  SFX_METRIC_ITEM},
+                    { OUString(UNO_NAME_HEADER_FILLBMP_SIZE_Y),                 XATTR_FILLBMP_SIZEY,            cppu::UnoType<sal_Int32>::get() ,          0,  SFX_METRIC_ITEM},
+                    { OUString(UNO_NAME_HEADER_FILLBMP_STRETCH),                XATTR_FILLBMP_STRETCH,          cppu::UnoType<bool>::get() ,        0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLBMP_TILE),                   XATTR_FILLBMP_TILE,             cppu::UnoType<bool>::get() ,        0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLBMP_MODE),                   OWN_ATTR_FILLBMP_MODE,          cppu::UnoType<css::drawing::BitmapMode>::get(),      0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLCOLOR),                      XATTR_FILLCOLOR,                cppu::UnoType<sal_Int32>::get(),           0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLBACKGROUND),                 XATTR_FILLBACKGROUND,           cppu::UnoType<bool>::get(),         0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLBITMAP),                     XATTR_FILLBITMAP,               cppu::UnoType<css::awt::XBitmap>::get(),       0,  MID_BITMAP},
+                    { OUString(UNO_NAME_HEADER_FILLBITMAPNAME),                 XATTR_FILLBITMAP,               cppu::UnoType<OUString>::get(),        0,  MID_NAME },
+                    { OUString(UNO_NAME_HEADER_FILLBITMAPURL),                  XATTR_FILLBITMAP,               cppu::UnoType<OUString>::get(),        0,  MID_GRAFURL },
+                    { OUString(UNO_NAME_HEADER_FILLGRADIENTSTEPCOUNT),          XATTR_GRADIENTSTEPCOUNT,        cppu::UnoType<sal_Int16>::get(),           0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLGRADIENT),                   XATTR_FILLGRADIENT,             cppu::UnoType<css::awt::Gradient>::get(),        0,  MID_FILLGRADIENT},
+                    { OUString(UNO_NAME_HEADER_FILLGRADIENTNAME),               XATTR_FILLGRADIENT,             cppu::UnoType<OUString>::get(),        0,  MID_NAME },
+                    { OUString(UNO_NAME_HEADER_FILLHATCH),                      XATTR_FILLHATCH,                cppu::UnoType<css::drawing::Hatch>::get(),           0,  MID_FILLHATCH},
+                    { OUString(UNO_NAME_HEADER_FILLHATCHNAME),                  XATTR_FILLHATCH,                cppu::UnoType<OUString>::get(),        0,  MID_NAME },
+                    { OUString(UNO_NAME_HEADER_FILLSTYLE),                      XATTR_FILLSTYLE,                cppu::UnoType<css::drawing::FillStyle>::get(),       0,  0},
+                    { OUString(UNO_NAME_HEADER_FILL_TRANSPARENCE),              XATTR_FILLTRANSPARENCE,         cppu::UnoType<sal_Int16>::get(),           0,  0},
+                    { OUString(UNO_NAME_HEADER_FILLTRANSPARENCEGRADIENT),       XATTR_FILLFLOATTRANSPARENCE,    cppu::UnoType<css::awt::Gradient>::get(),        0,  MID_FILLGRADIENT},
+                    { OUString(UNO_NAME_HEADER_FILLTRANSPARENCEGRADIENTNAME),   XATTR_FILLFLOATTRANSPARENCE,    cppu::UnoType<OUString>::get(),        0,  MID_NAME },
+                    { OUString(UNO_NAME_HEADER_FILLCOLOR_2),                    XATTR_SECONDARYFILLCOLOR,       cppu::UnoType<sal_Int32>::get(),           0,  0},
+
+                    //UUUU Added DrawingLayer FillStyle Properties for Footer, similar as for Header (see there)
+                    { OUString(UNO_NAME_FOOTER_FILLBMP_LOGICAL_SIZE),           XATTR_FILLBMP_SIZELOG,          cppu::UnoType<bool>::get() ,        0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLBMP_OFFSET_X),               XATTR_FILLBMP_TILEOFFSETX,      cppu::UnoType<sal_Int32>::get() ,          0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLBMP_OFFSET_Y),               XATTR_FILLBMP_TILEOFFSETY,      cppu::UnoType<sal_Int32>::get() ,          0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLBMP_POSITION_OFFSET_X),      XATTR_FILLBMP_POSOFFSETX,       cppu::UnoType<sal_Int32>::get() ,          0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLBMP_POSITION_OFFSET_Y),      XATTR_FILLBMP_POSOFFSETY,       cppu::UnoType<sal_Int32>::get() ,          0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLBMP_RECTANGLE_POINT),        XATTR_FILLBMP_POS,              cppu::UnoType<css::drawing::RectanglePoint>::get() , 0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLBMP_SIZE_X),                 XATTR_FILLBMP_SIZEX,            cppu::UnoType<sal_Int32>::get() ,          0,  SFX_METRIC_ITEM},
+                    { OUString(UNO_NAME_FOOTER_FILLBMP_SIZE_Y),                 XATTR_FILLBMP_SIZEY,            cppu::UnoType<sal_Int32>::get() ,          0,  SFX_METRIC_ITEM},
+                    { OUString(UNO_NAME_FOOTER_FILLBMP_STRETCH),                XATTR_FILLBMP_STRETCH,          cppu::UnoType<bool>::get() ,        0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLBMP_TILE),                   XATTR_FILLBMP_TILE,             cppu::UnoType<bool>::get() ,        0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLBMP_MODE),                   OWN_ATTR_FILLBMP_MODE,          cppu::UnoType<css::drawing::BitmapMode>::get(),      0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLCOLOR),                      XATTR_FILLCOLOR,                cppu::UnoType<sal_Int32>::get(),           0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLBACKGROUND),                 XATTR_FILLBACKGROUND,           cppu::UnoType<bool>::get(),         0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLBITMAP),                     XATTR_FILLBITMAP,               cppu::UnoType<css::awt::XBitmap>::get(),       0,  MID_BITMAP},
+                    { OUString(UNO_NAME_FOOTER_FILLBITMAPNAME),                 XATTR_FILLBITMAP,               cppu::UnoType<OUString>::get(),        0,  MID_NAME },
+                    { OUString(UNO_NAME_FOOTER_FILLBITMAPURL),                  XATTR_FILLBITMAP,               cppu::UnoType<OUString>::get(),        0,  MID_GRAFURL },
+                    { OUString(UNO_NAME_FOOTER_FILLGRADIENTSTEPCOUNT),          XATTR_GRADIENTSTEPCOUNT,        cppu::UnoType<sal_Int16>::get(),           0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLGRADIENT),                   XATTR_FILLGRADIENT,             cppu::UnoType<css::awt::Gradient>::get(),        0,  MID_FILLGRADIENT},
+                    { OUString(UNO_NAME_FOOTER_FILLGRADIENTNAME),               XATTR_FILLGRADIENT,             cppu::UnoType<OUString>::get(),        0,  MID_NAME },
+                    { OUString(UNO_NAME_FOOTER_FILLHATCH),                      XATTR_FILLHATCH,                cppu::UnoType<css::drawing::Hatch>::get(),           0,  MID_FILLHATCH},
+                    { OUString(UNO_NAME_FOOTER_FILLHATCHNAME),                  XATTR_FILLHATCH,                cppu::UnoType<OUString>::get(),        0,  MID_NAME },
+                    { OUString(UNO_NAME_FOOTER_FILLSTYLE),                      XATTR_FILLSTYLE,                cppu::UnoType<css::drawing::FillStyle>::get(),       0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILL_TRANSPARENCE),              XATTR_FILLTRANSPARENCE,         cppu::UnoType<sal_Int16>::get(),           0,  0},
+                    { OUString(UNO_NAME_FOOTER_FILLTRANSPARENCEGRADIENT),       XATTR_FILLFLOATTRANSPARENCE,    cppu::UnoType<css::awt::Gradient>::get(),        0,  MID_FILLGRADIENT},
+                    { OUString(UNO_NAME_FOOTER_FILLTRANSPARENCEGRADIENTNAME),   XATTR_FILLFLOATTRANSPARENCE,    cppu::UnoType<OUString>::get(),        0,  MID_NAME },
+                    { OUString(UNO_NAME_FOOTER_FILLCOLOR_2),                    XATTR_SECONDARYFILLCOLOR,       cppu::UnoType<sal_Int32>::get(),           0,  0},
+
                     { OUString(), 0, css::uno::Type(), 0, 0 }
                 };
                 aMapEntriesArr[nPropertyId] = aPageStyleMap;
commit c31d87b525dd974e018892c98aed4fdb893c3469
Author: Regina Henschel <rb.henschel at t-online.de>
Date:   Tue Apr 14 11:45:27 2015 +0200

    tdf#88337: add test document
    
    Change-Id: I7e5f28f6cc8010ac233d58cfa6a2158e3f7be90b

diff --git a/sw/qa/extras/odfimport/data/PageBackground.odt b/sw/qa/extras/odfimport/data/PageBackground.odt
new file mode 100644
index 0000000..dbb1082
Binary files /dev/null and b/sw/qa/extras/odfimport/data/PageBackground.odt differ
commit 64644e0d92046642e1f0948b867fdad8a5916ccc
Author: Michael Stahl <mstahl at redhat.com>
Date:   Tue Apr 14 14:11:59 2015 +0200

    svx: hack around LogicToPixel assert in SvxRuler::UpdateTabs
    
    Somehow this gets called in a different order than in 4.3; with the
    bugdoc from tdf#89478 i get this assert on master because of the
    uninitizlized / LONG_MAX.
    
    Change-Id: Iacce21571246c96276bd3c126f982282df7fc491

diff --git a/svx/source/dialog/svxruler.cxx b/svx/source/dialog/svxruler.cxx
index 2ac5aae..45a6ed4 100644
--- a/svx/source/dialog/svxruler.cxx
+++ b/svx/source/dialog/svxruler.cxx
@@ -502,7 +502,9 @@ void SvxRuler::UpdateFrame()
         lLogicNullOffset = mxColumnItem.get() ? mxColumnItem->GetLeft(): mxLRSpaceItem->GetLeft();
 
         if(bAppSetNullOffset)
+        {
             lAppNullOffset += lLogicNullOffset - nOld;
+        }
 
         if(!bAppSetNullOffset || lAppNullOffset == LONG_MAX)
         {
@@ -535,7 +537,9 @@ void SvxRuler::UpdateFrame()
         lLogicNullOffset = mxColumnItem.get() ? mxColumnItem->GetLeft() : mxULSpaceItem->GetUpper();
 
         if(bAppSetNullOffset)
+        {
             lAppNullOffset += lLogicNullOffset - nOld;
+        }
 
         if(!bAppSetNullOffset || lAppNullOffset == LONG_MAX)
         {
@@ -1022,6 +1026,8 @@ void SvxRuler::Update(const SvxPagePosSizeItem *pItem) // new value of page attr
 
 void SvxRuler::SetDefTabDist(long inDefTabDist)  // New distance for DefaultTabs in App-Metrics
 {
+    if (lAppNullOffset == LONG_MAX)
+        UpdateFrame(); // hack: try to get lAppNullOffset initialized
     /* New distance is set for DefaultTabs */
     lDefTabDist = inDefTabDist;
     UpdateTabs();
@@ -2046,7 +2052,9 @@ void SvxRuler::ApplyMargins()
         }
 
         if(bAppSetNullOffset)
+        {
             lAppNullOffset += lLogicNullOffset - lOldNull;
+        }
 
         long nRight;
         if(mxRulerImpl->lMaxRightLogic != -1
@@ -2080,7 +2088,9 @@ void SvxRuler::ApplyMargins()
                 ConvertVPosLogic(GetFrameLeft()) -
                 lAppNullOffset, mxULSpaceItem->GetUpper()));
         if(bAppSetNullOffset)
+        {
             lAppNullOffset += lLogicNullOffset - lOldNull;
+        }
         mxULSpaceItem->SetLower(
             PixelVAdjust(
                 std::max((long)0, mxPagePosItem->GetHeight() -


More information about the Libreoffice-commits mailing list