本文整理汇总了C++中KoXmlWriter::addManifestEntry方法的典型用法代码示例。如果您正苦于以下问题:C++ KoXmlWriter::addManifestEntry方法的具体用法?C++ KoXmlWriter::addManifestEntry怎么用?C++ KoXmlWriter::addManifestEntry使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类KoXmlWriter
的用法示例。
在下文中一共展示了KoXmlWriter::addManifestEntry方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: manifestBuffer
QByteArray HancomWordImport::Private::createManifest()
{
KoXmlWriter* manifestWriter;
QByteArray manifestData;
QBuffer manifestBuffer( &manifestData );
manifestBuffer.open( QIODevice::WriteOnly );
manifestWriter = new KoXmlWriter( &manifestBuffer );
manifestWriter->startDocument( "manifest:manifest" );
manifestWriter->startElement( "manifest:manifest" );
manifestWriter->addAttribute( "xmlns:manifest", "urn:oasis:names:tc:openoffice:xmlns:manifest:1.0" );
manifestWriter->addManifestEntry( "/", "application/vnd.oasis.opendocument.text" );
manifestWriter->addManifestEntry( "styles.xml", "text/xml" );
manifestWriter->addManifestEntry( "content.xml", "text/xml" );
manifestWriter->endElement();
manifestWriter->endDocument();
delete manifestWriter;
return manifestData;
}
示例2: saveOdfHelper
bool DocBase::saveOdfHelper(SavingContext & documentContext, SaveFlag saveFlag,
QString* /*plainText*/)
{
Q_UNUSED(saveFlag);
KoStore * store = documentContext.odfStore.store();
KoXmlWriter * manifestWriter = documentContext.odfStore.manifestWriter();
KoStoreDevice dev(store);
KoGenStyles mainStyles;//for compile
KoXmlWriter* contentWriter = documentContext.odfStore.contentWriter();
KoXmlWriter* bodyWriter = documentContext.odfStore.bodyWriter();
KoShapeSavingContext savingContext(*bodyWriter, mainStyles, documentContext.embeddedSaver);
//todo fixme just add a element for testing saving content.xml
bodyWriter->startElement("office:body");
bodyWriter->startElement("office:spreadsheet");
// Saving the map.
map()->saveOdf(*contentWriter, savingContext);
bodyWriter->endElement(); ////office:spreadsheet
bodyWriter->endElement(); ////office:body
// Done with writing out the contents to the tempfile, we can now write out the automatic styles
mainStyles.saveOdfStyles(KoGenStyles::DocumentAutomaticStyles, contentWriter);
documentContext.odfStore.closeContentWriter();
//add manifest line for content.xml
manifestWriter->addManifestEntry("content.xml", "text/xml");
mainStyles.saveOdfStylesDotXml(store, manifestWriter);
if (!store->open("settings.xml"))
return false;
KoXmlWriter* settingsWriter = KoOdfWriteStore::createOasisXmlWriter(&dev, "office:document-settings");
settingsWriter->startElement("office:settings");
settingsWriter->startElement("config:config-item-set");
settingsWriter->addAttribute("config:name", "view-settings");
saveUnitOdf(settingsWriter);
saveOdfSettings(*settingsWriter);
settingsWriter->endElement(); // config:config-item-set
settingsWriter->startElement("config:config-item-set");
settingsWriter->addAttribute("config:name", "configuration-settings");
settingsWriter->addConfigItem("SpellCheckerIgnoreList", d->spellListIgnoreAll.join(","));
settingsWriter->endElement(); // config:config-item-set
settingsWriter->endElement(); // office:settings
settingsWriter->endElement(); // Root:element
settingsWriter->endDocument();
delete settingsWriter;
if (!store->close())
return false;
if (!savingContext.saveDataCenter(store, manifestWriter)) {
return false;
}
manifestWriter->addManifestEntry("settings.xml", "text/xml");
setModified(false);
return true;
}
示例3: convert
KoFilter::ConversionStatus KoOdfExporter::convert(const QByteArray& from, const QByteArray& to)
{
// check for proper conversion
if (!acceptsSourceMimeType(from)) {
kWarning(30003) << "Invalid source mimetype" << from;
return KoFilter::NotImplemented;
}
if (!acceptsDestinationMimeType(to)) {
kWarning(30003) << "Invalid destination mimetype" << to;
return KoFilter::NotImplemented;
}
//create output files
KoStore *outputStore = KoStore::createStore(m_chain->outputFile(), KoStore::Write, to, KoStore::Zip);
if (!outputStore || outputStore->bad()) {
kWarning(30003) << "Unable to open output file!";
delete outputStore;
return KoFilter::FileNotFound;
}
outputStore->disallowNameExpansion();
kDebug(30003) << "created outputStore.";
KoOdfWriteStore oasisStore(outputStore);
kDebug(30003) << "created oasisStore.";
// KoGenStyles for writing styles while we're parsing
KoGenStyles mainStyles;
KoOdfWriters writers;
writers.mainStyles = &mainStyles;
// create a writer for meta.xml
QBuffer buf;
buf.open(QIODevice::WriteOnly);
KoXmlWriter metaWriter(&buf);
writers.meta = &metaWriter;
// create a writer for manifest.xml
QBuffer manifestBuf;
manifestBuf.open(QIODevice::WriteOnly);
KoXmlWriter manifestWriter(&manifestBuf);
writers.manifest = &manifestWriter;
//open contentWriter & bodyWriter *temp* writers
//so we can write picture files while we parse
QBuffer contentBuf;
KoXmlWriter contentWriter(&contentBuf);
writers.content = &contentWriter;
QBuffer bodyBuf;
KoXmlWriter bodyWriter(&bodyBuf);
writers.body = &bodyWriter;
// open main tags
bodyWriter.startElement("office:body");
bodyWriter.startElement(d->bodyContentElement.constData());
RETURN_IF_ERROR( createDocument(outputStore, &writers) )
//save the office:automatic-styles & and fonts in content.xml
mainStyles.saveOdfStyles(KoGenStyles::FontFaceDecls, &contentWriter);
mainStyles.saveOdfStyles(KoGenStyles::DocumentAutomaticStyles, &contentWriter);
//close tags in body
bodyWriter.endElement();//office:*
bodyWriter.endElement();//office:body
//now create real content/body writers & dump the information there
KoXmlWriter* realContentWriter = oasisStore.contentWriter();
if (!realContentWriter) {
kWarning(30003) << "Error creating the content writer.";
delete outputStore;
return KoFilter::CreationError;
}
realContentWriter->addCompleteElement(&contentBuf);
KoXmlWriter* realBodyWriter = oasisStore.bodyWriter();
if (!realBodyWriter) {
kWarning(30003) << "Error creating the body writer.";
delete outputStore;
return KoFilter::CreationError;
}
realBodyWriter->addCompleteElement(&bodyBuf);
//now close content & body writers
if (!oasisStore.closeContentWriter()) {
kWarning(30003) << "Error closing content.";
delete outputStore;
return KoFilter::CreationError;
}
kDebug(30003) << "closed content & body writers.";
//create the manifest file
KoXmlWriter* realManifestWriter = oasisStore.manifestWriter(to);
//create the styles.xml file
mainStyles.saveOdfStylesDotXml(outputStore, realManifestWriter);
realManifestWriter->addManifestEntry("content.xml", "text/xml");
realManifestWriter->addCompleteElement(&manifestBuf);
kDebug(30003) << "created manifest and styles.xml";
//.........这里部分代码省略.........