[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [calligra/export-epub-moji] filters/words/epub: Break out generation of HTML head into its own funct
From: Inge Wallin <inge () lysator ! liu ! se>
Date: 2012-07-31 22:22:11
Message-ID: 20120731222211.F2F35A6094 () git ! kde ! org
[Download RAW message or body]
Git commit 868f8db03a0e3eb4e5dd60958c0ae5d1b751f189 by Inge Wallin.
Committed on 31/07/2012 at 23:04.
Pushed by ingwa into branch 'export-epub-moji'.
Break out generation of HTML head into its own function
M +2 -0 filters/words/epub/exportepub2.cpp
M +46 -31 filters/words/epub/htmlconvert.cpp
http://commits.kde.org/calligra/868f8db03a0e3eb4e5dd60958c0ae5d1b751f189
diff --git a/filters/words/epub/exportepub2.cpp b/filters/words/epub/exportepub2.cpp
index 72da396..4342ddd 100644
--- a/filters/words/epub/exportepub2.cpp
+++ b/filters/words/epub/exportepub2.cpp
@@ -117,6 +117,8 @@ KoFilter::ConversionStatus ExportEpub2::convert(const QByteArray \
&from, const QB bool moreFiles = false;
QString prefix = "body"; // FIXME: Change to "chapter". Beware of hardcoded \
"body" here and there. while (1) {
+ // first: conversion status. Must be OK, otherwise we break off the process
+ // second: true if there is more to convert
QPair<KoFilter::ConversionStatus, bool> pair
= convertContent(odfStore, m_meta, &epub, htmlContent
, m_pBreakStylesList, startNode, moreFiles);
diff --git a/filters/words/epub/htmlconvert.cpp b/filters/words/epub/htmlconvert.cpp
index e50e6f0..5b69ec7 100644
--- a/filters/words/epub/htmlconvert.cpp
+++ b/filters/words/epub/htmlconvert.cpp
@@ -38,6 +38,10 @@
#include "libepub/EpubFile.h"
+static void createHtmlHead(KoXmlWriter *writer, QHash<QString, QString> &metaData);
+
+
+
KoFilter::ConversionStatus stylesParse(KoStore *odfStore,
QHash<QString, QList<QString> > &styles,
QHash<QString, QString> &stylesInUse, \
QList<QString> &breakBeforeStylesList) @@ -373,38 +377,8 @@ \
QPair<KoFilter::ConversionStatus, bool> convertContent(KoStore *odfStore, QHash< \
KoXmlWriter *bodyWriter = new KoXmlWriter(&outBuf);
bodyWriter->startElement("html");
- bodyWriter->addAttribute("xmlns", "http://www.w3.org/1999/xhtml");
- bodyWriter->startElement("head");
-
- bodyWriter->startElement("title");
- bodyWriter->addTextNode(metaData.value("title"));
- bodyWriter->endElement(); // title
- bodyWriter->startElement("meta");
- bodyWriter->addAttribute("http-equiv", "Content-Type");
- bodyWriter->addAttribute("content", "text/html; charset=utf-8");
- bodyWriter->endElement(); // meta
-
- // write meta tag
- // m-meta <Tagname, Text>
- // <meta content = "Text" name = "Tagname" />
-
- metaData.remove("title");
-
- foreach (QString name, metaData.keys() ) {
- bodyWriter->startElement("meta");
- bodyWriter->addAttribute("name", name);
- bodyWriter->addAttribute("content", metaData.value(name));
- bodyWriter->endElement(); // meta
- }
-
- bodyWriter->startElement("link");
- bodyWriter->addAttribute("href", "styleSheet.css");
- bodyWriter->addAttribute("type", "text/css");
- bodyWriter->addAttribute("rel", "stylesheet");
- bodyWriter->endElement(); // link
-
- bodyWriter->endElement(); // head
+ createHtmlHead(bodyWriter, metaData);
// ----------------------------------------------------------------
// Parse body from content.xml
@@ -698,3 +672,44 @@ QPair<KoFilter::ConversionStatus, bool> convertContent(KoStore \
*odfStore, QHash< odfStore->close();
return qMakePair(KoFilter::OK, false);
}
+
+
+void createHtmlHead(KoXmlWriter *writer, QHash<QString, QString> &metaData)
+{
+ writer->addAttribute("xmlns", "http://www.w3.org/1999/xhtml");
+ writer->startElement("head");
+
+ writer->startElement("title");
+ writer->addTextNode(metaData.value("title"));
+ writer->endElement(); // title
+
+ writer->startElement("meta");
+ writer->addAttribute("http-equiv", "Content-Type");
+ writer->addAttribute("content", "text/html; charset=utf-8");
+ writer->endElement(); // meta
+
+ // write meta tag
+ // m-meta <Tagname, Text>
+ // <meta content = "Text" name = "Tagname" />
+
+ //metaData.remove("title");
+
+ foreach (QString name, metaData.keys() ) {
+ // Title is handled above.
+ if (name == "title")
+ continue;
+
+ writer->startElement("meta");
+ writer->addAttribute("name", name);
+ writer->addAttribute("content", metaData.value(name));
+ writer->endElement(); // meta
+ }
+
+ writer->startElement("link");
+ writer->addAttribute("href", "styleSheet.css");
+ writer->addAttribute("type", "text/css");
+ writer->addAttribute("rel", "stylesheet");
+ writer->endElement(); // link
+
+ writer->endElement(); // head
+}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic