[Libreoffice-commits] core.git: 2 commits - oox/source
Tor Lillqvist
tml at collabora.com
Thu Oct 26 20:47:29 UTC 2017
oox/source/drawingml/table/tableproperties.cxx | 106 ++++++++++++++-----------
1 file changed, 61 insertions(+), 45 deletions(-)
New commits:
commit 8cd958a48e93efa4c21fd7687652ded8f9432c84
Author: Tor Lillqvist <tml at collabora.com>
Date: Thu Oct 26 23:30:42 2017 +0300
Add a comment in CreateTableStyle() related to the AOO fix for #i120723#
Change-Id: Ic2eadf1942927efb6a6b209db591e869b61362f4
diff --git a/oox/source/drawingml/table/tableproperties.cxx b/oox/source/drawingml/table/tableproperties.cxx
index a20191e05633..e5bc4f0cc3d5 100644
--- a/oox/source/drawingml/table/tableproperties.cxx
+++ b/oox/source/drawingml/table/tableproperties.cxx
@@ -144,6 +144,22 @@ static void SetTableStyleProperties(TableStyle* &pTableStyle , sal_Int32 tblFill
TableStyle* CreateTableStyle(const OUString& styleId)
{
TableStyle* pTableStyle = nullptr;
+
+ // It is a bit silly to handle styleIds specifically and separately like this. Also note that
+ // the first two code blocks below are mostly copy-pasted, modulo the comments and the fact that
+ // one uses XML_accent1 and the other XML_accent2. Presumably it would be better to use a
+ // table-based approach, to have a mapping from style ids to the parameters that actually change
+ // between styles. See
+ // https://msdn.microsoft.com/en-us/library/office/hh273476(v=office.14).aspx for an unofficial
+ // list of these ids (that is said on that page to be undocumented, which doesn't sound credible?).
+
+ // But the odd thing is that even if the code here handles only three specific style ids, if I
+ // edit the bug doc from AOO bug #i120723# (for which this code was added) and choose some other
+ // style, the table shows up mostly fine in Impress anyway. Thus I wonder whether this whole
+ // code is actually unnecessary, and the .pptx contains explicit values for all the components
+ // of a style anyway, and LibreOffice's code (at least now, maybe not when this code was added
+ // to AOO in 2012) knows to look at that?
+
if(styleId == "{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}") { //Medium Style 2 Accent 1
pTableStyle = new TableStyle();
//first row style
commit 84eb42728a3ceedaac382a8212230e3960732c41
Author: Tor Lillqvist <tml at collabora.com>
Date: Thu Oct 26 22:00:57 2017 +0300
Don't abbreviate "First" as "Fst"
Change-Id: I16726fbc8bf4f67fe1018d54437d59b715738bfe
diff --git a/oox/source/drawingml/table/tableproperties.cxx b/oox/source/drawingml/table/tableproperties.cxx
index cee8df58dc5b..a20191e05633 100644
--- a/oox/source/drawingml/table/tableproperties.cxx
+++ b/oox/source/drawingml/table/tableproperties.cxx
@@ -148,65 +148,65 @@ TableStyle* CreateTableStyle(const OUString& styleId)
pTableStyle = new TableStyle();
//first row style
//fill color and type
- oox::drawingml::FillPropertiesPtr pFstRowFillProperties( new oox::drawingml::FillProperties );
- pFstRowFillProperties->moFillType.set(XML_solidFill);
- pFstRowFillProperties->maFillColor.setSchemeClr(XML_accent1);
- pTableStyle->getFirstRow().getFillProperties() = pFstRowFillProperties;
+ oox::drawingml::FillPropertiesPtr pFirstRowFillProperties( new oox::drawingml::FillProperties );
+ pFirstRowFillProperties->moFillType.set(XML_solidFill);
+ pFirstRowFillProperties->maFillColor.setSchemeClr(XML_accent1);
+ pTableStyle->getFirstRow().getFillProperties() = pFirstRowFillProperties;
//text color
- ::oox::drawingml::Color fstRowTextColor;
- fstRowTextColor.setSchemeClr(XML_lt1);
- pTableStyle->getFirstRow().getTextColor() = fstRowTextColor;
+ ::oox::drawingml::Color firstRowTextColor;
+ firstRowTextColor.setSchemeClr(XML_lt1);
+ pTableStyle->getFirstRow().getTextColor() = firstRowTextColor;
//bottom line border
- oox::drawingml::LinePropertiesPtr pFstBottomBorder( new oox::drawingml::LineProperties);
- pFstBottomBorder->moLineWidth = 38100;
- pFstBottomBorder->moPresetDash = XML_sng;
- pFstBottomBorder->maLineFill.moFillType.set(XML_solidFill);
- pFstBottomBorder->maLineFill.maFillColor.setSchemeClr(XML_lt1);
- pTableStyle->getFirstRow().getLineBorders().insert(std::pair<sal_Int32, ::oox::drawingml::LinePropertiesPtr>(XML_bottom,pFstBottomBorder));
+ oox::drawingml::LinePropertiesPtr pFirstBottomBorder( new oox::drawingml::LineProperties);
+ pFirstBottomBorder->moLineWidth = 38100;
+ pFirstBottomBorder->moPresetDash = XML_sng;
+ pFirstBottomBorder->maLineFill.moFillType.set(XML_solidFill);
+ pFirstBottomBorder->maLineFill.maFillColor.setSchemeClr(XML_lt1);
+ pTableStyle->getFirstRow().getLineBorders().insert(std::pair<sal_Int32, ::oox::drawingml::LinePropertiesPtr>(XML_bottom,pFirstBottomBorder));
//last row style
- pTableStyle->getLastRow().getFillProperties() = pFstRowFillProperties;
- pTableStyle->getLastRow().getTextColor() = fstRowTextColor;
- pTableStyle->getLastRow().getLineBorders().insert(std::pair<sal_Int32, ::oox::drawingml::LinePropertiesPtr>(XML_top,pFstBottomBorder));
+ pTableStyle->getLastRow().getFillProperties() = pFirstRowFillProperties;
+ pTableStyle->getLastRow().getTextColor() = firstRowTextColor;
+ pTableStyle->getLastRow().getLineBorders().insert(std::pair<sal_Int32, ::oox::drawingml::LinePropertiesPtr>(XML_top,pFirstBottomBorder));
//first column style
- pTableStyle->getFirstRow().getFillProperties() = pFstRowFillProperties;
- pTableStyle->getFirstRow().getTextColor() = fstRowTextColor;
+ pTableStyle->getFirstRow().getFillProperties() = pFirstRowFillProperties;
+ pTableStyle->getFirstRow().getTextColor() = firstRowTextColor;
//last column style
- pTableStyle->getLastCol().getFillProperties() = pFstRowFillProperties;
- pTableStyle->getLastCol().getTextColor() = fstRowTextColor;
+ pTableStyle->getLastCol().getFillProperties() = pFirstRowFillProperties;
+ pTableStyle->getLastCol().getTextColor() = firstRowTextColor;
SetTableStyleProperties(pTableStyle, XML_accent1, XML_dk1, XML_lt1);
}
else if (styleId == "{21E4AEA4-8DFA-4A89-87EB-49C32662AFE0}") //Medium Style 2 Accent 2
{
pTableStyle = new TableStyle();
- oox::drawingml::FillPropertiesPtr pFstRowFillProperties( new oox::drawingml::FillProperties );
- pFstRowFillProperties->moFillType.set(XML_solidFill);
- pFstRowFillProperties->maFillColor.setSchemeClr(XML_accent2);
- pTableStyle->getFirstRow().getFillProperties() = pFstRowFillProperties;
-
- ::oox::drawingml::Color fstRowTextColor;
- fstRowTextColor.setSchemeClr(XML_lt1);
- pTableStyle->getFirstRow().getTextColor() = fstRowTextColor;
-
- oox::drawingml::LinePropertiesPtr pFstBottomBorder( new oox::drawingml::LineProperties);
- pFstBottomBorder->moLineWidth = 38100;
- pFstBottomBorder->moPresetDash = XML_sng;
- pFstBottomBorder->maLineFill.moFillType.set(XML_solidFill);
- pFstBottomBorder->maLineFill.maFillColor.setSchemeClr(XML_lt1);
- pTableStyle->getFirstRow().getLineBorders().insert(std::pair<sal_Int32, ::oox::drawingml::LinePropertiesPtr>(XML_bottom,pFstBottomBorder));
-
- pTableStyle->getLastRow().getFillProperties() = pFstRowFillProperties;
- pTableStyle->getLastRow().getTextColor() = fstRowTextColor;
- pTableStyle->getLastRow().getLineBorders().insert(std::pair<sal_Int32, ::oox::drawingml::LinePropertiesPtr>(XML_top,pFstBottomBorder));
-
- pTableStyle->getFirstCol().getFillProperties() = pFstRowFillProperties;
- pTableStyle->getFirstCol().getTextColor() = fstRowTextColor;
-
- pTableStyle->getLastCol().getFillProperties() = pFstRowFillProperties;
- pTableStyle->getLastCol().getTextColor() = fstRowTextColor;
+ oox::drawingml::FillPropertiesPtr pFirstRowFillProperties( new oox::drawingml::FillProperties );
+ pFirstRowFillProperties->moFillType.set(XML_solidFill);
+ pFirstRowFillProperties->maFillColor.setSchemeClr(XML_accent2);
+ pTableStyle->getFirstRow().getFillProperties() = pFirstRowFillProperties;
+
+ ::oox::drawingml::Color firstRowTextColor;
+ firstRowTextColor.setSchemeClr(XML_lt1);
+ pTableStyle->getFirstRow().getTextColor() = firstRowTextColor;
+
+ oox::drawingml::LinePropertiesPtr pFirstBottomBorder( new oox::drawingml::LineProperties);
+ pFirstBottomBorder->moLineWidth = 38100;
+ pFirstBottomBorder->moPresetDash = XML_sng;
+ pFirstBottomBorder->maLineFill.moFillType.set(XML_solidFill);
+ pFirstBottomBorder->maLineFill.maFillColor.setSchemeClr(XML_lt1);
+ pTableStyle->getFirstRow().getLineBorders().insert(std::pair<sal_Int32, ::oox::drawingml::LinePropertiesPtr>(XML_bottom,pFirstBottomBorder));
+
+ pTableStyle->getLastRow().getFillProperties() = pFirstRowFillProperties;
+ pTableStyle->getLastRow().getTextColor() = firstRowTextColor;
+ pTableStyle->getLastRow().getLineBorders().insert(std::pair<sal_Int32, ::oox::drawingml::LinePropertiesPtr>(XML_top,pFirstBottomBorder));
+
+ pTableStyle->getFirstCol().getFillProperties() = pFirstRowFillProperties;
+ pTableStyle->getFirstCol().getTextColor() = firstRowTextColor;
+
+ pTableStyle->getLastCol().getFillProperties() = pFirstRowFillProperties;
+ pTableStyle->getLastCol().getTextColor() = firstRowTextColor;
SetTableStyleProperties(pTableStyle, XML_accent2, XML_dk1, XML_lt1);
}
More information about the Libreoffice-commits
mailing list