diff options
author | timoreo22 <timo.oreo34@gmail.com> | 2022-01-28 18:12:35 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-28 18:12:35 +0100 |
commit | 8b790a6dd94a7b779b72595f1e1567eda9877e86 (patch) | |
tree | 4ebc2ca7aebfb31f58ecaaeca0d7b15122b53623 /launcher/ui/dialogs/MSALoginDialog.cpp | |
parent | 1d0e6bf453bfee0d9201fabf1e979ab0aca90418 (diff) | |
parent | f36930d81227f70046f7428b0ba41229b00687b4 (diff) | |
download | PrismLauncher-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.cpp | 12 |
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() |