forked from qt-creator/qt-creator
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:
@@ -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;
|
||||
}
|
||||
|
||||
|
@@ -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,
|
||||
|
Reference in New Issue
Block a user