Merge branch 'master' of git://github.com/peterix/MultiMC5

This commit is contained in:
Andrew
2013-03-13 13:25:24 -05:00
24 changed files with 3585 additions and 111 deletions

View File

@ -18,11 +18,11 @@
#include <QObject>
#include <basicsettingsobject.h>
#include <inisettingsobject.h>
#include "libmmc_config.h"
class LIBMULTIMC_EXPORT AppSettings : public BasicSettingsObject
class LIBMULTIMC_EXPORT AppSettings : public INISettingsObject
{
Q_OBJECT
public:

View File

@ -30,20 +30,20 @@ class LIBMULTIMC_EXPORT LoginTask : public Task
{
Q_OBJECT
public:
explicit LoginTask(const UserInfo& uInfo, QObject *parent = 0);
explicit LoginTask(const UserInfo& uInfo, QString inst, QObject *parent = 0);
public slots:
void processNetReply(QNetworkReply* reply);
signals:
void loginComplete(LoginResponse loginResponse);
void loginFailed(const QString& errorMsg);
void loginComplete(QString inst, LoginResponse loginResponse);
void loginFailed(QString inst, const QString& errorMsg);
protected:
void executeTask();
QNetworkReply* netReply;
QString inst;
UserInfo uInfo;
};

View File

@ -18,10 +18,11 @@
#include <setting.h>
#include <QPoint>
#include <QApplication>
//#include <QColor>
AppSettings::AppSettings(QObject *parent) :
BasicSettingsObject(parent)
INISettingsObject(QApplication::applicationDirPath() + "/multimc.cfg",parent)
{
// Updates
registerSetting(new Setting("UseDevBuilds", false));

View File

@ -28,7 +28,7 @@
InstanceList::InstanceList(const QString &instDir, QObject *parent) :
QObject(parent), m_instDir(instDir)
QObject(parent), m_instDir("instances")
{
}

View File

@ -24,8 +24,8 @@
#include <QUrl>
#include <QUrlQuery>
LoginTask::LoginTask(const UserInfo &uInfo, QObject *parent) :
Task(parent), uInfo(uInfo)
LoginTask::LoginTask( const UserInfo& uInfo, QString inst, QObject* parent ) :
Task(parent), uInfo(uInfo), inst(inst)
{
}
@ -78,42 +78,42 @@ void LoginTask::processNetReply(QNetworkReply *reply)
QString sessionID = strings[3];
LoginResponse response(username, sessionID, latestVersion);
emit loginComplete(response);
emit loginComplete(inst, response);
}
else
{
emit loginFailed("Failed to parse Minecraft version string.");
emit loginFailed(inst, "Failed to parse Minecraft version string.");
}
}
else
{
if (responseStr.toLower() == "bad login")
emit loginFailed("Invalid username or password.");
emit loginFailed(inst, "Invalid username or password.");
else if (responseStr.toLower() == "old version")
emit loginFailed("Launcher outdated, please update.");
emit loginFailed(inst, "Launcher outdated, please update.");
else
emit loginFailed("Login failed: " + responseStr);
emit loginFailed(inst, "Login failed: " + responseStr);
}
}
else if (responseCode == 503)
{
emit loginFailed("The login servers are currently unavailable. "
emit loginFailed(inst, "The login servers are currently unavailable. "
"Check http://help.mojang.com/ for more info.");
}
else
{
emit loginFailed(QString("Login failed: Unknown HTTP error %1 occurred.").
emit loginFailed(inst, QString("Login failed: Unknown HTTP error %1 occurred.").
arg(QString::number(responseCode)));
}
break;
}
case QNetworkReply::OperationCanceledError:
emit loginFailed("Login canceled.");
emit loginFailed(inst, "Login canceled.");
break;
default:
emit loginFailed("Login failed: " + reply->errorString());
emit loginFailed(inst, "Login failed: " + reply->errorString());
break;
}