aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/dialogs
diff options
context:
space:
mode:
Diffstat (limited to 'launcher/ui/dialogs')
-rw-r--r--launcher/ui/dialogs/NewInstanceDialog.cpp29
-rw-r--r--launcher/ui/dialogs/NewInstanceDialog.h6
2 files changed, 29 insertions, 6 deletions
diff --git a/launcher/ui/dialogs/NewInstanceDialog.cpp b/launcher/ui/dialogs/NewInstanceDialog.cpp
index 675f8b15..04fecbde 100644
--- a/launcher/ui/dialogs/NewInstanceDialog.cpp
+++ b/launcher/ui/dialogs/NewInstanceDialog.cpp
@@ -177,13 +177,30 @@ NewInstanceDialog::~NewInstanceDialog()
delete ui;
}
-void NewInstanceDialog::setSuggestedPack(const QString& name, InstanceTask* task)
+void NewInstanceDialog::setSuggestedPack(QString name, InstanceTask* task)
{
creationTask.reset(task);
+
ui->instNameTextBox->setPlaceholderText(name);
+ importVersion.clear();
- if(!task)
- {
+ if (!task) {
+ ui->iconButton->setIcon(APPLICATION->icons()->getIcon("default"));
+ importIcon = false;
+ }
+
+ auto allowOK = task && !instName().isEmpty();
+ m_buttons->button(QDialogButtonBox::Ok)->setEnabled(allowOK);
+}
+
+void NewInstanceDialog::setSuggestedPack(QString name, QString version, InstanceTask* task)
+{
+ creationTask.reset(task);
+
+ ui->instNameTextBox->setPlaceholderText(name);
+ importVersion = version;
+
+ if (!task) {
ui->iconButton->setIcon(APPLICATION->icons()->getIcon("default"));
importIcon = false;
}
@@ -214,7 +231,11 @@ InstanceTask * NewInstanceDialog::extractTask()
{
InstanceTask * extracted = creationTask.get();
creationTask.release();
- extracted->setName(instName());
+
+ InstanceName inst_name(ui->instNameTextBox->placeholderText().trimmed(), importVersion);
+ inst_name.setName(ui->instNameTextBox->text().trimmed());
+ extracted->setName(inst_name);
+
extracted->setGroup(instGroup());
extracted->setIcon(iconKey());
return extracted;
diff --git a/launcher/ui/dialogs/NewInstanceDialog.h b/launcher/ui/dialogs/NewInstanceDialog.h
index a3c8cd1c..185ab9e6 100644
--- a/launcher/ui/dialogs/NewInstanceDialog.h
+++ b/launcher/ui/dialogs/NewInstanceDialog.h
@@ -37,7 +37,6 @@
#include <QDialog>
-#include "BaseVersion.h"
#include "ui/pages/BasePageProvider.h"
#include "InstanceTask.h"
@@ -61,7 +60,8 @@ public:
void updateDialogState();
- void setSuggestedPack(const QString & name = QString(), InstanceTask * task = nullptr);
+ void setSuggestedPack(QString name = QString(), InstanceTask * task = nullptr);
+ void setSuggestedPack(QString name, QString version, InstanceTask * task = nullptr);
void setSuggestedIconFromFile(const QString &path, const QString &name);
void setSuggestedIcon(const QString &key);
@@ -95,5 +95,7 @@ private:
QString importIconPath;
QString importIconName;
+ QString importVersion;
+
void importIconNow();
};