diff options
author | Andrew <forkk@forkk.net> | 2013-11-11 11:37:15 -0600 |
---|---|---|
committer | Andrew <forkk@forkk.net> | 2013-11-11 11:37:15 -0600 |
commit | 950088bee5d66b3656ba9506d7e4f9b61def5f49 (patch) | |
tree | 895e74767b71f5907d006ce01f47ea7d1e0f97ff | |
parent | 5083a6a8090fa03d3c1800c1f9588079ca11e9f9 (diff) | |
parent | e611aef0e77f727d0c77f6dea0d373e7a12b241c (diff) | |
download | MultiMC-950088bee5d66b3656ba9506d7e4f9b61def5f49.tar MultiMC-950088bee5d66b3656ba9506d7e4f9b61def5f49.tar.gz MultiMC-950088bee5d66b3656ba9506d7e4f9b61def5f49.tar.lz MultiMC-950088bee5d66b3656ba9506d7e4f9b61def5f49.tar.xz MultiMC-950088bee5d66b3656ba9506d7e4f9b61def5f49.zip |
Merge branch 'develop' of github.com:MultiMC/MultiMC5 into develop
-rw-r--r-- | .travis.yml | 16 | ||||
-rw-r--r-- | gui/ConsoleWindow.ui | 22 | ||||
-rw-r--r-- | gui/MainWindow.cpp | 8 | ||||
-rw-r--r-- | gui/dialogs/InstanceSettings.cpp | 11 | ||||
-rw-r--r-- | gui/dialogs/InstanceSettings.ui | 13 | ||||
-rw-r--r-- | gui/dialogs/SettingsDialog.ui | 16 | ||||
-rw-r--r-- | logic/LegacyUpdate.cpp | 7 | ||||
-rw-r--r-- | logic/Mod.cpp | 36 | ||||
-rw-r--r-- | logic/lists/InstanceList.cpp | 22 | ||||
-rw-r--r-- | logic/lists/LwjglVersionList.cpp | 11 |
10 files changed, 85 insertions, 77 deletions
diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index c94982f2..00000000 --- a/.travis.yml +++ /dev/null @@ -1,16 +0,0 @@ -language: cpp -compiler: - - gcc - -before_script: - - sudo apt-add-repository -y ppa:czchen/travis-ci - - sudo add-apt-repository -y ppa:ubuntu-sdk-team/ppa - - sudo add-apt-repository -y ppa:canonical-qt5-edgers/qt5-proper - - sudo apt-get update -yqq - - sudo apt-get install -yqq cmake - - sudo apt-get install -yqq ubuntu-sdk - -script: "cmake . && make -j4" - -notifications: - irc: "irc.esper.net#MultiMC" diff --git a/gui/ConsoleWindow.ui b/gui/ConsoleWindow.ui index 8dc80015..472c7c8d 100644 --- a/gui/ConsoleWindow.ui +++ b/gui/ConsoleWindow.ui @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>600</width> - <height>400</height> + <width>610</width> + <height>391</height> </rect> </property> <property name="windowTitle"> @@ -23,6 +23,9 @@ <property name="rightMargin"> <number>0</number> </property> + <property name="bottomMargin"> + <number>6</number> + </property> <item> <widget class="QPlainTextEdit" name="text"> <property name="font"> @@ -49,6 +52,12 @@ </item> <item> <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="leftMargin"> + <number>6</number> + </property> + <property name="rightMargin"> + <number>6</number> + </property> <item> <spacer name="horizontalSpacer"> <property name="orientation"> @@ -65,14 +74,14 @@ <item> <widget class="QPushButton" name="btnKillMinecraft"> <property name="text"> - <string>Kill Minecraft</string> + <string>&Kill Minecraft</string> </property> </widget> </item> <item> <widget class="QPushButton" name="closeButton"> <property name="text"> - <string>Close</string> + <string>&Close</string> </property> </widget> </item> @@ -80,6 +89,11 @@ </item> </layout> </widget> + <tabstops> + <tabstop>text</tabstop> + <tabstop>closeButton</tabstop> + <tabstop>btnKillMinecraft</tabstop> + </tabstops> <resources/> <connections/> </ui> diff --git a/gui/MainWindow.cpp b/gui/MainWindow.cpp index 39e6dff2..62ae195b 100644 --- a/gui/MainWindow.cpp +++ b/gui/MainWindow.cpp @@ -535,9 +535,9 @@ void MainWindow::instanceActivated(QModelIndex index) BaseInstance *inst = (BaseInstance *)index.data(InstanceList::InstancePointerRole).value<void *>(); - NagUtils::checkJVMArgs(MMC->settings()->get("JvmArgs").toString(), this); + NagUtils::checkJVMArgs(inst->settings().get("JvmArgs").toString(), this); - bool autoLogin = MMC->settings()->get("AutoLogin").toBool(); + bool autoLogin = inst->settings().get("AutoLogin").toBool(); if (autoLogin) doAutoLogin(); else @@ -548,7 +548,7 @@ void MainWindow::on_actionLaunchInstance_triggered() { if (m_selectedInstance) { - NagUtils::checkJVMArgs(MMC->settings()->get("JvmArgs").toString(), this); + NagUtils::checkJVMArgs(m_selectedInstance->settings().get("JvmArgs").toString(), this); doLogin(); } } @@ -826,7 +826,7 @@ void MainWindow::on_actionInstanceSettings_triggered() return; InstanceSettings settings(&m_selectedInstance->settings(), this); - settings.setWindowTitle(QString("Instance settings")); + settings.setWindowTitle(tr("Instance settings")); settings.exec(); } diff --git a/gui/dialogs/InstanceSettings.cpp b/gui/dialogs/InstanceSettings.cpp index 57dd6a81..add135b4 100644 --- a/gui/dialogs/InstanceSettings.cpp +++ b/gui/dialogs/InstanceSettings.cpp @@ -20,6 +20,7 @@ #include "InstanceSettings.h" #include "ui_InstanceSettings.h" #include "gui/Platform.h" +#include "logic/NagUtils.h" InstanceSettings::InstanceSettings(SettingsObject *obj, QWidget *parent) : m_obj(obj), QDialog(parent), ui(new Ui::InstanceSettings) @@ -89,11 +90,11 @@ void InstanceSettings::applySettings() } // Auto Login - bool login = ui->accountSettingsGroupBox->isChecked(); + bool login = ui->accountSettingsBox->isChecked(); m_obj->set("OverrideLogin", login); if (login) { - m_obj->set("AutoLogin", ui->autoLoginChecBox->isChecked()); + m_obj->set("AutoLogin", ui->autoLoginCheckBox->isChecked()); } else { @@ -123,6 +124,8 @@ void InstanceSettings::applySettings() { m_obj->set("JavaPath", ui->javaPathTextBox->text()); m_obj->set("JvmArgs", ui->jvmArgsTextBox->text()); + + NagUtils::checkJVMArgs(m_obj->get("JvmArgs").toString(), this->parentWidget()); } else { @@ -159,8 +162,8 @@ void InstanceSettings::loadSettings() ui->windowHeightSpinBox->setValue(m_obj->get("MinecraftWinHeight").toInt()); // Auto Login - ui->accountSettingsGroupBox->setChecked(m_obj->get("OverrideLogin").toBool()); - ui->autoLoginChecBox->setChecked(m_obj->get("AutoLogin").toBool()); + ui->accountSettingsBox->setChecked(m_obj->get("OverrideLogin").toBool()); + ui->autoLoginCheckBox->setChecked(m_obj->get("AutoLogin").toBool()); // Memory ui->memoryGroupBox->setChecked(m_obj->get("OverrideMemory").toBool()); diff --git a/gui/dialogs/InstanceSettings.ui b/gui/dialogs/InstanceSettings.ui index b536e9ff..27004ed8 100644 --- a/gui/dialogs/InstanceSettings.ui +++ b/gui/dialogs/InstanceSettings.ui @@ -132,7 +132,7 @@ </widget> </item> <item> - <widget class="QGroupBox" name="accountSettingsGroupBox"> + <widget class="QGroupBox" name="accountSettingsBox"> <property name="enabled"> <bool>true</bool> </property> @@ -147,16 +147,10 @@ </property> <layout class="QVBoxLayout" name="verticalLayout_6"> <item> - <widget class="QCheckBox" name="autoLoginChecBox"> - <property name="enabled"> - <bool>false</bool> - </property> + <widget class="QCheckBox" name="autoLoginCheckBox"> <property name="text"> <string>Login automatically when an instance icon is double clicked?</string> </property> - <property name="checked"> - <bool>false</bool> - </property> </widget> </item> </layout> @@ -403,8 +397,7 @@ <tabstop>consoleSettingsBox</tabstop> <tabstop>showConsoleCheck</tabstop> <tabstop>autoCloseConsoleCheck</tabstop> - <tabstop>accountSettingsGroupBox</tabstop> - <tabstop>autoLoginChecBox</tabstop> + <tabstop>accountSettingsBox</tabstop> <tabstop>memoryGroupBox</tabstop> <tabstop>minMemSpinBox</tabstop> <tabstop>maxMemSpinBox</tabstop> diff --git a/gui/dialogs/SettingsDialog.ui b/gui/dialogs/SettingsDialog.ui index 6da9420e..53a41d6e 100644 --- a/gui/dialogs/SettingsDialog.ui +++ b/gui/dialogs/SettingsDialog.ui @@ -262,10 +262,19 @@ </widget> </item> <item> - <widget class="QCheckBox" name="autoLoginCheckBox"> - <property name="text"> - <string>Login automatically when an instance icon is double clicked?</string> + <widget class="QGroupBox" name="accountSettingsBox"> + <property name="title"> + <string>Account Settings</string> </property> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="QCheckBox" name="autoLoginCheckBox"> + <property name="text"> + <string>Login automatically when an instance icon is double clicked?</string> + </property> + </widget> + </item> + </layout> </widget> </item> <item> @@ -515,7 +524,6 @@ <tabstop>windowHeightSpinBox</tabstop> <tabstop>showConsoleCheck</tabstop> <tabstop>autoCloseConsoleCheck</tabstop> - <tabstop>autoLoginCheckBox</tabstop> <tabstop>minMemSpinBox</tabstop> <tabstop>maxMemSpinBox</tabstop> <tabstop>permGenSpinBox</tabstop> diff --git a/logic/LegacyUpdate.cpp b/logic/LegacyUpdate.cpp index 9533f8ff..8ba97827 100644 --- a/logic/LegacyUpdate.cpp +++ b/logic/LegacyUpdate.cpp @@ -40,7 +40,7 @@ void LegacyUpdate::lwjglStart() LegacyInstance *inst = (LegacyInstance *)m_inst; lwjglVersion = inst->lwjglVersion(); - lwjglTargetPath = PathCombine("lwjgl", lwjglVersion); + lwjglTargetPath = PathCombine(MMC->settings()->get("LWJGLDir").toString(), lwjglVersion); lwjglNativesPath = PathCombine(lwjglTargetPath, "natives"); // if the 'done' file exists, we don't have to download this again @@ -361,7 +361,10 @@ void LegacyUpdate::ModTheJar() setStatus("Installing mods - backing up minecraft.jar..."); if (!baseJar.exists() && !QFile::copy(runnableJar.filePath(), baseJar.filePath())) { - emitFailed("Failed to back up minecraft.jar"); + emitFailed("It seems both the active and base jar are gone. A fresh base jar will be used on next run."); + inst->setShouldRebuild(true); + inst->setShouldUpdate(true); + inst->setShouldUseCustomBaseJar(false); return; } } diff --git a/logic/Mod.cpp b/logic/Mod.cpp index f9647eea..cff9467e 100644 --- a/logic/Mod.cpp +++ b/logic/Mod.cpp @@ -56,34 +56,34 @@ void Mod::repath(const QFileInfo &file) return; QuaZipFile file(&zip); - for (bool more = zip.goToFirstFile(); more; more = zip.goToNextFile()) + + if (zip.setCurrentFile("mcmod.info")) { - QString name = zip.getCurrentFileName(); - if (name == "mcmod.info") + if(!file.open(QIODevice::ReadOnly)) { - if (!file.open(QIODevice::ReadOnly)) - { - zip.close(); - return; - } - ReadMCModInfo(file.readAll()); - file.close(); zip.close(); return; } - else if (name == "forgeversion.properties") + + ReadMCModInfo(file.readAll()); + file.close(); + zip.close(); + return; + } + else if (zip.setCurrentFile("forgeversion.properties")) + { + if (!file.open(QIODevice::ReadOnly)) { - if (!file.open(QIODevice::ReadOnly)) - { - zip.close(); - return; - } - ReadForgeInfo(file.readAll()); - file.close(); zip.close(); return; } + + ReadForgeInfo(file.readAll()); + file.close(); + zip.close(); + return; } + zip.close(); } else if (m_type == MOD_FOLDER) diff --git a/logic/lists/InstanceList.cpp b/logic/lists/InstanceList.cpp index 4446ff22..7081dc6f 100644 --- a/logic/lists/InstanceList.cpp +++ b/logic/lists/InstanceList.cpp @@ -204,7 +204,7 @@ void InstanceList::loadGroupList(QMap<QString, QString> &groupMap) // if the root of the json wasn't an object, fail if (!jsonDoc.isObject()) { - qWarning("Invalid group file. Root entry should be an object."); + QLOG_WARN() << "Invalid group file. Root entry should be an object."; return; } @@ -217,7 +217,7 @@ void InstanceList::loadGroupList(QMap<QString, QString> &groupMap) // Get the groups. if it's not an object, fail if (!rootObj.value("groups").isObject()) { - qWarning("Invalid group list JSON: 'groups' should be an object."); + QLOG_WARN() << "Invalid group list JSON: 'groups' should be an object."; return; } @@ -230,21 +230,21 @@ void InstanceList::loadGroupList(QMap<QString, QString> &groupMap) // If not an object, complain and skip to the next one. if (!iter.value().isObject()) { - qWarning(QString("Group '%1' in the group list should " - "be an object.") - .arg(groupName) - .toUtf8()); + QLOG_WARN() << QString("Group '%1' in the group list should " + "be an object.") + .arg(groupName) + .toUtf8(); continue; } QJsonObject groupObj = iter.value().toObject(); if (!groupObj.value("instances").isArray()) { - qWarning(QString("Group '%1' in the group list is invalid. " - "It should contain an array " - "called 'instances'.") - .arg(groupName) - .toUtf8()); + QLOG_WARN() << QString("Group '%1' in the group list is invalid. " + "It should contain an array " + "called 'instances'.") + .arg(groupName) + .toUtf8(); continue; } diff --git a/logic/lists/LwjglVersionList.cpp b/logic/lists/LwjglVersionList.cpp index 3333e86c..df46d7be 100644 --- a/logic/lists/LwjglVersionList.cpp +++ b/logic/lists/LwjglVersionList.cpp @@ -83,7 +83,10 @@ void LWJGLVersionList::loadList() setLoading(true); auto worker = MMC->qnam(); - reply = worker->get(QNetworkRequest(QUrl(RSS_URL))); + QNetworkRequest req(QUrl(RSS_URL)); + req.setRawHeader("Accept", "text/xml"); + req.setRawHeader("User-Agent", "MultiMC/5.0 (Uncached)"); + reply = worker->get(req); connect(reply, SIGNAL(finished()), SLOT(netRequestComplete())); } @@ -127,7 +130,7 @@ void LWJGLVersionList::netRequestComplete() QDomElement linkElement = getDomElementByTagName(items.at(i).toElement(), "link"); if (linkElement.isNull()) { - qWarning() << "Link element" << i << "in RSS feed doesn't exist! Skipping."; + QLOG_INFO() << "Link element" << i << "in RSS feed doesn't exist! Skipping."; continue; } @@ -143,7 +146,7 @@ void LWJGLVersionList::netRequestComplete() QUrl url(link); if (!url.isValid()) { - qWarning() << "LWJGL version URL isn't valid:" << link << "Skipping."; + QLOG_INFO() << "LWJGL version URL isn't valid:" << link << "Skipping."; continue; } @@ -180,7 +183,7 @@ const PtrLWJGLVersion LWJGLVersionList::getVersion(const QString &versionName) void LWJGLVersionList::failed(QString msg) { - qWarning() << msg; + QLOG_INFO() << msg; emit loadListFailed(msg); } |