summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAl <gabriel.cortesi@outlook.com>2018-06-10 09:55:41 +0200
committerGitHub <noreply@github.com>2018-06-10 09:55:41 +0200
commit19d80cc23d298326526755a3d980e6a079123385 (patch)
treeba32ca945536b2c5f101471848d6b352bf3a6d31 /src
parentf09ec53fcfc83f2647bf4d04cfa280f172ae0ed7 (diff)
parent0c4b1e9a928236542703a50cbe2c4b2d216feb0e (diff)
Merge pull request #400 from LostDragonist/Develop
Sort by game and fix for instance names
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;