Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static bool readXmlFile(QIODevice &device, QSettings::SettingsMap &map)
- {
- qDebug()<< "read";
- QXmlStreamReader reader(&device);
- QString key;
- while(!reader.atEnd())
- {
- if( reader.isStartElement() && reader.tokenString() != "Settings")
- {
- if( reader.text().isNull() )
- {
- // key = Settings
- if(key.isEmpty())
- key = reader.tokenString();
- // key = Settings/Intervall
- else key += "/" + reader.tokenString();
- }
- else map.insert(key, reader.text().data());
- }
- }
- return true;
- }
- static bool writeXmlFile(QIODevice &device, const QSettings::SettingsMap &map)
- {
- qDebug()<< "write";
- QXmlStreamWriter writer(&device);
- writer.writeStartDocument("1.0");
- writer.writeStartElement("Settings");
- foreach(QString key, map.keys())
- {
- foreach(QString elementKey, key.split("/"))
- {
- writer.writeStartElement(elementKey);
- }
- writer.writeCDATA(map.value(key).toString());
- writer.writeEndElement();
- }
- writer.writeEndElement();
- writer.writeEndDocument();
- return true;
- }
- int main(int argc, char *argv[])
- {
- QApplication a(argc, argv);
- //a.setApplicationName("SPC");
- //a.setOrganizationName("EUP");
- const QSettings::Format XmlFormat = QSettings::registerFormat("xml", readXmlFile, writeXmlFile);
- QSettings::setPath(XmlFormat, QSettings::UserScope, a.applicationFilePath());
- QSettings::setDefaultFormat(XmlFormat);
- QSettings setting(XmlFormat, QSettings::UserScope, "EUP");
- setting.setValue("xmlFormat", 2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement