refs #209, reset method for settings

This commit is contained in:
Klaus Basan
2014-04-15 02:50:29 +02:00
parent 04bd01687e
commit 284a130669
6 changed files with 47 additions and 4 deletions

View File

@@ -116,12 +116,15 @@ namespace BlackCore
//! Hotkeys
virtual BlackMisc::Hardware::CKeyboardKeyList getHotkeys() const = 0;
//! save settings
//! Save settings
virtual BlackMisc::CStatusMessage write() const = 0;
//! Read settings
virtual BlackMisc::CStatusMessage read() = 0;
//! Reset settings
virtual BlackMisc::CStatusMessage reset(bool write = true) = 0;
//! Read settings
virtual QString getSettingsFileName() const = 0;

View File

@@ -99,16 +99,32 @@ namespace BlackCore
}
if (ok)
{
return CStatusMessage(CStatusMessage::TypeCore, CStatusMessage::SeverityInfo,
return CStatusMessage(CStatusMessage::TypeSettings, CStatusMessage::SeverityInfo,
QString("Written settings: %1").arg(this->getSettingsFileName()));
}
else
{
return CStatusMessage(CStatusMessage::TypeCore, CStatusMessage::SeverityError,
return CStatusMessage(CStatusMessage::TypeSettings, CStatusMessage::SeverityError,
QString("Problem writing settings: %1").arg(this->getSettingsFileName()));
}
}
/*
* Reset settings file
*/
CStatusMessage CContextSettings::reset(bool write)
{
this->m_hotkeys.initAsHotkeyList(true);
this->m_settingsNetwork.initDefaultValues();
this->emitCompletelyChanged();
if (write)
return this->write();
else
return CStatusMessage(CStatusMessage::TypeSettings, CStatusMessage::SeverityInfo,
QString("Reset settings data, not written"));
}
QString CContextSettings::getSettingsAsJsonString() const
{
QJsonDocument doc = this->toJsonDocument();
@@ -127,6 +143,15 @@ namespace BlackCore
return doc;
}
/*
* Emit all changed signals
*/
void CContextSettings::emitCompletelyChanged()
{
emit this->changedSettings(IContextSettings::SettingsHotKeys);
emit this->changedSettings(IContextSettings::SettingsNetwork);
}
/*
* Hotkeys
*/

View File

@@ -69,6 +69,9 @@ namespace BlackCore
//! \copydoc IContextSettings::write
virtual BlackMisc::CStatusMessage write() const override;
//! \copydoc IContextSettings::reset
virtual BlackMisc::CStatusMessage reset(bool write = true) override;
//! Settings file name
virtual QString getSettingsFileName() const override { return BlackMisc::Settings::CSettingUtilities::getSettingsFile(); }
@@ -79,6 +82,7 @@ namespace BlackCore
BlackMisc::Settings::CSettingsNetwork m_settingsNetwork;
BlackMisc::Hardware::CKeyboardKeyList m_hotkeys;
QJsonDocument toJsonDocument() const;
void emitCompletelyChanged();
};
}

View File

@@ -80,6 +80,14 @@ namespace BlackCore
return this->m_dBusInterface->callDBusRet<BlackMisc::CStatusMessage>(QLatin1Literal("read"));
}
/*
* Reset settings
*/
CStatusMessage CContextSettingsProxy::reset(bool write)
{
return this->m_dBusInterface->callDBusRet<BlackMisc::CStatusMessage>(QLatin1Literal("reset"), write);
}
/*
* File name
*/

View File

@@ -61,6 +61,9 @@ namespace BlackCore
//! \brief read settings
virtual BlackMisc::CStatusMessage read() override;
//! \copydoc IContextSettings::reset
virtual BlackMisc::CStatusMessage reset(bool write = true) override;
//! \brief settings file name
virtual QString getSettingsFileName() const override;