SettingsAccessor: Remember last saved state

Remember last saved data and do not save it again if nothing had
changed.

Change-Id: I093859ff5edc8d1d6e7b17ecd97985ca6fb0e579
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Tobias Hunger
2018-02-27 16:03:33 +01:00
parent 5c4abeaffe
commit 990d26deba
3 changed files with 22 additions and 3 deletions

View File

@@ -443,6 +443,12 @@ bool PersistentSettingsWriter::save(const QVariantMap &data, QWidget *parent) co
FileName PersistentSettingsWriter::fileName() const
{ return m_fileName; }
//** * @brief Set contents of file (e.g. from data read from it). */
void PersistentSettingsWriter::setContents(const QVariantMap &data)
{
m_savedData = data;
}
bool PersistentSettingsWriter::write(const QVariantMap &data, QString *errorString) const
{
QDir tmp;
@@ -472,10 +478,12 @@ bool PersistentSettingsWriter::write(const QVariantMap &data, QString *errorStri
saver.setResult(&w);
}
bool ok = saver.finalize();
if (ok)
if (ok) {
m_savedData = data;
else if (errorString)
} else if (errorString) {
m_savedData.clear();
*errorString = saver.errorString();
}
return ok;
}