forked from qt-creator/qt-creator
Always save settings on exit
Task-number: QTCREATORBUG-7904 Change-Id: I1f7e1462db287cfda2d131f380c7235a94832e69 Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
@@ -376,11 +376,24 @@ PersistentSettingsWriter::PersistentSettingsWriter(const FileName &fileName, con
|
||||
m_fileName(fileName), m_docType(docType)
|
||||
{ }
|
||||
|
||||
PersistentSettingsWriter::~PersistentSettingsWriter()
|
||||
{
|
||||
write(m_savedData, 0);
|
||||
}
|
||||
|
||||
bool PersistentSettingsWriter::save(const QVariantMap &data, QWidget *parent) const
|
||||
{
|
||||
if (data == m_savedData)
|
||||
return true;
|
||||
|
||||
return write(data, parent);
|
||||
}
|
||||
|
||||
FileName PersistentSettingsWriter::fileName() const
|
||||
{ return m_fileName; }
|
||||
|
||||
bool PersistentSettingsWriter::write(const QVariantMap &data, QWidget *parent) const
|
||||
{
|
||||
QDir tmp;
|
||||
tmp.mkpath(m_fileName.toFileInfo().path());
|
||||
Utils::FileSaver saver(m_fileName.toString(), QIODevice::Text);
|
||||
@@ -412,7 +425,4 @@ bool PersistentSettingsWriter::save(const QVariantMap &data, QWidget *parent) co
|
||||
return ok;
|
||||
}
|
||||
|
||||
FileName PersistentSettingsWriter::fileName() const
|
||||
{ return m_fileName; }
|
||||
|
||||
} // namespace Utils
|
||||
|
||||
@@ -60,11 +60,15 @@ class QTCREATOR_UTILS_EXPORT PersistentSettingsWriter
|
||||
{
|
||||
public:
|
||||
PersistentSettingsWriter(const FileName &fileName, const QString &docType);
|
||||
~PersistentSettingsWriter();
|
||||
|
||||
bool save(const QVariantMap &data, QWidget *parent) const;
|
||||
|
||||
Utils::FileName fileName() const;
|
||||
|
||||
private:
|
||||
bool write(const QVariantMap &data, QWidget *parent) const;
|
||||
|
||||
const Utils::FileName m_fileName;
|
||||
const QString m_docType;
|
||||
mutable QMap<QString, QVariant> m_savedData;
|
||||
|
||||
Reference in New Issue
Block a user