From f67ca674c4157737196d05fb5d1c80006c3cd361 Mon Sep 17 00:00:00 2001 From: Jan Dalheimer Date: Wed, 16 Apr 2014 17:54:07 +0200 Subject: Fix bug --- gui/dialogs/LoginDialog.cpp | 21 +++++++++------------ gui/dialogs/LoginDialog.h | 6 ++---- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/gui/dialogs/LoginDialog.cpp b/gui/dialogs/LoginDialog.cpp index 483a096d..0e5f17b3 100644 --- a/gui/dialogs/LoginDialog.cpp +++ b/gui/dialogs/LoginDialog.cpp @@ -1,7 +1,4 @@ /* Copyright 2014 MultiMC Contributors - * - * Authors: - * Taeyeon Mori * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -45,12 +42,12 @@ void LoginDialog::accept() ui->progressBar->setVisible(true); m_account = MojangAccount::createFromUsername(ui->userTextBox->text()); - auto task = m_account->login(nullptr, ui->passTextBox->text()); - connect(task.get(), &Task::failed, this, &LoginDialog::onTaskFailed); - connect(task.get(), &Task::succeeded, this, &LoginDialog::onTaskSucceeded); - connect(task.get(), &Task::status, this, &LoginDialog::onTaskStatus); - connect(task.get(), &Task::progress, this, &LoginDialog::onTaskProgress); - task->start(); + m_loginTask = m_account->login(nullptr, ui->passTextBox->text()); + connect(m_loginTask.get(), &ProgressProvider::failed, this, &LoginDialog::onTaskFailed); + connect(m_loginTask.get(), &ProgressProvider::succeeded, this, &LoginDialog::onTaskSucceeded); + connect(m_loginTask.get(), &ProgressProvider::status, this, &LoginDialog::onTaskStatus); + connect(m_loginTask.get(), &ProgressProvider::progress, this, &LoginDialog::onTaskProgress); + m_loginTask->start(); } void LoginDialog::setUserInputsEnabled(bool enable) @@ -91,10 +88,10 @@ void LoginDialog::onTaskStatus(const QString &status) ui->label->setText(status); } -void LoginDialog::onTaskProgress(qint64 value, qint64 max) +void LoginDialog::onTaskProgress(qint64 current, qint64 total) { - ui->progressBar->setMaximum(max); - ui->progressBar->setValue(value); + ui->progressBar->setMaximum(total); + ui->progressBar->setValue(current); } // Public interface diff --git a/gui/dialogs/LoginDialog.h b/gui/dialogs/LoginDialog.h index 2fa863dd..560ed5ec 100644 --- a/gui/dialogs/LoginDialog.h +++ b/gui/dialogs/LoginDialog.h @@ -1,7 +1,4 @@ /* Copyright 2014 MultiMC Contributors - * - * Authors: - * Taeyeon Mori * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -49,7 +46,7 @@ slots: void onTaskFailed(const QString &reason); void onTaskSucceeded(); void onTaskStatus(const QString &status); - void onTaskProgress(qint64 value, qint64 max); + void onTaskProgress(qint64 current, qint64 total); void on_userTextBox_textEdited(const QString &newText); void on_passTextBox_textEdited(const QString &newText); @@ -57,4 +54,5 @@ slots: private: Ui::LoginDialog *ui; MojangAccountPtr m_account; + std::shared_ptr m_loginTask; }; -- cgit v1.2.3