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)
|
m_fileName(fileName), m_docType(docType)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
|
PersistentSettingsWriter::~PersistentSettingsWriter()
|
||||||
|
{
|
||||||
|
write(m_savedData, 0);
|
||||||
|
}
|
||||||
|
|
||||||
bool PersistentSettingsWriter::save(const QVariantMap &data, QWidget *parent) const
|
bool PersistentSettingsWriter::save(const QVariantMap &data, QWidget *parent) const
|
||||||
{
|
{
|
||||||
if (data == m_savedData)
|
if (data == m_savedData)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
|
return write(data, parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
FileName PersistentSettingsWriter::fileName() const
|
||||||
|
{ return m_fileName; }
|
||||||
|
|
||||||
|
bool PersistentSettingsWriter::write(const QVariantMap &data, QWidget *parent) const
|
||||||
|
{
|
||||||
QDir tmp;
|
QDir tmp;
|
||||||
tmp.mkpath(m_fileName.toFileInfo().path());
|
tmp.mkpath(m_fileName.toFileInfo().path());
|
||||||
Utils::FileSaver saver(m_fileName.toString(), QIODevice::Text);
|
Utils::FileSaver saver(m_fileName.toString(), QIODevice::Text);
|
||||||
@@ -412,7 +425,4 @@ bool PersistentSettingsWriter::save(const QVariantMap &data, QWidget *parent) co
|
|||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
FileName PersistentSettingsWriter::fileName() const
|
|
||||||
{ return m_fileName; }
|
|
||||||
|
|
||||||
} // namespace Utils
|
} // namespace Utils
|
||||||
|
|||||||
@@ -60,11 +60,15 @@ class QTCREATOR_UTILS_EXPORT PersistentSettingsWriter
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
PersistentSettingsWriter(const FileName &fileName, const QString &docType);
|
PersistentSettingsWriter(const FileName &fileName, const QString &docType);
|
||||||
|
~PersistentSettingsWriter();
|
||||||
|
|
||||||
bool save(const QVariantMap &data, QWidget *parent) const;
|
bool save(const QVariantMap &data, QWidget *parent) const;
|
||||||
|
|
||||||
Utils::FileName fileName() const;
|
Utils::FileName fileName() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
bool write(const QVariantMap &data, QWidget *parent) const;
|
||||||
|
|
||||||
const Utils::FileName m_fileName;
|
const Utils::FileName m_fileName;
|
||||||
const QString m_docType;
|
const QString m_docType;
|
||||||
mutable QMap<QString, QVariant> m_savedData;
|
mutable QMap<QString, QVariant> m_savedData;
|
||||||
|
|||||||
Reference in New Issue
Block a user