Implement account list and account list dialog
This commit is contained in:
		| @@ -26,7 +26,7 @@ | ||||
|  | ||||
| #include "logger/QsLog.h" | ||||
|  | ||||
| AuthenticateTask::AuthenticateTask(MojangAccount* account, const QString& password, QObject* parent) : | ||||
| AuthenticateTask::AuthenticateTask(MojangAccountPtr account, const QString& password, QObject* parent) : | ||||
| 	YggdrasilTask(account, parent), m_password(password) | ||||
| { | ||||
| } | ||||
|   | ||||
| @@ -29,7 +29,7 @@ class AuthenticateTask : public YggdrasilTask | ||||
| { | ||||
| Q_OBJECT | ||||
| public: | ||||
| 	AuthenticateTask(MojangAccount* account, const QString& password, QObject* parent=0); | ||||
| 	AuthenticateTask(MojangAccountPtr account, const QString& password, QObject* parent=0); | ||||
|  | ||||
| protected: | ||||
| 	virtual QJsonObject getRequestContent() const; | ||||
|   | ||||
| @@ -41,6 +41,16 @@ MojangAccount::MojangAccount(const QString& username, const QString& clientToken | ||||
| 	m_currentProfile = -1; | ||||
| } | ||||
|  | ||||
| MojangAccount::MojangAccount(const MojangAccount& other, QObject* parent) | ||||
| { | ||||
| 	m_username = other.username(); | ||||
| 	m_clientToken = other.clientToken(); | ||||
| 	m_accessToken = other.accessToken(); | ||||
|  | ||||
| 	m_profiles = other.m_profiles; | ||||
| 	m_currentProfile = other.m_currentProfile; | ||||
| } | ||||
|  | ||||
|  | ||||
| QString MojangAccount::username() const | ||||
| { | ||||
|   | ||||
| @@ -19,6 +19,7 @@ | ||||
| #include <QString> | ||||
| #include <QList> | ||||
|  | ||||
| #include <memory> | ||||
|  | ||||
| /** | ||||
|  * Class that represents a profile within someone's Mojang account. | ||||
| @@ -65,6 +66,11 @@ public: | ||||
| 	 */ | ||||
| 	explicit MojangAccount(const QString& username, const QString& clientToken, const QString& accessToken, QObject* parent = 0); | ||||
|  | ||||
| 	/** | ||||
| 	 * Constructs a new MojangAccount matching the given account. | ||||
| 	 */ | ||||
| 	MojangAccount(const MojangAccount& other, QObject* parent); | ||||
|  | ||||
|  | ||||
| 	/** | ||||
| 	 * This MojangAccount's username. May be an email address if the account is migrated. | ||||
| @@ -124,3 +130,6 @@ protected: | ||||
| 	ProfileList m_profiles; // List of available profiles. | ||||
| }; | ||||
|  | ||||
| typedef std::shared_ptr<MojangAccount> MojangAccountPtr; | ||||
| Q_DECLARE_METATYPE(MojangAccountPtr) | ||||
|  | ||||
|   | ||||
| @@ -25,7 +25,7 @@ | ||||
| #include <MultiMC.h> | ||||
| #include <logic/auth/MojangAccount.h> | ||||
|  | ||||
| YggdrasilTask::YggdrasilTask(MojangAccount* account, QObject* parent) : Task(parent) | ||||
| YggdrasilTask::YggdrasilTask(MojangAccountPtr account, QObject* parent) : Task(parent) | ||||
| { | ||||
| 	m_error = nullptr; | ||||
| 	m_account = account; | ||||
| @@ -175,7 +175,7 @@ YggdrasilTask::Error *YggdrasilTask::getError() const | ||||
| 	return this->m_error; | ||||
| } | ||||
|  | ||||
| MojangAccount* YggdrasilTask::getMojangAccount() const | ||||
| MojangAccountPtr YggdrasilTask::getMojangAccount() const | ||||
| { | ||||
| 	return this->m_account; | ||||
| } | ||||
|   | ||||
| @@ -20,8 +20,7 @@ | ||||
| #include <QString> | ||||
| #include <QJsonObject> | ||||
|  | ||||
|  | ||||
| class MojangAccount; | ||||
| #include "logic/auth/MojangAccount.h" | ||||
|  | ||||
| class QNetworkReply; | ||||
|  | ||||
| @@ -33,7 +32,7 @@ class YggdrasilTask : public Task | ||||
| { | ||||
| Q_OBJECT | ||||
| public: | ||||
| 	explicit YggdrasilTask(MojangAccount* account, QObject* parent=0); | ||||
| 	explicit YggdrasilTask(MojangAccountPtr account, QObject* parent=0); | ||||
| 	~YggdrasilTask(); | ||||
|  | ||||
| 	/** | ||||
| @@ -61,7 +60,7 @@ public: | ||||
| 	/** | ||||
| 	 * Gets the Mojang account that this task is operating on. | ||||
| 	 */ | ||||
| 	virtual MojangAccount* getMojangAccount() const; | ||||
| 	virtual MojangAccountPtr getMojangAccount() const; | ||||
|  | ||||
| 	/** | ||||
| 	 * Returns a pointer to a YggdrasilTask::Error object if an error has occurred. | ||||
| @@ -117,7 +116,7 @@ protected: | ||||
| 	 */ | ||||
| 	virtual QString getStateMessage(const State state) const; | ||||
|  | ||||
| 	MojangAccount* m_account; | ||||
| 	MojangAccountPtr m_account; | ||||
|  | ||||
| 	QNetworkReply* m_netReply; | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user