diff options
author | Shokara <shokara@snopyta.org> | 2021-01-04 20:05:46 -0500 |
---|---|---|
committer | Thomas Groman <tgroman@nuegia.net> | 2021-01-04 17:14:35 -0800 |
commit | 21da6d89658aef25c1def27dc5fa2c4055e6a6f9 (patch) | |
tree | 1cf5e3774d0820f30eee3265f49c282061591999 /application/dialogs/LoginDialog.cpp | |
parent | b57d6e6353a3048a4052201bf2a56bea00d94b0a (diff) | |
download | MultiMC-21da6d89658aef25c1def27dc5fa2c4055e6a6f9.tar MultiMC-21da6d89658aef25c1def27dc5fa2c4055e6a6f9.tar.gz MultiMC-21da6d89658aef25c1def27dc5fa2c4055e6a6f9.tar.lz MultiMC-21da6d89658aef25c1def27dc5fa2c4055e6a6f9.tar.xz MultiMC-21da6d89658aef25c1def27dc5fa2c4055e6a6f9.zip |
I added the offline patch from my MultiMC repo[1]. The only change I
made compared to my fork was adding an extra sentence in the account
adder dialog that the password needs to be blank for an offline
account.
Signed-off-by: Shokara <shokara@snopyta.org>
Diffstat (limited to 'application/dialogs/LoginDialog.cpp')
-rw-r--r-- | application/dialogs/LoginDialog.cpp | 29 |
1 files changed, 18 insertions, 11 deletions
diff --git a/application/dialogs/LoginDialog.cpp b/application/dialogs/LoginDialog.cpp index 484cb8e2..a74b898d 100644 --- a/application/dialogs/LoginDialog.cpp +++ b/application/dialogs/LoginDialog.cpp @@ -41,15 +41,22 @@ void LoginDialog::accept() setUserInputsEnabled(false); ui->progressBar->setVisible(true); - // Setup the login task and start it - m_account = MojangAccount::createFromUsername(ui->userTextBox->text()); - m_loginTask = m_account->login(nullptr, ui->passTextBox->text()); - connect(m_loginTask.get(), &Task::failed, this, &LoginDialog::onTaskFailed); - connect(m_loginTask.get(), &Task::succeeded, this, - &LoginDialog::onTaskSucceeded); - connect(m_loginTask.get(), &Task::status, this, &LoginDialog::onTaskStatus); - connect(m_loginTask.get(), &Task::progress, this, &LoginDialog::onTaskProgress); - m_loginTask->start(); + if(!ui->passTextBox->text().isEmpty()){ + // Online mode + // Setup the login task and start it + m_account = MojangAccount::createFromUsername(ui->userTextBox->text()); + m_loginTask = m_account->login(nullptr, ui->passTextBox->text()); + connect(m_loginTask.get(), &Task::failed, this, &LoginDialog::onTaskFailed); + connect(m_loginTask.get(), &Task::succeeded, this, + &LoginDialog::onTaskSucceeded); + connect(m_loginTask.get(), &Task::status, this, &LoginDialog::onTaskStatus); + connect(m_loginTask.get(), &Task::progress, this, &LoginDialog::onTaskProgress); + m_loginTask->start(); + }else{ + // Offline mode + m_account = MojangAccount::createFromUsernameOffline(ui->userTextBox->text()); + QDialog::accept(); + } } void LoginDialog::setUserInputsEnabled(bool enable) @@ -63,12 +70,12 @@ void LoginDialog::setUserInputsEnabled(bool enable) void LoginDialog::on_userTextBox_textEdited(const QString &newText) { ui->buttonBox->button(QDialogButtonBox::Ok) - ->setEnabled(!newText.isEmpty() && !ui->passTextBox->text().isEmpty()); + ->setEnabled(!newText.isEmpty()); } void LoginDialog::on_passTextBox_textEdited(const QString &newText) { ui->buttonBox->button(QDialogButtonBox::Ok) - ->setEnabled(!newText.isEmpty() && !ui->userTextBox->text().isEmpty()); + ->setEnabled(!ui->userTextBox->text().isEmpty()); } void LoginDialog::onTaskFailed(const QString &reason) |