diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/instancemanager.cpp | 2 | ||||
| -rw-r--r-- | src/modlistsortproxy.cpp | 10 |
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;
|
