From ff3078b3a652316eef760386f665d152cbeb8db9 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 22 Apr 2013 15:39:41 -0500 Subject: Make the new instance dialog support instance types. --- libmultimc/include/instversionlist.h | 12 ++++++++++++ libmultimc/src/instversionlist.cpp | 11 +++++++++++ 2 files changed, 23 insertions(+) (limited to 'libmultimc') 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(); } -- cgit v1.2.3