aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/dialogs/ExportMrPackDialog.cpp
diff options
context:
space:
mode:
authorTheKodeToad <TheKodeToad@proton.me>2023-03-03 11:14:57 +0000
committerTheKodeToad <TheKodeToad@proton.me>2023-03-03 11:24:36 +0000
commitadcdf28d64abbe16304c2d377488af1898f9b2af (patch)
treeee2ee00c592210deba9418a463814531d0579ace /launcher/ui/dialogs/ExportMrPackDialog.cpp
parentf28a7b9d083a9181c04c7100f50152c116e72cb6 (diff)
downloadPrismLauncher-adcdf28d64abbe16304c2d377488af1898f9b2af.tar.gz
PrismLauncher-adcdf28d64abbe16304c2d377488af1898f9b2af.tar.bz2
PrismLauncher-adcdf28d64abbe16304c2d377488af1898f9b2af.zip
Move task to another thread
I don't know whether this is the prefered method. Signed-off-by: TheKodeToad <TheKodeToad@proton.me>
Diffstat (limited to 'launcher/ui/dialogs/ExportMrPackDialog.cpp')
-rw-r--r--launcher/ui/dialogs/ExportMrPackDialog.cpp32
1 files changed, 14 insertions, 18 deletions
diff --git a/launcher/ui/dialogs/ExportMrPackDialog.cpp b/launcher/ui/dialogs/ExportMrPackDialog.cpp
index 4c2e5593..81663c9a 100644
--- a/launcher/ui/dialogs/ExportMrPackDialog.cpp
+++ b/launcher/ui/dialogs/ExportMrPackDialog.cpp
@@ -56,26 +56,22 @@ ExportMrPackDialog::~ExportMrPackDialog()
void ExportMrPackDialog::done(int result)
{
- if (result == Accepted)
- runExport();
+ if (result == Accepted) {
+ const QString filename = FS::RemoveInvalidFilenameChars(ui->name->text());
+ const QString output =
+ QFileDialog::getSaveFileName(this, tr("Export %1").arg(ui->name->text()), FS::PathCombine(QDir::homePath(), filename + ".mrpack"),
+ "Modrinth modpack (*.mrpack *.zip)", nullptr);
- QDialog::done(result);
-}
+ if (output.isEmpty())
+ return;
-void ExportMrPackDialog::runExport()
-{
- const QString filename = FS::RemoveInvalidFilenameChars(ui->name->text());
- const QString output =
- QFileDialog::getSaveFileName(this, tr("Export %1").arg(ui->name->text()), FS::PathCombine(QDir::homePath(), filename + ".mrpack"),
- "Modrinth modpack (*.mrpack *.zip)", nullptr);
+ ModrinthPackExportTask task(ui->name->text(), ui->version->text(), ui->summary->text(), instance, output,
+ [this](const QString& path) { return proxy->blockedPaths().covers(path); });
- if (output.isEmpty())
- return;
+ ProgressDialog progress(this);
+ progress.setSkipButton(true, tr("Abort"));
+ progress.execWithTask(&task);
+ }
- ModrinthPackExportTask task(ui->name->text(), ui->version->text(), ui->summary->text(), instance, output,
- [this](const QString& path) { return proxy->blockedPaths().covers(path); });
-
- ProgressDialog progress(this);
- progress.setSkipButton(true, tr("Abort"));
- progress.execWithTask(&task);
+ QDialog::done(result);
} \ No newline at end of file