From: ishmal Date: Thu, 13 Apr 2006 22:30:54 +0000 (+0000) Subject: Added meta-info stub X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=8b631db7470ebb089139acae1c3c862641b370b0;p=inkscape.git Added meta-info stub --- diff --git a/src/extension/internal/odf.cpp b/src/extension/internal/odf.cpp index 6a1e37107..42d845340 100644 --- a/src/extension/internal/odf.cpp +++ b/src/extension/internal/odf.cpp @@ -231,7 +231,7 @@ bool OdfOutput::writeManifest(ZipFile &zf) outs.printf("\n"); outs.printf(" \n"); outs.printf(" \n"); - //outs.printf(" \n"); + outs.printf(" \n"); outs.printf(" \n"); std::map::iterator iter; for (iter = imageTable.begin() ; iter!=imageTable.end() ; iter++) @@ -266,7 +266,65 @@ bool OdfOutput::writeManifest(ZipFile &zf) } +bool OdfOutput::writeMeta(ZipFile &zf) +{ + BufferOutputStream bouts; + OutputStreamWriter outs(bouts); + + time_t tim; + time(&tim); + + outs.printf("\n"); + outs.printf("\n"); + outs.printf("\n"); + outs.printf("\n"); + outs.printf("\n"); + outs.printf("\n"); + outs.printf("\n"); + outs.printf("\n"); + outs.printf(" Inkscape.org - 0.44\n"); + outs.printf(" clark kent\n"); + outs.printf(" 2006-04-13T17:12:29\n"); + outs.printf(" clark kent\n"); + outs.printf(" 2006-04-13T17:13:20\n"); + outs.printf(" en-US\n"); + outs.printf(" 2\n"); + outs.printf(" PT56S\n"); + outs.printf(" \n"); + outs.printf(" \n"); + outs.printf(" \n"); + outs.printf(" \n"); + outs.printf(" \n"); + outs.printf("\n"); + outs.printf("\n"); + outs.printf("\n"); + outs.printf("\n"); + + + outs.close(); + + //Make our entry + ZipEntry *ze = zf.newEntry("meta.xml", "ODF info file"); + ze->setUncompressedData(bouts.getBuffer()); + ze->finish(); + return true; +} bool OdfOutput::writeStyle(Writer &outs) @@ -498,7 +556,7 @@ bool OdfOutput::writeContent(ZipFile &zf, Inkscape::XML::Node *node) outs.printf("\n"); outs.printf("\n"); @@ -527,16 +585,25 @@ OdfOutput::save(Inkscape::Extension::Output *mod, SPDocument *doc, gchar const * styleTable.clear(); imageTable.clear(); preprocess(zf, doc->rroot); + if (!writeManifest(zf)) { g_warning("Failed to write manifest"); return; } + + if (!writeMeta(zf)) + { + g_warning("Failed to write metafile"); + return; + } + if (!writeContent(zf, doc->rroot)) { g_warning("Failed to write content"); return; } + if (!zf.writeFile(uri)) { return; diff --git a/src/extension/internal/odf.h b/src/extension/internal/odf.h index 250b807d5..e1cf133db 100644 --- a/src/extension/internal/odf.h +++ b/src/extension/internal/odf.h @@ -185,6 +185,8 @@ private: bool writeManifest(ZipFile &zf); + bool writeMeta(ZipFile &zf); + bool writeStyle(Writer &outs); bool writeTree(Writer &outs, Inkscape::XML::Node *node);