+
+
+ 0
+ 0
+
+
Optional Info
diff --git a/launcher/ui/dialogs/MSALoginDialog.cpp b/launcher/ui/dialogs/MSALoginDialog.cpp
index 74fff9fd3..7df423412 100644
--- a/launcher/ui/dialogs/MSALoginDialog.cpp
+++ b/launcher/ui/dialogs/MSALoginDialog.cpp
@@ -105,8 +105,16 @@ void MSALoginDialog::showVerificationUriAndCode(const QUrl& uri, const QString&
QString urlString = uri.toString();
QString linkString = QString("%2").arg(urlString, urlString);
- ui->label->setText(
- tr("Please open up %1 in a browser and put in the code %2 to proceed with login.
").arg(linkString, code));
+ if (urlString == "https://www.microsoft.com/link" && !code.isEmpty()) {
+ urlString += QString("?otc=%1").arg(code);
+ DesktopServices::openUrl(urlString);
+ ui->label->setText(tr("Please login in the opened browser. If no browser was opened, please open up %1 in "
+ "a browser and put in the code %2 to proceed with login.
")
+ .arg(linkString, code));
+ } else {
+ ui->label->setText(
+ tr("Please open up %1 in a browser and put in the code %2 to proceed with login.
").arg(linkString, code));
+ }
ui->actionButton->setVisible(true);
connect(ui->actionButton, &QPushButton::clicked, [=]() {
DesktopServices::openUrl(uri);
diff --git a/launcher/ui/dialogs/ModUpdateDialog.cpp b/launcher/ui/dialogs/ModUpdateDialog.cpp
index 1a70ea59a..cbaaf88b9 100644
--- a/launcher/ui/dialogs/ModUpdateDialog.cpp
+++ b/launcher/ui/dialogs/ModUpdateDialog.cpp
@@ -39,7 +39,8 @@ static std::optional mcLoaders(BaseInstance* inst)
ModUpdateDialog::ModUpdateDialog(QWidget* parent,
BaseInstance* instance,
const std::shared_ptr mods,
- QList& search_for)
+ QList& search_for,
+ bool includeDeps)
: ReviewMessageBox(parent, tr("Confirm mods to update"), "")
, m_parent(parent)
, m_mod_model(mods)
@@ -47,6 +48,7 @@ ModUpdateDialog::ModUpdateDialog(QWidget* parent,
, m_second_try_metadata(
new ConcurrentTask(nullptr, "Second Metadata Search", APPLICATION->settings()->get("NumberOfConcurrentTasks").toInt()))
, m_instance(instance)
+ , m_include_deps(includeDeps)
{
ReviewMessageBox::setGeometry(0, 0, 800, 600);
@@ -186,7 +188,7 @@ void ModUpdateDialog::checkCandidates()
}
}
- { // dependencies
+ if (m_include_deps && !APPLICATION->settings()->get("ModDependenciesDisabled").toBool()) { // dependencies
auto depTask = makeShared(this, m_instance, m_mod_model.get(), selectedVers);
connect(depTask.get(), &Task::failed, this,
diff --git a/launcher/ui/dialogs/ModUpdateDialog.h b/launcher/ui/dialogs/ModUpdateDialog.h
index b79aa4943..98f6780bf 100644
--- a/launcher/ui/dialogs/ModUpdateDialog.h
+++ b/launcher/ui/dialogs/ModUpdateDialog.h
@@ -19,7 +19,8 @@ class ModUpdateDialog final : public ReviewMessageBox {
explicit ModUpdateDialog(QWidget* parent,
BaseInstance* instance,
const std::shared_ptr mod_model,
- QList& search_for);
+ QList& search_for,
+ bool includeDeps);
void checkCandidates();
@@ -61,4 +62,5 @@ class ModUpdateDialog final : public ReviewMessageBox {
bool m_no_updates = false;
bool m_aborted = false;
+ bool m_include_deps = false;
};
diff --git a/launcher/ui/dialogs/NewInstanceDialog.cpp b/launcher/ui/dialogs/NewInstanceDialog.cpp
index 4c8708bc7..6f3f7f7ec 100644
--- a/launcher/ui/dialogs/NewInstanceDialog.cpp
+++ b/launcher/ui/dialogs/NewInstanceDialog.cpp
@@ -2,6 +2,7 @@
/*
* Prism Launcher - Minecraft Launcher
* Copyright (C) 2022 Sefa Eyeoglu
+ * Copyright (C) 2023 TheKodeToad
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -75,23 +76,14 @@ NewInstanceDialog::NewInstanceDialog(const QString& initialGroup,
InstIconKey = "default";
ui->iconButton->setIcon(APPLICATION->icons()->getIcon(InstIconKey));
-#if QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)
- auto groupList = APPLICATION->instances()->getGroups();
- auto groups = QSet(groupList.begin(), groupList.end());
- groupList = groups.values();
-#else
- auto groups = APPLICATION->instances()->getGroups().toSet();
- auto groupList = QStringList(groups.toList());
-#endif
- groupList.sort(Qt::CaseInsensitive);
- groupList.removeOne("");
- groupList.push_front(initialGroup);
- groupList.push_front("");
- ui->groupBox->addItems(groupList);
- int index = groupList.indexOf(initialGroup);
+ QStringList groups = APPLICATION->instances()->getGroups();
+ groups.prepend("");
+ int index = groups.indexOf(initialGroup);
if (index == -1) {
- index = 0;
+ index = 1;
+ groups.insert(index, initialGroup);
}
+ ui->groupBox->addItems(groups);
ui->groupBox->setCurrentIndex(index);
ui->groupBox->lineEdit()->setPlaceholderText(tr("No group"));
diff --git a/launcher/ui/dialogs/ProgressDialog.ui b/launcher/ui/dialogs/ProgressDialog.ui
index a4d08124c..156ff247f 100644
--- a/launcher/ui/dialogs/ProgressDialog.ui
+++ b/launcher/ui/dialogs/ProgressDialog.ui
@@ -48,6 +48,9 @@
Global Task Status...
+
+ true
+