diff options
author | Nils Schwabe | 2014-04-04 16:46:11 +0200 |
---|---|---|
committer | Nils Schwabe | 2014-04-04 16:46:11 +0200 |
commit | af289133d4df82dc55cd9fd2df8541d9c08949cc (patch) | |
tree | 8ae15aca72b63df0abc0afe4d6262980b6a94aff /src/vsession.cpp | |
parent | changed permissions of xml and backup xml to 666 (diff) | |
download | vmchooser2-af289133d4df82dc55cd9fd2df8541d9c08949cc.tar.gz vmchooser2-af289133d4df82dc55cd9fd2df8541d9c08949cc.tar.xz vmchooser2-af289133d4df82dc55cd9fd2df8541d9c08949cc.zip |
simplified the xml caching
Diffstat (limited to 'src/vsession.cpp')
-rw-r--r-- | src/vsession.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/vsession.cpp b/src/vsession.cpp index 1283134..c2b1aef 100644 --- a/src/vsession.cpp +++ b/src/vsession.cpp @@ -292,8 +292,7 @@ QList<Session*> VSession::readXmlFile(const QString& filepath) { QDomDocument doc; QFile file(filepath); - QFile backup_file(xml_backup_filename); - + QFile backup_file(xml_filename); if (!file.open(QIODevice::ReadOnly)) { if (debugMode) { @@ -301,6 +300,7 @@ QList<Session*> VSession::readXmlFile(const QString& filepath) { } return retval; } + if (!doc.setContent(&file)) { if (debugMode) { qDebug() << "XML file not valid: " << file.fileName(); @@ -311,7 +311,7 @@ QList<Session*> VSession::readXmlFile(const QString& filepath) { // try to use backup file if (!backup_file.open(QIODevice::ReadOnly)) { if (debugMode) { - qDebug() << "Cannot read backup file " << xml_backup_filename << " either"; + qDebug() << "Cannot read backup file " << xml_filename << " either"; } return retval; } @@ -325,24 +325,24 @@ QList<Session*> VSession::readXmlFile(const QString& filepath) { } if (debugMode) { - qDebug() << "Used backup file " << xml_backup_filename; + qDebug() << "Used backup file " << xml_filename; } backup_file.close(); } else { + file.close(); + // file is valid --> create backup file - QFile::remove(xml_backup_filename); - QFile::copy(filepath, xml_backup_filename); - if (!QFile::setPermissions(xml_backup_filename, QFile::ReadUser | QFile::ReadGroup | QFile::ReadOther | QFile::WriteUser | QFile::WriteGroup | QFile::WriteOther)) { + QFile::remove(xml_filename); + QFile::rename(filepath, xml_filename); + if (!QFile::setPermissions(xml_filename, QFile::ReadUser | QFile::ReadGroup | QFile::ReadOther | QFile::WriteUser | QFile::WriteGroup | QFile::WriteOther)) { if (debugMode) { qDebug() << "Could not change permissions of file: " << news_backup_filename; } } } - file.close(); - - QString dirName(QFileInfo(filepath).dir().absolutePath()); + QString dirName(QFileInfo(xml_filename).dir().absolutePath()); QDomElement settingsNode = doc.firstChildElement("settings"); for (QDomElement el(settingsNode.firstChildElement("eintrag")); !el.isNull(); |