sd/source/filter/eppt/pptx-epptooxml.cxx |   22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

New commits:
commit d3651f96d45405d6d142bf97084c377e395945c3
Author:     Sarper Akdemir <sarper.akde...@collabora.com>
AuthorDate: Sun Oct 24 01:38:57 2021 +0300
Commit:     Miklos Vajna <vmik...@collabora.com>
CommitDate: Mon Nov 22 14:05:53 2021 +0100

    tdf#143316: fix datetime footer regression on mso2010
    
    Exports language in run properties of the datetime footer.
    And also overrides the placeholder "Date" text with formatted
    datetime text if the datetime footer is a nonfixed one.
    
    Fixes regression from: 166671f4aa19deec47c10a220ae1d29fa57faa93
    (tdf#59323: pptx import: import footer fields as properties)
    
    Change-Id: Ib888e5cf51ea7e14fb13278e96610051e1e5fe5f
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124123
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmik...@collabora.com>

diff --git a/sd/source/filter/eppt/pptx-epptooxml.cxx 
b/sd/source/filter/eppt/pptx-epptooxml.cxx
index fbf7525217ff..ec7a16e045e9 100644
--- a/sd/source/filter/eppt/pptx-epptooxml.cxx
+++ b/sd/source/filter/eppt/pptx-epptooxml.cxx
@@ -33,6 +33,7 @@
 #include <rtl/ustrbuf.hxx>
 #include <sal/log.hxx>
 #include <tools/UnitConversion.hxx>
+#include <tools/datetime.hxx>
 #include <com/sun/star/animations/TransitionType.hpp>
 #include <com/sun/star/animations/TransitionSubType.hpp>
 #include <com/sun/star/beans/XPropertySetInfo.hpp>
@@ -58,10 +59,16 @@
 #include "pptx-animations.hxx"
 #include "../ppt/pptanimations.hxx"
 
+#include <i18nlangtag/languagetag.hxx>
+#include <svl/languageoptions.hxx>
 #include <svx/svdpage.hxx>
 #include <svx/unoapi.hxx>
+#include <sdmod.hxx>
 #include <sdpage.hxx>
 
+#include <vcl/svapp.hxx>
+#include <vcl/settings.hxx>
+
 #include <com/sun/star/document/XDocumentPropertiesSupplier.hpp>
 #include <com/sun/star/document/XStorageBasedDocument.hpp>
 #include <utility>
@@ -1188,7 +1195,7 @@ bool PowerPointExport::WriteComments(sal_uInt32 nPageNum)
             do
             {
                 Reference< XAnnotation > 
xAnnotation(xAnnotationEnumeration->nextElement());
-                DateTime aDateTime(xAnnotation->getDateTime());
+                util::DateTime aDateTime(xAnnotation->getDateTime());
                 RealPoint2D aRealPoint2D(xAnnotation->getPosition());
                 Reference< XText > xText(xAnnotation->getTextRange());
                 sal_Int32 nLastIndex;
@@ -1756,9 +1763,8 @@ ShapeExport& 
PowerPointShapeExport::WritePlaceholderReferenceTextBody(
             bool bIsDateTimeFixed = false;
             xPagePropSet->getPropertyValue("IsDateTimeFixed") >>= 
bIsDateTimeFixed;
 
-            // Ideally "Date" should be replaced with the formatted date text
-            // but since variable datetime overrides the text, this seems fine 
for now.
             OUString aDateTimeText = "Date";
+            const LanguageTag& rLanguageTag = 
Application::GetSettings().GetLanguageTag();
 
             if(ePageType != LAYOUT && !bIsDateTimeFixed)
             {
@@ -1773,6 +1779,13 @@ ShapeExport& 
PowerPointShapeExport::WritePlaceholderReferenceTextBody(
 
                 if (aDateTimeType == "datetime")
                     aDateTimeType = "datetime1";
+
+                ::DateTime aDateTime( ::DateTime::SYSTEM );
+
+                aDateTimeText = SvxDateTimeField::GetFormatted(
+                    aDateTime, aDateTime, eDate,
+                    eTime, *(SD_MOD()->GetNumberFormatter()),
+                    rLanguageTag.getLanguageType());
             }
 
             if(!bIsDateTimeFixed)
@@ -1786,6 +1799,9 @@ ShapeExport& 
PowerPointShapeExport::WritePlaceholderReferenceTextBody(
                 mpFS->startElementNS(XML_a, XML_r);
             }
 
+            mpFS->startElementNS(XML_a, XML_rPr, XML_lang, 
rLanguageTag.getBcp47MS());
+            mpFS->endElementNS(XML_a, XML_rPr);
+
             mpFS->startElementNS(XML_a, XML_t);
             mpFS->writeEscaped(aDateTimeText);
             mpFS->endElementNS(XML_a, XML_t);

Reply via email to