]> Git trees. - libqmvoc.git/commitdiff
Create the xml from the document in memory using qbytearray instead of needing to... v4.0.71
authorFrederik Gladhorn <gladhorn@kde.org>
Mon, 21 Apr 2008 14:01:31 +0000 (14:01 +0000)
committerFrederik Gladhorn <gladhorn@kde.org>
Mon, 21 Apr 2008 14:01:31 +0000 (14:01 +0000)
svn path=/trunk/KDE/kdeedu/libkdeedu/; revision=799410

keduvocdocument/keduvocdocument.cpp
keduvocdocument/keduvocdocument.h
keduvocdocument/keduvockvtml2writer.cpp
keduvocdocument/keduvockvtml2writer.h

index 6bb747a24baa65b9ae19e0244fc236740feb38bb..37621c4a5a4ada334c731fd5c0ab301ab494fb42 100644 (file)
@@ -413,6 +413,13 @@ int KEduVocDocument::saveAs( const KUrl & url, FileType ft, const QString & gene
     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 @@ QString KEduVocDocument::license() const
     return d->m_license;
 }
 
-
 QString KEduVocDocument::documentComment() const
 {
     return d->m_comment;
index a2067283ca08b5befe9847a1a634c49012d925e5..cffe1a296a942c2d01d8afe6263ef11183874ceb 100644 (file)
@@ -117,6 +117,8 @@ public:
      */
     int saveAs( const KUrl & url, FileType ft, const QString & generator );
 
+    QByteArray toByteArray(const QString &generator);
+
     /**
      * Merges data from another document
      *
index 64ee0c45a40853ed99a345b688b87f5695447d1a..64dcdf9f82473a04dd7d5095a07bbf47dc1aa167 100644 (file)
@@ -33,8 +33,25 @@ KEduVocKvtml2Writer::KEduVocKvtml2Writer( QFile *file )
     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;
 
@@ -88,9 +105,6 @@ bool KEduVocKvtml2Writer::writeDoc( KEduVocDocument *doc, const QString &generat
 
     m_domDoc.appendChild( domElementKvtml );
 
-    QTextStream ts( m_outputFile );
-    m_domDoc.save( ts, 2 );
-
     return true;
 }
 
@@ -605,3 +619,4 @@ void KEduVocKvtml2Writer::appendTextElement(QDomElement & parent, const QString
     element.appendChild( textNode );
 }
 
+
index dab473d7dea8abb8a630298e114babc83a7cb658..45095cdd2b255c6d536e6ba4d363b3e8cc3ba781 100644 (file)
@@ -41,6 +41,8 @@ public:
 
     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 @@ public:
     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