sc/qa/unit/subsequent_export_test4.cxx |    5 +++++
 sc/source/filter/xml/xmlcondformat.cxx |    5 +++++
 sc/source/filter/xml/xmlexprt.cxx      |    3 +++
 3 files changed, 13 insertions(+)

New commits:
commit d923c227fa290ffdca175a5b903b5a745e2f4b3a
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Fri Oct 11 17:04:52 2024 +0200
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Sat Oct 12 11:23:04 2024 +0200

    tdf#163337: keep gte attribute when saving to ods
    
    Change-Id: I9565f6dd9b23645b47f232d837553fb4d492dc8f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174815
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/sc/qa/unit/subsequent_export_test4.cxx 
b/sc/qa/unit/subsequent_export_test4.cxx
index 63dba36762f7..260c33a4dfbe 100644
--- a/sc/qa/unit/subsequent_export_test4.cxx
+++ b/sc/qa/unit/subsequent_export_test4.cxx
@@ -176,6 +176,11 @@ CPPUNIT_TEST_FIXTURE(ScExportTest4, testTdf162948)
     verify();
     saveAndReload(u"Calc Office Open XML"_ustr);
     verify();
+
+    // FIXME: Error: tag name "calcext:icon-set" is not allowed. Possible tag 
names are: <color-scale>,<condition>,<data-bar>
+    skipValidation();
+    saveAndReload(u"calc8"_ustr); // tdf#163337
+    verify();
 }
 
 CPPUNIT_TEST_FIXTURE(ScExportTest4, testCommentTextHAlignment)
diff --git a/sc/source/filter/xml/xmlcondformat.cxx 
b/sc/source/filter/xml/xmlcondformat.cxx
index 85f457428702..098a2a1f4d01 100644
--- a/sc/source/filter/xml/xmlcondformat.cxx
+++ b/sc/source/filter/xml/xmlcondformat.cxx
@@ -908,6 +908,7 @@ ScXMLFormattingEntryContext::ScXMLFormattingEntryContext( 
ScXMLImport& rImport,
 {
     OUString sVal;
     OUString sType;
+    bool bGreaterThanOrEqual = true;
 
     if ( rAttrList.is() )
     {
@@ -921,6 +922,9 @@ ScXMLFormattingEntryContext::ScXMLFormattingEntryContext( 
ScXMLImport& rImport,
                 case XML_ELEMENT( CALC_EXT, XML_VALUE ):
                     sVal = aIter.toString();
                 break;
+                case XML_ELEMENT( CALC_EXT, XML_GREATER_EQUAL ):
+                    bGreaterThanOrEqual = aIter.toBoolean();
+                break;
                 default:
                     break;
             }
@@ -933,6 +937,7 @@ ScXMLFormattingEntryContext::ScXMLFormattingEntryContext( 
ScXMLImport& rImport,
 
     pColorScaleEntry = new ScColorScaleEntry(nVal, Color());
     setColorEntryType(sType, pColorScaleEntry, sVal, GetScImport());
+    pColorScaleEntry->SetGreaterThanOrEqual(bGreaterThanOrEqual);
 }
 
 namespace {
diff --git a/sc/source/filter/xml/xmlexprt.cxx 
b/sc/source/filter/xml/xmlexprt.cxx
index 35715c62ba74..b37565d34dbf 100644
--- a/sc/source/filter/xml/xmlexprt.cxx
+++ b/sc/source/filter/xml/xmlexprt.cxx
@@ -4943,6 +4943,9 @@ void ScXMLExport::ExportConditionalFormat(SCTAB nTab)
                     else
                         AddAttribute(XML_NAMESPACE_CALC_EXT, XML_VALUE, 
OUString::number(it->GetValue()));
 
+                    if (!it->GetGreaterThanOrEqual())
+                        AddAttribute(XML_NAMESPACE_CALC_EXT, 
XML_GREATER_EQUAL, OUString::boolean(false));
+
                     AddAttribute(XML_NAMESPACE_CALC_EXT, XML_TYPE, 
getCondFormatEntryType(*it));
                     SvXMLElementExport aElementColorScaleEntry(*this, 
XML_NAMESPACE_CALC_EXT, XML_FORMATTING_ENTRY, true, true);
                 }

Reply via email to