Utils: read remote persistent settings

Used to read project.user files from devices

Change-Id: I151155e7f83501f49ce1d72b3c4bff92f2c05d4b
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
David Schulz
2021-09-09 08:24:58 +02:00
parent 344d70e8f4
commit 6a435a3be9
2 changed files with 8 additions and 14 deletions

View File

@@ -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;
}

View File

@@ -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,