[Libreoffice-commits] core.git: external/libepubgen

Miklos Vajna vmiklos at collabora.co.uk
Wed Oct 18 11:49:04 UTC 2017


 external/libepubgen/libepubgen-epub3.patch.1 |   70 +++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

New commits:
commit 8aedc0aeeedf4518fe958a109bdd7f264ec5fa46
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Wed Oct 18 10:14:45 2017 +0200

    EPUB export: handle headings inside sections
    
    On one hand, we don't want to split inside a section as there might be
    elements we need to close/open at split boundary, OTOH this is currently
    not a problem as we don't produce any output for sections.
    
    So remove the level management for sections (this way allowing headings
    to split inside sections), let's get back to this when there is a
    concept how e.g. multiple columns would be represented in EPUB.
    
    Use case is when sections are used to just group paragraph together and
    mark all of them read-only: in this case it's unexpected that headings
    are handled differently to not-in-section ones.
    
    Change-Id: If419624f8eec4a6f676ad7f186484c0035f62626
    Reviewed-on: https://gerrit.libreoffice.org/43482
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>
    Tested-by: Jenkins <ci at libreoffice.org>

diff --git a/external/libepubgen/libepubgen-epub3.patch.1 b/external/libepubgen/libepubgen-epub3.patch.1
index 98d4930c5f3f..01d88d4da380 100644
--- a/external/libepubgen/libepubgen-epub3.patch.1
+++ b/external/libepubgen/libepubgen-epub3.patch.1
@@ -2487,3 +2487,73 @@ index f3b30a6..d822571 100644
 -- 
 2.12.3
 
+From 8166fc972e3d4b930ad0baab164f99b3c717252e Mon Sep 17 00:00:00 2001
+From: Miklos Vajna <vmiklos at collabora.co.uk>
+Date: Wed, 18 Oct 2017 10:04:32 +0200
+Subject: [PATCH] EPUBTextGenerator: handle headings inside sections
+
+On one hand, we don't want to split inside a section as there might be
+elements we need to close/open at split boundary, OTOH this is currently
+not a problem as we don't produce any output for sections.
+
+So remove the level management for sections (this way allowing headings
+to split inside sections), let's get back to this when there is a
+concept how e.g. multiple columns would be represented in EPUB.
+
+Use case is when sections are used to just group paragraph together and
+mark all of them read-only: in this case it's unexpected that headings
+are handled differently to not-in-section ones.
+---
+ src/lib/EPUBHTMLGenerator.cpp      | 14 ++++++++++++--
+ src/lib/EPUBTextGenerator.cpp      |  3 ---
+ src/test/EPUBTextGeneratorTest.cpp | 38 ++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 50 insertions(+), 5 deletions(-)
+
+diff --git a/src/lib/EPUBHTMLGenerator.cpp b/src/lib/EPUBHTMLGenerator.cpp
+index d822571..11bf7de 100644
+--- a/src/lib/EPUBHTMLGenerator.cpp
++++ b/src/lib/EPUBHTMLGenerator.cpp
+@@ -574,8 +574,18 @@ void EPUBHTMLGenerator::closeFooter()
+ }
+ 
+ void EPUBHTMLGenerator::defineSectionStyle(const RVNGPropertyList &) {}
+-void EPUBHTMLGenerator::openSection(const RVNGPropertyList & /* propList */) {}
+-void EPUBHTMLGenerator::closeSection() {}
++
++void EPUBHTMLGenerator::openSection(const RVNGPropertyList & /* propList */)
++{
++  // Once output is produced here, EPUBTextGenerator::openSection() will need
++  // to call EPUBSplitGuard::openLevel().
++}
++
++void EPUBHTMLGenerator::closeSection()
++{
++  // Once output is produced here, EPUBTextGenerator::closeSection() will need
++  // to call EPUBSplitGuard::closeLevel().
++}
+ 
+ void EPUBHTMLGenerator::defineParagraphStyle(const RVNGPropertyList &propList)
+ {
+diff --git a/src/lib/EPUBTextGenerator.cpp b/src/lib/EPUBTextGenerator.cpp
+index 26675af..5d4e8f2 100644
+--- a/src/lib/EPUBTextGenerator.cpp
++++ b/src/lib/EPUBTextGenerator.cpp
+@@ -335,15 +335,12 @@ void EPUBTextGenerator::openSection(const librevenge::RVNGPropertyList &propList
+ {
+   if (m_impl->getSplitGuard().splitOnSize())
+     m_impl->startNewHtmlFile();
+-  m_impl->getSplitGuard().openLevel();
+ 
+   m_impl->getHtml()->openSection(propList);
+ }
+ 
+ void EPUBTextGenerator::closeSection()
+ {
+-  m_impl->getSplitGuard().closeLevel();
+-
+   m_impl->getHtml()->closeSection();
+ }
+ 
+-- 
+2.12.3
+


More information about the Libreoffice-commits mailing list