aboutsummaryrefslogtreecommitdiff
path: root/launcher/ui/dialogs/MSALoginDialog.cpp
diff options
context:
space:
mode:
authortimoreo22 <timo.oreo34@gmail.com>2022-01-28 18:12:35 +0100
committerGitHub <noreply@github.com>2022-01-28 18:12:35 +0100
commit8b790a6dd94a7b779b72595f1e1567eda9877e86 (patch)
tree4ebc2ca7aebfb31f58ecaaeca0d7b15122b53623 /launcher/ui/dialogs/MSALoginDialog.cpp
parent1d0e6bf453bfee0d9201fabf1e979ab0aca90418 (diff)
parentf36930d81227f70046f7428b0ba41229b00687b4 (diff)
downloadPrismLauncher-8b790a6dd94a7b779b72595f1e1567eda9877e86.tar.gz
PrismLauncher-8b790a6dd94a7b779b72595f1e1567eda9877e86.tar.bz2
PrismLauncher-8b790a6dd94a7b779b72595f1e1567eda9877e86.zip
Merge branch 'PolyMC:develop' into feature/download_mods
Diffstat (limited to 'launcher/ui/dialogs/MSALoginDialog.cpp')
-rw-r--r--launcher/ui/dialogs/MSALoginDialog.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/launcher/ui/dialogs/MSALoginDialog.cpp b/launcher/ui/dialogs/MSALoginDialog.cpp
index f46aa3b9..174ad46c 100644
--- a/launcher/ui/dialogs/MSALoginDialog.cpp
+++ b/launcher/ui/dialogs/MSALoginDialog.cpp
@@ -16,15 +16,19 @@
#include "MSALoginDialog.h"
#include "ui_MSALoginDialog.h"
+#include "DesktopServices.h"
#include "minecraft/auth/AccountTask.h"
#include <QtWidgets/QPushButton>
#include <QUrl>
+#include <QApplication>
+#include <QClipboard>
MSALoginDialog::MSALoginDialog(QWidget *parent) : QDialog(parent), ui(new Ui::MSALoginDialog)
{
ui->setupUi(this);
ui->progressBar->setVisible(false);
+ ui->actionButton->setVisible(false);
// ui->buttonBox->button(QDialogButtonBox::Cancel)->setEnabled(false);
connect(ui->buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
@@ -81,10 +85,17 @@ void MSALoginDialog::showVerificationUriAndCode(const QUrl& uri, const QString&
QString urlString = uri.toString();
QString linkString = QString("<a href=\"%1\">%2</a>").arg(urlString, urlString);
ui->label->setText(tr("<p>Please open up %1 in a browser and put in the code <b>%2</b> to proceed with login.</p>").arg(linkString, code));
+ ui->actionButton->setVisible(true);
+ connect(ui->actionButton, &QPushButton::clicked, [=]() {
+ DesktopServices::openUrl(uri);
+ QClipboard* cb = QApplication::clipboard();
+ cb->setText(code);
+ });
}
void MSALoginDialog::hideVerificationUriAndCode() {
m_externalLoginTimer.stop();
+ ui->actionButton->setVisible(false);
}
void MSALoginDialog::setUserInputsEnabled(bool enable)
@@ -110,6 +121,7 @@ void MSALoginDialog::onTaskFailed(const QString &reason)
// Re-enable user-interaction
setUserInputsEnabled(true);
ui->progressBar->setVisible(false);
+ ui->actionButton->setVisible(false);
}
void MSALoginDialog::onTaskSucceeded()