diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-09-04 17:27:39 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-09-04 20:53:22 +0200 |
commit | 41092fe0bb0d2f49948bf2a1f27acb53f21a84aa (patch) | |
tree | fadc83af7778ce362610dfc72954e8ef98f8ad2e /writerperfect/source/writer/exp | |
parent | 72b19aa29f9adcab6dd20d1517208f3b999d055e (diff) |
EPUB export: write author metadata
<meta:initial-creator> is the author and <dc:creator> is the "last
modified by" in ODF (it seems), so map the first to EPUB's <dc:creator>.
Change-Id: Id701c8c38b0901ae14fbbc7b32d01b43d6d03f68
Reviewed-on: https://gerrit.libreoffice.org/41903
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Jenkins <ci@libreoffice.org>
Diffstat (limited to 'writerperfect/source/writer/exp')
-rw-r--r-- | writerperfect/source/writer/exp/xmlmetai.cxx | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/writerperfect/source/writer/exp/xmlmetai.cxx b/writerperfect/source/writer/exp/xmlmetai.cxx index 6c01adeb8f11..8777f4fa0b6f 100644 --- a/writerperfect/source/writer/exp/xmlmetai.cxx +++ b/writerperfect/source/writer/exp/xmlmetai.cxx @@ -106,6 +106,28 @@ void XMLMetaGeneratorContext::characters(const OUString &rChars) mrMeta.m_aPropertyList.insert("meta:generator", librevenge::RVNGString(sCharU8.getStr())); } +/// Handler for <meta:initial-creator>. +class XMLMetaInitialCreatorContext : public XMLImportContext +{ +public: + XMLMetaInitialCreatorContext(XMLImport &rImport, XMLMetaDocumentContext &rMeta); + + void SAL_CALL characters(const OUString &rChars) override; + + XMLMetaDocumentContext &mrMeta; +}; + +XMLMetaInitialCreatorContext::XMLMetaInitialCreatorContext(XMLImport &rImport, XMLMetaDocumentContext &rMeta) + : XMLImportContext(rImport), mrMeta(rMeta) +{ +} + +void XMLMetaInitialCreatorContext::characters(const OUString &rChars) +{ + OString sCharU8 = OUStringToOString(rChars, RTL_TEXTENCODING_UTF8); + mrMeta.m_aPropertyList.insert("meta:initial-creator", librevenge::RVNGString(sCharU8.getStr())); +} + XMLMetaDocumentContext::XMLMetaDocumentContext(XMLImport &rImport) : XMLImportContext(rImport) { @@ -121,6 +143,8 @@ XMLImportContext *XMLMetaDocumentContext::CreateChildContext(const OUString &rNa return new XMLDcDateContext(mrImport, *this); if (rName == "meta:generator") return new XMLMetaGeneratorContext(mrImport, *this); + if (rName == "meta:initial-creator") + return new XMLMetaInitialCreatorContext(mrImport, *this); return nullptr; } |