diff --git a/src/libs/utils/persistentsettings.cpp b/src/libs/utils/persistentsettings.cpp index 4cebb43c7ca..c1cf7da86ea 100644 --- a/src/libs/utils/persistentsettings.cpp +++ b/src/libs/utils/persistentsettings.cpp @@ -183,7 +183,7 @@ void ParseValueStackEntry::addChild(const QString &key, const QVariant &v) class ParseContext : public Context { public: - QVariantMap parse(QFile &file); + QVariantMap parse(const FilePath &file); private: enum Element { QtCreatorElement, DataElement, VariableElement, @@ -204,9 +204,9 @@ private: QString m_currentVariableName; }; -QVariantMap ParseContext::parse(QFile &file) +QVariantMap ParseContext::parse(const FilePath &file) { - QXmlStreamReader r(&file); + QXmlStreamReader r(file.fileContents()); m_result.clear(); m_currentVariableName.clear(); @@ -354,15 +354,11 @@ bool PersistentSettingsReader::load(const FilePath &fileName) { m_valueMap.clear(); - QFile file(fileName.toString()); - if (file.size() == 0) // skip empty files + if (fileName.fileSize() == 0) // skip empty files return false; - if (!file.open(QIODevice::ReadOnly|QIODevice::Text)) - return false; ParseContext ctx; - m_valueMap = ctx.parse(file); - file.close(); + m_valueMap = ctx.parse(fileName); return true; } diff --git a/src/libs/utils/settingsaccessor.cpp b/src/libs/utils/settingsaccessor.cpp index 4d954d08674..43bb69402a1 100644 --- a/src/libs/utils/settingsaccessor.cpp +++ b/src/libs/utils/settingsaccessor.cpp @@ -218,12 +218,10 @@ QVariantMap SettingsAccessor::prepareToWriteSettings(const QVariantMap &data) co FilePaths BackUpStrategy::readFileCandidates(const FilePath &baseFileName) const { + const QStringList filter(baseFileName.fileName() + '*'); + const FilePath baseFileDir = baseFileName.parentDir(); - const QFileInfo pfi = baseFileName.toFileInfo(); - const QStringList filter(pfi.fileName() + '*'); - const QFileInfoList list = QDir(pfi.dir()).entryInfoList(filter, QDir::Files | QDir::Hidden | QDir::System); - - return Utils::transform(list, [](const QFileInfo &fi) { return FilePath::fromString(fi.absoluteFilePath()); }); + return baseFileDir.dirEntries(filter, QDir::Files | QDir::Hidden | QDir::System); } int BackUpStrategy::compare(const SettingsAccessor::RestoreData &data1,