summaryrefslogtreecommitdiffstats
path: root/gui/dialogs/NewInstanceDialog.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2014-11-08 21:17:28 +0100
committerPetr Mrázek <peterix@gmail.com>2014-11-08 21:17:28 +0100
commit992ba0c3f8ae65d25503b74c62c3cdf4668635d3 (patch)
tree26c3b08e466f74231bf5b0e0bb6aca0123bd83ab /gui/dialogs/NewInstanceDialog.cpp
parent7d1dd2a32f95eacaaea7d808cd07faf99e425977 (diff)
downloadMultiMC-992ba0c3f8ae65d25503b74c62c3cdf4668635d3.tar
MultiMC-992ba0c3f8ae65d25503b74c62c3cdf4668635d3.tar.gz
MultiMC-992ba0c3f8ae65d25503b74c62c3cdf4668635d3.tar.lz
MultiMC-992ba0c3f8ae65d25503b74c62c3cdf4668635d3.tar.xz
MultiMC-992ba0c3f8ae65d25503b74c62c3cdf4668635d3.zip
Implement #545
* Instance group can be selected when creating and copying instances * Original group is pre-selected when copying * Last used group is pre-selected when creating new instances
Diffstat (limited to 'gui/dialogs/NewInstanceDialog.cpp')
-rw-r--r--gui/dialogs/NewInstanceDialog.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/gui/dialogs/NewInstanceDialog.cpp b/gui/dialogs/NewInstanceDialog.cpp
index 721d7931..aeaa7e4a 100644
--- a/gui/dialogs/NewInstanceDialog.cpp
+++ b/gui/dialogs/NewInstanceDialog.cpp
@@ -22,6 +22,7 @@
#include "logic/icons/IconList.h"
#include "logic/minecraft/MinecraftVersionList.h"
#include "logic/tasks/Task.h"
+#include <logic/InstanceList.h>
#include "gui/Platform.h"
#include "VersionSelectDialog.h"
@@ -41,6 +42,21 @@ NewInstanceDialog::NewInstanceDialog(QWidget *parent)
setSelectedVersion(MMC->minecraftlist()->getLatestStable(), true);
InstIconKey = "infinity";
ui->iconButton->setIcon(MMC->icons()->getIcon(InstIconKey));
+ auto groups = MMC->instances()->getGroups().toSet();
+ auto groupList = QStringList(groups.toList());
+ groupList.sort(Qt::CaseInsensitive);
+ groupList.removeOne("");
+ QString oldValue = MMC->settings()->get("LastUsedGroupForNewInstance").toString();
+ groupList.push_front(oldValue);
+ groupList.push_front("");
+ ui->groupBox->addItems(groupList);
+ int index = groupList.indexOf(oldValue);
+ if(index == -1)
+ {
+ index = 0;
+ }
+ ui->groupBox->setCurrentIndex(index);
+ ui->groupBox->lineEdit()->setPlaceholderText(tr("No group"));
}
NewInstanceDialog::~NewInstanceDialog()
@@ -79,6 +95,11 @@ QString NewInstanceDialog::instName() const
return ui->instNameTextBox->text();
}
+QString NewInstanceDialog::instGroup() const
+{
+ return ui->groupBox->currentText();
+}
+
QString NewInstanceDialog::iconKey() const
{
return InstIconKey;
@@ -118,3 +139,4 @@ void NewInstanceDialog::on_instNameTextBox_textChanged(const QString &arg1)
{
updateDialogState();
}
+