Property change propagation, changing instance groups, icon preview

This commit is contained in:
Petr Mrázek
2013-03-19 06:24:34 +01:00
parent d67d58e662
commit 7d7e4034f4
7 changed files with 85 additions and 14 deletions

View File

@ -176,16 +176,28 @@ public:
//// General Info ////
virtual QString name() { return settings().get("name").toString(); }
virtual void setName(QString val) { settings().set("name", val); }
virtual void setName(QString val)
{
settings().set("name", val);
emit propertiesChanged(this);
}
virtual QString iconKey() const { return settings().get("iconKey").toString(); }
virtual void setIconKey(QString val) { settings().set("iconKey", val); }
virtual void setIconKey(QString val)
{
settings().set("iconKey", val);
emit propertiesChanged(this);
}
virtual QString notes() const { return settings().get("notes").toString(); }
virtual void setNotes(QString val) { settings().set("notes", val); }
virtual QString group() const { return m_group; }
virtual void setGroup(QString val) { m_group = val; }
virtual void setGroup(QString val)
{
m_group = val;
emit propertiesChanged(this);
}
virtual bool shouldRebuild() const { return settings().get("NeedsRebuild").toBool(); }
virtual void setShouldRebuild(bool val) { settings().set("NeedsRebuild", val); }
@ -208,7 +220,10 @@ public:
virtual qint64 lastLaunch() { return settings().get("lastLaunchTime").value<qint64>(); }
virtual void setLastLaunch(qint64 val = QDateTime::currentMSecsSinceEpoch())
{ settings().set("lastLaunchTime", val); }
{
settings().set("lastLaunchTime", val);
emit propertiesChanged(this);
}
////// Directories //////
@ -283,6 +298,12 @@ public:
*/
virtual SettingsObject &settings() const;
signals:
/*!
* \brief Signal emitted when properties relevant to the instance view change
*/
void propertiesChanged(Instance * inst);
private:
QString m_rootDir;
QString m_group;

View File

@ -78,6 +78,9 @@ signals:
void instanceChanged(int index);
void invalidated();
private slots:
void propertiesChanged(Instance * inst);
protected:
QString m_instDir;
QList< InstancePtr > m_instances;