summaryrefslogtreecommitdiff
path: root/src/instancemanager.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2020-07-23 10:27:58 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2020-11-03 11:39:04 -0500
commitb10bcf4cb72bf3db06735a6b893c93319cead965 (patch)
tree9e75147f39337ec8efd04f0a390c68ac76384faf /src/instancemanager.cpp
parente0ed1c2153be0a9f922a619c527b3646b40377eb (diff)
instance name page
Diffstat (limited to 'src/instancemanager.cpp')
-rw-r--r--src/instancemanager.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/instancemanager.cpp b/src/instancemanager.cpp
index 98edba47..b135cac1 100644
--- a/src/instancemanager.cpp
+++ b/src/instancemanager.cpp
@@ -650,6 +650,27 @@ MOBase::IPluginGame* InstanceManager::determineCurrentGame(
return nullptr;
}
+QString InstanceManager::makeUniqueName(const QString& instanceName) const
+{
+ const QString sanitized = sanitizeInstanceName(instanceName);
+
+ QString name = sanitized;
+ for (int i=2; i<100; ++i) {
+ if (!instanceExists(name)) {
+ return name;
+ }
+
+ name = QString("%1 (%2)").arg(sanitized).arg(i);
+ }
+
+ return {};
+}
+
+bool InstanceManager::instanceExists(const QString& instanceName) const
+{
+ const QDir root = instancesPath();
+ return root.exists(instanceName);
+}
QString InstanceManager::sanitizeInstanceName(const QString &name) const
{