[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [plasmate/terietor/kconfigxt] editors/kconfigxt: write the kcfg element
From: Giorgos Tsiapaliokas <terietor () gmail ! com>
Date: 2012-08-09 13:00:26
Message-ID: 20120809130026.DC185A60A6 () git ! kde ! org
[Download RAW message or body]
Git commit 62da092d0ac0e54400840d3d755aeb1651212e75 by Giorgos Tsiapaliokas.
Committed on 09/08/2012 at 12:09.
Pushed by tsiapaliwkas into branch 'terietor/kconfigxt'.
write the kcfg element
M +33 -15 editors/kconfigxt/kconfigxtwriter.cpp
M +5 -0 editors/kconfigxt/kconfigxtwriter.h
http://commits.kde.org/plasmate/62da092d0ac0e54400840d3d755aeb1651212e75
diff --git a/editors/kconfigxt/kconfigxtwriter.cpp b/editors/kconfigxt/kconfigxtwriter.cpp
index d5ccff5..735800d 100644
--- a/editors/kconfigxt/kconfigxtwriter.cpp
+++ b/editors/kconfigxt/kconfigxtwriter.cpp
@@ -103,24 +103,17 @@ void KConfigXtWriter::writeXML()
m_writer->writeStartDocument();
//start kcfg element
- m_writer->writeStartElement("kcfg");
+ startKcfgElement();
+
+ //start kcfgfile element
+ m_writer->writeStartElement("kcfgfile");
+ m_writer->writeAttribute("name", "");
+ m_writer->writeEndElement();
foreach(const KConfigXtWriterItem& writerItem, m_dataList) {
//start group
m_writer->writeStartElement("group");
- //TODO add the above into the xml
- /*every kconfigxt xml file contains the below data
- *
- * <?xml version="1.0" encoding="UTF-8"?>
- * <kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
- * xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- * xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
- * http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" >
- * <kcfgfile name=""/>
- * </kcfg>
- *
- */
m_writer->writeAttribute("name", writerItem.group());
foreach(const KConfigXtReaderItem& readerItem, writerItem.entries()) {
@@ -157,8 +150,9 @@ void KConfigXtWriter::writeXML()
//end group
m_writer->writeEndElement();
}
- //end kcfg
- m_writer->writeEndElement();
+ //end kcfg element
+ endKcfgElement();
+
//end the document
m_writer->writeEndDocument();
@@ -166,6 +160,30 @@ void KConfigXtWriter::writeXML()
m_writer->device()->close();
}
+void KConfigXtWriter::startKcfgElement()
+{
+ //write the kcfg manually
+ QByteArray startKcfg;
+ startKcfg.append("\n");
+ startKcfg.append("<kcfg xmlns=\"http://www.kde.org/standards/kcfg/1.0\"");
+ startKcfg.append("\n");
+ startKcfg.append(" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"");
+ startKcfg.append("\n");
+ startKcfg.append(" xsi:schemaLocation=\"http://www.kde.org/standards/kcfg/1.0\"");
+ startKcfg.append("\n");
+ startKcfg.append(" http://www.kde.org/standards/kcfg/1.0/kcfg.xsd\" >");
+ startKcfg.append("\n");
+ m_writer->device()->write(startKcfg);
+}
+
+void KConfigXtWriter::endKcfgElement()
+{
+ QByteArray endKcfg;
+ endKcfg.append("\n");
+ endKcfg.append("</kcfg>");
+ m_writer->device()->write(endKcfg);
+}
+
QList<KConfigXtWriterItem> KConfigXtWriter::readerItemsToWriterIems(QStringList& groupList,
QList<KConfigXtReaderItem> entriesList) const
{
diff --git a/editors/kconfigxt/kconfigxtwriter.h b/editors/kconfigxt/kconfigxtwriter.h
index 3e1ea99..d3560cd 100644
--- a/editors/kconfigxt/kconfigxtwriter.h
+++ b/editors/kconfigxt/kconfigxtwriter.h
@@ -84,6 +84,11 @@ private:
QList<KConfigXtWriterItem> m_dataList;
QFile *m_xmlFile;
QXmlStreamWriter *m_writer;
+
+ //we have to write the kcfg element manually
+ //because qxmlstreamwriter doesn't support it
+ void startKcfgElement();
+ void endKcfgElement();
};
#endif
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic