summaryrefslogtreecommitdiffstats
path: root/application/dialogs
diff options
context:
space:
mode:
authorShokara <shokara@snopyta.org>2021-01-04 20:05:46 -0500
committerThomas Groman <tgroman@nuegia.net>2021-01-04 17:14:35 -0800
commit21da6d89658aef25c1def27dc5fa2c4055e6a6f9 (patch)
tree1cf5e3774d0820f30eee3265f49c282061591999 /application/dialogs
parentb57d6e6353a3048a4052201bf2a56bea00d94b0a (diff)
downloadMultiMC-tom.tar
MultiMC-tom.tar.gz
MultiMC-tom.tar.lz
MultiMC-tom.tar.xz
MultiMC-tom.zip
add offline account supportHEADtom
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')
-rw-r--r--application/dialogs/LoginDialog.cpp29
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)