summaryrefslogtreecommitdiffstats
path: root/libmultimc
diff options
context:
space:
mode:
authorAndrew <forkk@forkk.net>2013-04-22 15:39:41 -0500
committerAndrew <forkk@forkk.net>2013-04-22 15:39:41 -0500
commitff3078b3a652316eef760386f665d152cbeb8db9 (patch)
tree5bd745873409d6bea927762cef314ccb78fde4e2 /libmultimc
parent7ec32d5657d433a2636f6738e162f4da6f11cde7 (diff)
downloadMultiMC-ff3078b3a652316eef760386f665d152cbeb8db9.tar
MultiMC-ff3078b3a652316eef760386f665d152cbeb8db9.tar.gz
MultiMC-ff3078b3a652316eef760386f665d152cbeb8db9.tar.lz
MultiMC-ff3078b3a652316eef760386f665d152cbeb8db9.tar.xz
MultiMC-ff3078b3a652316eef760386f665d152cbeb8db9.zip
Make the new instance dialog support instance types.
Diffstat (limited to 'libmultimc')
-rw-r--r--libmultimc/include/instversionlist.h12
-rw-r--r--libmultimc/src/instversionlist.cpp11
2 files changed, 23 insertions, 0 deletions
diff --git a/libmultimc/include/instversionlist.h b/libmultimc/include/instversionlist.h
index 24dd1a28..b5a9f254 100644
--- a/libmultimc/include/instversionlist.h
+++ b/libmultimc/include/instversionlist.h
@@ -41,6 +41,11 @@ class LIBMULTIMC_EXPORT InstVersionList : public QAbstractListModel
{
Q_OBJECT
public:
+ enum ModelRoles
+ {
+ VersionPointerRole = 0x34B1CB48
+ };
+
explicit InstVersionList(QObject *parent = 0);
/*!
@@ -75,6 +80,13 @@ public:
* one doesn't exist.
*/
virtual const InstVersion *findVersion(const QString &descriptor);
+
+ /*!
+ * \brief Gets the latest stable version of this instance type.
+ * This is the version that will be selected by default.
+ * By default, this is simply the first version in the list.
+ */
+ virtual const InstVersion *getLatestStable();
};
#endif // INSTVERSIONLIST_H
diff --git a/libmultimc/src/instversionlist.cpp b/libmultimc/src/instversionlist.cpp
index 6c7b44bb..85734e48 100644
--- a/libmultimc/src/instversionlist.cpp
+++ b/libmultimc/src/instversionlist.cpp
@@ -31,6 +31,14 @@ const InstVersion *InstVersionList::findVersion(const QString &descriptor)
return NULL;
}
+const InstVersion *InstVersionList::getLatestStable()
+{
+ if (count() <= 0)
+ return NULL;
+ else
+ return at(0);
+}
+
// Column Enum
enum VListColumns
{
@@ -73,6 +81,9 @@ QVariant InstVersionList::data(const QModelIndex &index, int role) const
case Qt::ToolTipRole:
return version->descriptor();
+ case VersionPointerRole:
+ return qVariantFromValue((void *) version);
+
default:
return QVariant();
}