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

New commits:
commit a56040d28fb19187ac34abcce37ef337e5a8593d
Author:     Tomaž Vajngerl <tomaz.vajng...@collabora.co.uk>
AuthorDate: Tue Jun 20 17:39:40 2023 +0900
Commit:     Aron Budea <aron.bu...@collabora.com>
CommitDate: Tue Jun 20 17:54:48 2023 +0200

    sd: fix setting theme for notes master
    
    Notes master also needs a theme set or the document will not load
    properly. For now we don't save the theme for the notes master on
    import, so we can only set the default "LibreOffice" theme instead.
    
    Change-Id: Ia9e5db53d4e1a4ca06b10d147cc879475166dfd9
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153314
    Tested-by: Jenkins
    Reviewed-by: Tomaž Vajngerl <qui...@gmail.com>
    (cherry picked from commit b13733de130e2f1ca029315e977dc01bd196b05b)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153321
    Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com>
    Reviewed-by: Aron Budea <aron.bu...@collabora.com>

diff --git a/sd/source/filter/eppt/pptx-epptooxml.cxx 
b/sd/source/filter/eppt/pptx-epptooxml.cxx
index 1b784e1e5fa5..f56a04c04750 100644
--- a/sd/source/filter/eppt/pptx-epptooxml.cxx
+++ b/sd/source/filter/eppt/pptx-epptooxml.cxx
@@ -66,6 +66,7 @@
 #include <svx/svdpage.hxx>
 #include <svx/unoapi.hxx>
 #include <svx/svdogrp.hxx>
+#include <svx/ColorSets.hxx>
 #include <sdmod.hxx>
 #include <sdpage.hxx>
 
@@ -2042,12 +2043,23 @@ void PowerPointExport::WriteNotesMaster()
                                          
"application/vnd.openxmlformats-officedocument.presentationml.notesMaster+xml");
     // write theme per master
 
-    WriteTheme(mnMasterPages, nullptr);
+    // TODO: Need to implement theme support for note master, so the
+    // note master has his own theme associated.
 
-    // add implicit relation to the presentation theme
-    addRelation(pFS->getOutputStream(),
-                oox::getRelationship(Relationship::THEME),
-                Concat2View("../theme/theme" + OUString::number(mnMasterPages 
+ 1) + ".xml"));
+    // For now just use the default theme
+    auto const* pDefaultColorSet = 
svx::ColorSets::get().getColorSet(u"LibreOffice");
+    if (pDefaultColorSet)
+    {
+        auto pTheme = std::make_shared<model::Theme>("Office Theme");
+        
pTheme->setColorSet(std::make_shared<model::ColorSet>(*pDefaultColorSet));
+
+        WriteTheme(mnMasterPages, pTheme.get());
+
+        // add implicit relation to the presentation theme
+        addRelation(pFS->getOutputStream(),
+                    oox::getRelationship(Relationship::THEME),
+                    Concat2View("../theme/theme" + 
OUString::number(mnMasterPages + 1) + ".xml"));
+    }
 
     pFS->startElementNS(XML_p, XML_notesMaster, PNMSS);
 

Reply via email to