summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/instancemanager.cpp2
-rw-r--r--src/modlistsortproxy.cpp10
2 files changed, 11 insertions, 1 deletions
diff --git a/src/instancemanager.cpp b/src/instancemanager.cpp
index 43ae152b..2b718cb2 100644
--- a/src/instancemanager.cpp
+++ b/src/instancemanager.cpp
@@ -146,7 +146,7 @@ QString InstanceManager::queryInstanceName(const QStringList &instanceList) cons
if (dialog.exec() == QDialog::Rejected) {
throw MOBase::MyException(QObject::tr("Canceled"));
}
- instanceId = dialog.textValue().replace(QRegExp("[^0-9a-zA-Z ]"), "");
+ instanceId = dialog.textValue().replace(QRegExp("[^0-9a-zA-Z ]"), "").remove(QRegExp("( )*$"));
bool alreadyExists=false;
for (const QString &instance : instanceList) {
diff --git a/src/modlistsortproxy.cpp b/src/modlistsortproxy.cpp
index 435967c9..88084ae1 100644
--- a/src/modlistsortproxy.cpp
+++ b/src/modlistsortproxy.cpp
@@ -208,6 +208,16 @@ bool ModListSortProxy::lessThan(const QModelIndex &left,
if (leftTime != rightTime)
return leftTime < rightTime;
} break;
+ case ModList::COL_GAME: {
+ if (leftMod->getGameName() != rightMod->getGameName()) {
+ lt = leftMod->getGameName() < rightMod->getGameName();
+ }
+ else {
+ int comp = QString::compare(leftMod->name(), rightMod->name(), Qt::CaseInsensitive);
+ if (comp != 0)
+ lt = comp < 0;
+ }
+ } break;
case ModList::COL_PRIORITY: {
// nop, already compared by priority
} break;