[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdeedu
From: Frederik Gladhorn <frederik.gladhorn () gmx ! de>
Date: 2008-04-21 14:01:31
Message-ID: 1208786491.855891.32230.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 799410 by gladhorn:
Create the xml from the document in memory using qbytearray instead of needing to \
read from disk which would fail when not using kvtml2 and also needed a saved \
document to work.
M +7 -1 libkdeedu/keduvocdocument/keduvocdocument.cpp
M +2 -0 libkdeedu/keduvocdocument/keduvocdocument.h
M +19 -4 libkdeedu/keduvocdocument/keduvockvtml2writer.cpp
M +5 -0 libkdeedu/keduvocdocument/keduvockvtml2writer.h
M +3 -1 parley/src/export/xsldialog.cpp
--- trunk/KDE/kdeedu/libkdeedu/keduvocdocument/keduvocdocument.cpp #799409:799410
@@ -413,6 +413,13 @@
return 0;
}
+QByteArray KEduVocDocument::toByteArray(const QString &generator)
+{
+ // no file needed
+ KEduVocKvtml2Writer kvtmlWriter(0);
+ return kvtmlWriter.toByteArray( this, generator );
+}
+
void KEduVocDocument::merge( KEduVocDocument *docToMerge, bool matchIdentifiers )
{
kDebug(1100) << "Merging of docs is not implemented"; /// @todo IMPLEMENT ME
@@ -784,7 +791,6 @@
return d->m_license;
}
-
QString KEduVocDocument::documentComment() const
{
return d->m_comment;
--- trunk/KDE/kdeedu/libkdeedu/keduvocdocument/keduvocdocument.h #799409:799410
@@ -117,6 +117,8 @@
*/
int saveAs( const KUrl & url, FileType ft, const QString & generator );
+ QByteArray toByteArray(const QString &generator);
+
/**
* Merges data from another document
*
--- trunk/KDE/kdeedu/libkdeedu/keduvocdocument/keduvockvtml2writer.cpp #799409:799410
@@ -33,9 +33,26 @@
m_outputFile = file;
}
-
bool KEduVocKvtml2Writer::writeDoc( KEduVocDocument *doc, const QString &generator )
{
+ if (createXmlDocument(doc, generator)) {
+ QTextStream ts( m_outputFile );
+ m_domDoc.save( ts, 2 );
+ return true;
+ }
+ return false;
+}
+
+QByteArray KEduVocKvtml2Writer::toByteArray(KEduVocDocument * doc, const QString & \
generator) +{
+ if (createXmlDocument(doc, generator)) {
+ return m_domDoc.toByteArray();
+ }
+ return QByteArray();
+}
+
+bool KEduVocKvtml2Writer::createXmlDocument( KEduVocDocument *doc, const QString \
&generator ) +{
m_doc = doc;
m_domDoc = QDomDocument( "kvtml PUBLIC \"kvtml2.dtd\" \
\"http://edu.kde.org/kanagram/kvtml2.dtd\"" ); @@ -88,9 +105,6 @@
m_domDoc.appendChild( domElementKvtml );
- QTextStream ts( m_outputFile );
- m_domDoc.save( ts, 2 );
-
return true;
}
@@ -605,3 +619,4 @@
element.appendChild( textNode );
}
+
--- trunk/KDE/kdeedu/libkdeedu/keduvocdocument/keduvockvtml2writer.h #799409:799410
@@ -41,6 +41,8 @@
bool writeDoc( KEduVocDocument *doc, const QString &generator );
+ QByteArray toByteArray( KEduVocDocument *doc, const QString &generator );
+
/**
* Helper function, appends a new element AND a text child to @p parent
* Only appends if @p text is NOT empty.
@@ -51,6 +53,9 @@
static void appendTextElement( QDomElement &parent, const QString &elementName, \
const QString &text );
private:
+
+ bool createXmlDocument( KEduVocDocument *doc, const QString &generator );
+
/** write information entries
* @param informationElement QDomElement information to write to
* @param generator text describing generator
--- trunk/KDE/kdeedu/parley/src/export/xsldialog.cpp #799409:799410
@@ -14,6 +14,7 @@
#include "xsldialog.h"
#include <keduvocdocument.h>
+#include <keduvockvtml2writer.h>
#include <KStandardDirs>
#include <KUrl>
@@ -62,7 +63,8 @@
xmlLoadExtDtdDefaultValue = 1;
cur = xsltParseStylesheetFile((const xmlChar*) xslFile.toLatin1().constData());
- doc = xmlParseFile( (const char*) m_doc->url().toLocalFile().toLatin1() );
+ doc = xmlParseDoc( (const xmlChar*) \
m_doc->toByteArray(m_doc->generator()).constData() ); +
res = xsltApplyStylesheet(cur, doc, 0);
FILE* result = fopen( (const char*) m_targetFile.toLocalFile().toLatin1(), "w");
xsltSaveResultToFile(result, res, cur);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic