[Libreoffice-commits] core.git: sfx2/source sw/qa

Bartosz Kosiorek (via logerrit) logerrit at kemper.freedesktop.org
Tue Oct 27 15:05:18 UTC 2020


 sfx2/source/dialog/dinfdlg.cxx                       |    7 +++---
 sw/qa/extras/ooxmlexport/data/custom-properties.docx |binary
 sw/qa/extras/ooxmlexport/ooxmlexport2.cxx            |   20 +++++++++++--------
 3 files changed, 16 insertions(+), 11 deletions(-)

New commits:
commit b73151c8f8fd4e67dc5674ebb6538783bdfb91df
Author:     Bartosz Kosiorek <gang65 at poczta.onet.pl>
AuthorDate: Tue Oct 20 18:58:34 2020 +0200
Commit:     Eike Rathke <erack at redhat.com>
CommitDate: Tue Oct 27 16:04:35 2020 +0100

    tdf#116214 Allow for scientific notation in Custom Properties
    
    To keep compatibility with OOXML format, it should be allowed
    to use Scientific Format in Custom Properties.
    The solution is backward compatible with standard numbers
    (it is still possible to write integer numbers and fractions).
    
    With that fix it is also possible to store very small and very big
    numbers in scientific notation.
    
    Change-Id: Ic788a6e3f4f748b905828f3d6c8c40dc7e46ba52
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104569
    Tested-by: Jenkins
    Reviewed-by: Eike Rathke <erack at redhat.com>

diff --git a/sfx2/source/dialog/dinfdlg.cxx b/sfx2/source/dialog/dinfdlg.cxx
index 4348916e5082..6a7bd27aafaf 100644
--- a/sfx2/source/dialog/dinfdlg.cxx
+++ b/sfx2/source/dialog/dinfdlg.cxx
@@ -1409,15 +1409,16 @@ bool CustomPropertiesWindow::IsLineValid( CustomPropertyLine* pLine ) const
     if ( sValue.isEmpty() )
         return true;
 
-    sal_uInt32 nIndex = 0xFFFFFFFF;
+    sal_uInt32 nIndex = NUMBERFORMAT_ENTRY_NOT_FOUND;
     if ( CUSTOM_TYPE_NUMBER == nType )
+        // tdf#116214 Scientific format allows to use also standard numbers
         nIndex = const_cast< SvNumberFormatter& >(
-            m_aNumberFormatter ).GetFormatIndex( NF_NUMBER_SYSTEM );
+            m_aNumberFormatter ).GetFormatIndex( NF_SCIENTIFIC_000E00 );
     else if ( CUSTOM_TYPE_DATE == nType )
         nIndex = const_cast< SvNumberFormatter& >(
             m_aNumberFormatter).GetFormatIndex( NF_DATE_SYS_DDMMYYYY );
 
-    if ( nIndex != 0xFFFFFFFF )
+    if ( nIndex != NUMBERFORMAT_ENTRY_NOT_FOUND )
     {
         sal_uInt32 nTemp = nIndex;
         double fDummy = 0.0;
diff --git a/sw/qa/extras/ooxmlexport/data/custom-properties.docx b/sw/qa/extras/ooxmlexport/data/custom-properties.docx
index 4d104cb26824..01db34977baa 100644
Binary files a/sw/qa/extras/ooxmlexport/data/custom-properties.docx and b/sw/qa/extras/ooxmlexport/data/custom-properties.docx differ
diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx
index 6906989d645b..2f1e60fd8c9c 100644
--- a/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx
+++ b/sw/qa/extras/ooxmlexport/ooxmlexport2.cxx
@@ -101,14 +101,14 @@ DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testCustomProperties, "custom-properties.doc
     assertXPathContent(pXmlDoc, "/extended-properties:Properties/extended-properties:Characters", "22");
     assertXPathContent(pXmlDoc, "/extended-properties:Properties/extended-properties:CharactersWithSpaces", "24");
     assertXPathContent(pXmlDoc, "/extended-properties:Properties/extended-properties:Company", "hhhhkompany");
-    assertXPathContent(pXmlDoc, "/extended-properties:Properties/extended-properties:Manager", "ffffmenadzer");
+    assertXPathContent(pXmlDoc, "/extended-properties:Properties/extended-properties:Manager", "ffffmenadzer;iiiiisecondmanager");
     assertXPathContent(pXmlDoc, "/extended-properties:Properties/extended-properties:HyperlinkBase", "gggghiperlink");
     //assertXPathContent(pXmlDoc, "/extended-properties:Properties/extended-properties:DocSecurity", "2");
     assertXPathContent(pXmlDoc, "/extended-properties:Properties/extended-properties:AppVersion", "15.0000");
 
     // Custom file properties - defined by user
     xmlDocUniquePtr pCustomXml = parseExport("docProps/custom.xml");
-    assertXPath(pCustomXml, "/custom-properties:Properties/custom-properties:property", 8);
+    assertXPath(pCustomXml, "/custom-properties:Properties/custom-properties:property", 9);
     assertXPath(pCustomXml, "/custom-properties:Properties/custom-properties:property[1]",
                 "name", "testDateProperty");
     assertXPathContent(pCustomXml, "/custom-properties:Properties/custom-properties:property[1]/vt:filetime",
@@ -126,22 +126,26 @@ DECLARE_OOXMLEXPORT_EXPORTONLY_TEST(testCustomProperties, "custom-properties.doc
     assertXPathContent(pCustomXml, "/custom-properties:Properties/custom-properties:property[5]/vt:r8",
                        "-128.1");
     assertXPath(pCustomXml, "/custom-properties:Properties/custom-properties:property[6]",
+                "name", "testScientificNumber");
+    assertXPathContent(pCustomXml, "/custom-properties:Properties/custom-properties:property[6]/vt:r8",
+                       "1.23456789E+023");
+    assertXPath(pCustomXml, "/custom-properties:Properties/custom-properties:property[7]",
                 "name", "testTextProperty");
-    assertXPathContent(pCustomXml, "/custom-properties:Properties/custom-properties:property[6]/vt:lpwstr",
+    assertXPathContent(pCustomXml, "/custom-properties:Properties/custom-properties:property[7]/vt:lpwstr",
                        "testPropertyValue");
-    assertXPath(pCustomXml, "/custom-properties:Properties/custom-properties:property[7]",
+    assertXPath(pCustomXml, "/custom-properties:Properties/custom-properties:property[8]",
                 "name", "testYesNoProperty");
-    assertXPathContent(pCustomXml, "/custom-properties:Properties/custom-properties:property[7]/vt:bool",
+    assertXPathContent(pCustomXml, "/custom-properties:Properties/custom-properties:property[8]/vt:bool",
                        "1");
     // Hidden Custom File Property. With Final set, MS Office notifies recipients that the document is final, and sets the document to read-only.
-    assertXPath(pCustomXml, "/custom-properties:Properties/custom-properties:property[8]",
+    assertXPath(pCustomXml, "/custom-properties:Properties/custom-properties:property[9]",
                 "name", "_MarkAsFinal");
-    assertXPathContent(pCustomXml, "/custom-properties:Properties/custom-properties:property[8]/vt:bool",
+    assertXPathContent(pCustomXml, "/custom-properties:Properties/custom-properties:property[9]/vt:bool",
                        "1");
 
     // Core file properties - common for all packages (eg. creation date, modify date)
     pXmlDoc = parseExport("docProps/core.xml");
-    assertXPathContent(pXmlDoc, "/cp:coreProperties/dc:creator", "Bartosz Kosiorek");
+    assertXPathContent(pXmlDoc, "/cp:coreProperties/dc:creator", "Bartosz Kosiorek;secondauthor");
     assertXPathContent(pXmlDoc, "/cp:coreProperties/dc:description", "cccckomentarzglowny");
     assertXPathContent(pXmlDoc, "/cp:coreProperties/cp:lastPrinted", "2020-10-15T07:42:00Z");
     assertXPathContent(pXmlDoc, "/cp:coreProperties/dcterms:created", "2020-10-14T16:23:00Z");


More information about the Libreoffice-commits mailing list