From af289133d4df82dc55cd9fd2df8541d9c08949cc Mon Sep 17 00:00:00 2001 From: Nils Schwabe Date: Fri, 4 Apr 2014 16:46:11 +0200 Subject: simplified the xml caching --- src/vsession.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'src/vsession.cpp') 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 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 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 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 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(); -- cgit v1.2.3-55-g7522