diff options
author | TheKodeToad <TheKodeToad@proton.me> | 2023-06-05 17:52:48 +0100 |
---|---|---|
committer | TheKodeToad <TheKodeToad@proton.me> | 2023-06-05 17:54:24 +0100 |
commit | 37b4f606c8e0853c831f792e7238587c66222176 (patch) | |
tree | 41fb32c874bacef50be66e4b5a5b5ff8d2520ea8 /launcher/ui/dialogs/ExportMrPackDialog.cpp | |
parent | 3dccc38f42bf64c922e96b9a224d87ca1cee98c6 (diff) | |
download | PrismLauncher-37b4f606c8e0853c831f792e7238587c66222176.tar.gz PrismLauncher-37b4f606c8e0853c831f792e7238587c66222176.tar.bz2 PrismLauncher-37b4f606c8e0853c831f792e7238587c66222176.zip |
Validate input lengths on mrpack export
Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
Diffstat (limited to 'launcher/ui/dialogs/ExportMrPackDialog.cpp')
-rw-r--r-- | launcher/ui/dialogs/ExportMrPackDialog.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/launcher/ui/dialogs/ExportMrPackDialog.cpp b/launcher/ui/dialogs/ExportMrPackDialog.cpp index 06e4693e..239873f6 100644 --- a/launcher/ui/dialogs/ExportMrPackDialog.cpp +++ b/launcher/ui/dialogs/ExportMrPackDialog.cpp @@ -26,6 +26,7 @@ #include <QFileSystemModel> #include <QJsonDocument> #include <QMessageBox> +#include <QPushButton> #include "FastFileIconProvider.h" #include "FileSystem.h" #include "MMCZip.h" @@ -38,6 +39,13 @@ ExportMrPackDialog::ExportMrPackDialog(InstancePtr instance, QWidget* parent) ui->name->setText(instance->name()); ui->summary->setText(instance->notes().split(QRegularExpression("\\r?\\n"))[0]); + // ensure a valid pack is generated + // the name and version fields mustn't be empty + connect(ui->name, &QLineEdit::textEdited, this, &ExportMrPackDialog::validate); + connect(ui->version, &QLineEdit::textEdited, this, &ExportMrPackDialog::validate); + // the instance name can technically be empty + validate(); + QFileSystemModel* model = new QFileSystemModel(this); model->setIconProvider(&icons); @@ -107,3 +115,9 @@ void ExportMrPackDialog::done(int result) QDialog::done(result); } + +void ExportMrPackDialog::validate() +{ + const bool invalid = ui->name->text().isEmpty() || ui->version->text().isEmpty(); + ui->buttonBox->button(QDialogButtonBox::Ok)->setDisabled(invalid); +} |