summaryrefslogtreecommitdiff
path: root/sc/source/filter/xml
diff options
context:
space:
mode:
authorRafael Lima <rafael.palma.lima@gmail.com>2024-03-25 15:24:30 +0100
committerTomaž Vajngerl <quikee@gmail.com>2024-04-01 05:56:10 +0200
commit350c590620226c4d5b94aa01d3853e15af3cebb0 (patch)
treeb62831a5bdb93e24c2ba24706bd2add8a9293385 /sc/source/filter/xml
parent069bf61cea5e3aea07ffd5a1bb9f55324651cb35 (diff)
tdf#160356 Add support for hidden named expressions in Calc
Since bug 154449 was fixed, Calc now supports hidden named ranges. However, named expressions were not considered in the original patch and it would be useful to support hidden named expressions as well. This patch adds suppport for hidden named expressions (import and export). Change-Id: I2580416dcd5db0fcb2aa9061085cdc9975fb03c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165239 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Diffstat (limited to 'sc/source/filter/xml')
-rw-r--r--sc/source/filter/xml/xmlexprt.cxx4
-rw-r--r--sc/source/filter/xml/xmlnexpi.cxx4
2 files changed, 8 insertions, 0 deletions
diff --git a/sc/source/filter/xml/xmlexprt.cxx b/sc/source/filter/xml/xmlexprt.cxx
index abef9391b1fb..e776c006643a 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -4573,6 +4573,10 @@ void ScXMLExport::WriteNamedRange(ScRangeName* pRangeName)
else
{
AddAttribute(XML_NAMESPACE_TABLE, XML_EXPRESSION, sTempSymbol);
+ // Check if it is a hidden named expression
+ sal_Int32 nRangeType = rxEntry.second->GetUnoType();
+ if ((nRangeType & sheet::NamedRangeFlag::HIDDEN) == sheet::NamedRangeFlag::HIDDEN)
+ AddAttribute(XML_NAMESPACE_LO_EXT, XML_HIDDEN, XML_TRUE);
SvXMLElementExport aElemNE(*this, XML_NAMESPACE_TABLE, XML_NAMED_EXPRESSION, true, true);
}
}
diff --git a/sc/source/filter/xml/xmlnexpi.cxx b/sc/source/filter/xml/xmlnexpi.cxx
index cf2878032be3..4711e3f1ab1a 100644
--- a/sc/source/filter/xml/xmlnexpi.cxx
+++ b/sc/source/filter/xml/xmlnexpi.cxx
@@ -151,6 +151,10 @@ ScXMLNamedExpressionContext::ScXMLNamedExpressionContext(
case XML_ELEMENT( TABLE, XML_BASE_CELL_ADDRESS ):
aNamedExpression.sBaseCellAddress = aIter.toString();
break;
+ case XML_ELEMENT(LO_EXT, XML_HIDDEN):
+ if (aIter.toString() == GetXMLToken(XML_TRUE))
+ aNamedExpression.sRangeType = GetXMLToken(XML_HIDDEN);
+ break;
}
}
}