summaryrefslogtreecommitdiffstats
path: root/libmultimc/include
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2013-03-19 06:24:34 +0100
committerPetr Mrázek <peterix@gmail.com>2013-03-19 06:24:34 +0100
commit7d7e4034f48b578c87a4651075c2b73dc236181b (patch)
treea0e58c46bb5f18726ea6e5c9039eceaeea001f0d /libmultimc/include
parentd67d58e662159d53ee5fde37a6f60903f6350731 (diff)
downloadMultiMC-7d7e4034f48b578c87a4651075c2b73dc236181b.tar
MultiMC-7d7e4034f48b578c87a4651075c2b73dc236181b.tar.gz
MultiMC-7d7e4034f48b578c87a4651075c2b73dc236181b.tar.lz
MultiMC-7d7e4034f48b578c87a4651075c2b73dc236181b.tar.xz
MultiMC-7d7e4034f48b578c87a4651075c2b73dc236181b.zip
Property change propagation, changing instance groups, icon preview
Diffstat (limited to 'libmultimc/include')
-rw-r--r--libmultimc/include/instance.h29
-rw-r--r--libmultimc/include/instancelist.h3
2 files changed, 28 insertions, 4 deletions
diff --git a/libmultimc/include/instance.h b/libmultimc/include/instance.h
index 9334dff8..258a0dab 100644
--- a/libmultimc/include/instance.h
+++ b/libmultimc/include/instance.h
@@ -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;
diff --git a/libmultimc/include/instancelist.h b/libmultimc/include/instancelist.h
index 3eef8bdc..a0d8788a 100644
--- a/libmultimc/include/instancelist.h
+++ b/libmultimc/include/instancelist.h
@@ -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;