diff options
Diffstat (limited to 'application/InstanceProxyModel.cpp')
-rw-r--r-- | application/InstanceProxyModel.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/application/InstanceProxyModel.cpp b/application/InstanceProxyModel.cpp new file mode 100644 index 00000000..2048252c --- /dev/null +++ b/application/InstanceProxyModel.cpp @@ -0,0 +1,23 @@ +#include "InstanceProxyModel.h" +#include "MultiMC.h" +#include <BaseInstance.h> + +InstanceProxyModel::InstanceProxyModel(QObject *parent) : GroupedProxyModel(parent) +{ +} + +bool InstanceProxyModel::subSortLessThan(const QModelIndex &left, + const QModelIndex &right) const +{ + BaseInstance *pdataLeft = static_cast<BaseInstance *>(left.internalPointer()); + BaseInstance *pdataRight = static_cast<BaseInstance *>(right.internalPointer()); + QString sortMode = MMC->settings()->get("InstSortMode").toString(); + if (sortMode == "LastLaunch") + { + return pdataLeft->lastLaunch() > pdataRight->lastLaunch(); + } + else + { + return QString::localeAwareCompare(pdataLeft->name(), pdataRight->name()) < 0; + } +} |