diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-04-05 22:00:32 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-04-13 00:15:23 +0200 |
commit | 9df2f1fa5c455e4e75caf3f5ae6dbe4c34b77d51 (patch) | |
tree | 3fa8c4ca4f1a0333bbf4183edba7f6f9a98f1f0e /gui/pages | |
parent | fe540e5dda903156b1037559752fc5332375f465 (diff) | |
download | MultiMC-9df2f1fa5c455e4e75caf3f5ae6dbe4c34b77d51.tar MultiMC-9df2f1fa5c455e4e75caf3f5ae6dbe4c34b77d51.tar.gz MultiMC-9df2f1fa5c455e4e75caf3f5ae6dbe4c34b77d51.tar.lz MultiMC-9df2f1fa5c455e4e75caf3f5ae6dbe4c34b77d51.tar.xz MultiMC-9df2f1fa5c455e4e75caf3f5ae6dbe4c34b77d51.zip |
NOISSUE fix legacy edit instance
Diffstat (limited to 'gui/pages')
-rw-r--r-- | gui/pages/LegacyJarModPage.cpp | 200 | ||||
-rw-r--r-- | gui/pages/LegacyJarModPage.h | 77 | ||||
-rw-r--r-- | gui/pages/LegacyJarModPage.ui | 172 | ||||
-rw-r--r-- | gui/pages/LegacyUpgradePage.cpp | 25 | ||||
-rw-r--r-- | gui/pages/LegacyUpgradePage.h | 61 | ||||
-rw-r--r-- | gui/pages/LegacyUpgradePage.ui | 58 |
6 files changed, 0 insertions, 593 deletions
diff --git a/gui/pages/LegacyJarModPage.cpp b/gui/pages/LegacyJarModPage.cpp deleted file mode 100644 index 55a8300f..00000000 --- a/gui/pages/LegacyJarModPage.cpp +++ /dev/null @@ -1,200 +0,0 @@ -/* Copyright 2013-2015 MultiMC Contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include "LegacyJarModPage.h" -#include "ui_LegacyJarModPage.h" - -#include <QKeyEvent> -#include <QFileDialog> -#include <QKeyEvent> - -#include <pathutils.h> - -#include "gui/dialogs/VersionSelectDialog.h" -#include "gui/dialogs/ProgressDialog.h" -#include "gui/dialogs/ModEditDialogCommon.h" -#include "logic/minecraft/ModList.h" -#include "logic/minecraft/LegacyInstance.h" -#include "logic/forge/ForgeVersion.h" -#include "logic/forge/ForgeVersionList.h" -#include "logic/Env.h" -#include "MultiMC.h" - -LegacyJarModPage::LegacyJarModPage(LegacyInstance *inst, QWidget *parent) - : QWidget(parent), ui(new Ui::LegacyJarModPage), m_inst(inst) -{ - ui->setupUi(this); - ui->tabWidget->tabBar()->hide(); - - m_jarmods = m_inst->jarModList(); - ui->jarModsTreeView->setModel(m_jarmods.get()); - ui->jarModsTreeView->setDragDropMode(QAbstractItemView::DragDrop); - ui->jarModsTreeView->setSelectionMode(QAbstractItemView::SingleSelection); - ui->jarModsTreeView->installEventFilter(this); - m_jarmods->startWatching(); - auto smodel = ui->jarModsTreeView->selectionModel(); - connect(smodel, SIGNAL(currentChanged(QModelIndex, QModelIndex)), - SLOT(jarCurrent(QModelIndex, QModelIndex))); -} - -LegacyJarModPage::~LegacyJarModPage() -{ - m_jarmods->stopWatching(); - delete ui; -} - -bool LegacyJarModPage::shouldDisplay() const -{ - return !m_inst->isRunning(); -} - -bool LegacyJarModPage::eventFilter(QObject *obj, QEvent *ev) -{ - if (ev->type() != QEvent::KeyPress || obj != ui->jarModsTreeView) - { - return QWidget::eventFilter(obj, ev); - } - - QKeyEvent *keyEvent = static_cast<QKeyEvent *>(ev); - switch (keyEvent->key()) - { - case Qt::Key_Up: - { - if (keyEvent->modifiers() & Qt::ControlModifier) - { - on_moveJarUpBtn_clicked(); - return true; - } - break; - } - case Qt::Key_Down: - { - if (keyEvent->modifiers() & Qt::ControlModifier) - { - on_moveJarDownBtn_clicked(); - return true; - } - break; - } - case Qt::Key_Delete: - on_rmJarBtn_clicked(); - return true; - case Qt::Key_Plus: - on_addJarBtn_clicked(); - return true; - default: - break; - } - return QWidget::eventFilter(obj, ev); -} - -void LegacyJarModPage::on_addForgeBtn_clicked() -{ - VersionSelectDialog vselect(MMC->forgelist().get(), tr("Select Forge version"), this); - vselect.setExactFilter(1, m_inst->intendedVersionId()); - if (vselect.exec() && vselect.selectedVersion()) - { - ForgeVersionPtr forge = - std::dynamic_pointer_cast<ForgeVersion>(vselect.selectedVersion()); - if (!forge) - return; - auto entry = Env::getInstance().metacache()->resolveEntry("minecraftforge", forge->filename()); - if (entry->stale) - { - NetJob *fjob = new NetJob("Forge download"); - auto cacheDl = CacheDownload::make(forge->universal_url, entry); - fjob->addNetAction(cacheDl); - ProgressDialog dlg(this); - dlg.exec(fjob); - if (dlg.result() == QDialog::Accepted) - { - m_jarmods->stopWatching(); - m_jarmods->installMod(QFileInfo(entry->getFullPath())); - m_jarmods->startWatching(); - } - else - { - // failed to download forge :/ - } - } - else - { - m_jarmods->stopWatching(); - m_jarmods->installMod(QFileInfo(entry->getFullPath())); - m_jarmods->startWatching(); - } - } -} -void LegacyJarModPage::on_addJarBtn_clicked() -{ - //: Title of jar mod selection dialog - QStringList fileNames = QFileDialog::getOpenFileNames(this, tr("Select Jar Mods")); - for (auto filename : fileNames) - { - m_jarmods->stopWatching(); - m_jarmods->installMod(QFileInfo(filename)); - m_jarmods->startWatching(); - } -} - -void LegacyJarModPage::on_moveJarDownBtn_clicked() -{ - int first, last; - auto list = ui->jarModsTreeView->selectionModel()->selectedRows(); - - if (!lastfirst(list, first, last)) - return; - - m_jarmods->moveModsDown(first, last); -} - -void LegacyJarModPage::on_moveJarUpBtn_clicked() -{ - int first, last; - auto list = ui->jarModsTreeView->selectionModel()->selectedRows(); - - if (!lastfirst(list, first, last)) - return; - m_jarmods->moveModsUp(first, last); -} - -void LegacyJarModPage::on_rmJarBtn_clicked() -{ - int first, last; - auto list = ui->jarModsTreeView->selectionModel()->selectedRows(); - - if (!lastfirst(list, first, last)) - return; - m_jarmods->stopWatching(); - m_jarmods->deleteMods(first, last); - m_jarmods->startWatching(); -} - -void LegacyJarModPage::on_viewJarBtn_clicked() -{ - openDirInDefaultProgram(m_inst->jarModsDir(), true); -} - -void LegacyJarModPage::jarCurrent(QModelIndex current, QModelIndex previous) -{ - if (!current.isValid()) - { - ui->jarMIFrame->clear(); - return; - } - int row = current.row(); - Mod &m = m_jarmods->operator[](row); - ui->jarMIFrame->updateWithMod(m); -} diff --git a/gui/pages/LegacyJarModPage.h b/gui/pages/LegacyJarModPage.h deleted file mode 100644 index e1ffd5d6..00000000 --- a/gui/pages/LegacyJarModPage.h +++ /dev/null @@ -1,77 +0,0 @@ -/* Copyright 2013-2015 MultiMC Contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -#include <QWidget> - -#include "logic/net/NetJob.h" -#include "BasePage.h" -#include <MultiMC.h> - -class ModList; -class LegacyInstance; -namespace Ui -{ -class LegacyJarModPage; -} - -class LegacyJarModPage : public QWidget, public BasePage -{ - Q_OBJECT - -public: - explicit LegacyJarModPage(LegacyInstance *inst, QWidget *parent = 0); - virtual ~LegacyJarModPage(); - - virtual QString displayName() const - { - return tr("Jar Mods"); - } - virtual QIcon icon() const - { - return MMC->getThemedIcon("jarmods"); - } - virtual QString id() const - { - return "jarmods"; - } - virtual QString helpPage() const override - { - return "Legacy-jar-mods"; - } - virtual bool shouldDisplay() const; - -private -slots: - - void on_addJarBtn_clicked(); - void on_rmJarBtn_clicked(); - void on_addForgeBtn_clicked(); - void on_moveJarUpBtn_clicked(); - void on_moveJarDownBtn_clicked(); - void on_viewJarBtn_clicked(); - - void jarCurrent(QModelIndex current, QModelIndex previous); - -protected: - virtual bool eventFilter(QObject *obj, QEvent *ev) override; - -private: - Ui::LegacyJarModPage *ui; - std::shared_ptr<ModList> m_jarmods; - LegacyInstance *m_inst; - NetJobPtr forgeJob; -}; diff --git a/gui/pages/LegacyJarModPage.ui b/gui/pages/LegacyJarModPage.ui deleted file mode 100644 index 50edfc8e..00000000 --- a/gui/pages/LegacyJarModPage.ui +++ /dev/null @@ -1,172 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>LegacyJarModPage</class> - <widget class="QWidget" name="LegacyJarModPage"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>659</width> - <height>593</height> - </rect> - </property> - <property name="windowTitle"> - <string>LegacyJarModPage</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <item> - <widget class="QTabWidget" name="tabWidget"> - <property name="currentIndex"> - <number>0</number> - </property> - <widget class="QWidget" name="tab"> - <attribute name="title"> - <string>Tab 1</string> - </attribute> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <item> - <widget class="ModListView" name="jarModsTreeView"> - <property name="verticalScrollBarPolicy"> - <enum>Qt::ScrollBarAlwaysOn</enum> - </property> - <property name="horizontalScrollBarPolicy"> - <enum>Qt::ScrollBarAlwaysOff</enum> - </property> - </widget> - </item> - <item> - <layout class="QVBoxLayout" name="jarModsButtonBox"> - <item> - <widget class="QLabel" name="label"> - <property name="text"> - <string>Selection</string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="rmJarBtn"> - <property name="text"> - <string>&Remove</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="moveJarUpBtn"> - <property name="text"> - <string>Move &Up</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="moveJarDownBtn"> - <property name="text"> - <string>Move &Down</string> - </property> - </widget> - </item> - <item> - <widget class="LineSeparator" name="separator" native="true"/> - </item> - <item> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string>Install</string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="addJarBtn"> - <property name="text"> - <string>&Add jar mod</string> - </property> - </widget> - </item> - <item> - <widget class="QPushButton" name="addForgeBtn"> - <property name="text"> - <string>Install Forge</string> - </property> - </widget> - </item> - <item> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>40</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QPushButton" name="viewJarBtn"> - <property name="text"> - <string>&View Folder</string> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - </layout> - </widget> - </widget> - </item> - <item> - <widget class="MCModInfoFrame" name="jarMIFrame"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Minimum"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - </widget> - </item> - </layout> - </widget> - <customwidgets> - <customwidget> - <class>ModListView</class> - <extends>QTreeView</extends> - <header>gui/widgets/ModListView.h</header> - </customwidget> - <customwidget> - <class>MCModInfoFrame</class> - <extends>QFrame</extends> - <header>gui/widgets/MCModInfoFrame.h</header> - <container>1</container> - </customwidget> - <customwidget> - <class>LineSeparator</class> - <extends>QWidget</extends> - <header>gui/widgets/LineSeparator.h</header> - <container>1</container> - </customwidget> - </customwidgets> - <resources/> - <connections/> -</ui> diff --git a/gui/pages/LegacyUpgradePage.cpp b/gui/pages/LegacyUpgradePage.cpp deleted file mode 100644 index bb94d82a..00000000 --- a/gui/pages/LegacyUpgradePage.cpp +++ /dev/null @@ -1,25 +0,0 @@ -#include "LegacyUpgradePage.h" -#include "ui_LegacyUpgradePage.h" - -#include "logic/minecraft/LegacyInstance.h" - -LegacyUpgradePage::LegacyUpgradePage(LegacyInstance *inst, QWidget *parent) - : QWidget(parent), ui(new Ui::LegacyUpgradePage), m_inst(inst) -{ - ui->setupUi(this); -} - -LegacyUpgradePage::~LegacyUpgradePage() -{ - delete ui; -} - -void LegacyUpgradePage::on_upgradeButton_clicked() -{ - // now what? -} - -bool LegacyUpgradePage::shouldDisplay() const -{ - return !m_inst->isRunning(); -} diff --git a/gui/pages/LegacyUpgradePage.h b/gui/pages/LegacyUpgradePage.h deleted file mode 100644 index b604da19..00000000 --- a/gui/pages/LegacyUpgradePage.h +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright 2013-2015 MultiMC Contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#pragma once - -#include <QWidget> - -#include "logic/minecraft/OneSixInstance.h" -#include "logic/net/NetJob.h" -#include "gui/pages/BasePage.h" -#include <MultiMC.h> - -namespace Ui -{ -class LegacyUpgradePage; -} - -class LegacyUpgradePage : public QWidget, public BasePage -{ - Q_OBJECT - -public: - explicit LegacyUpgradePage(LegacyInstance *inst, QWidget *parent = 0); - virtual ~LegacyUpgradePage(); - virtual QString displayName() const override - { - return tr("Upgrade"); - } - virtual QIcon icon() const override - { - return MMC->getThemedIcon("checkupdate"); - } - virtual QString id() const override - { - return "upgrade"; - } - virtual QString helpPage() const override - { - return "Legacy-upgrade"; - } - virtual bool shouldDisplay() const; -private -slots: - void on_upgradeButton_clicked(); - -private: - Ui::LegacyUpgradePage *ui; - LegacyInstance *m_inst; -}; diff --git a/gui/pages/LegacyUpgradePage.ui b/gui/pages/LegacyUpgradePage.ui deleted file mode 100644 index 8d676eae..00000000 --- a/gui/pages/LegacyUpgradePage.ui +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>LegacyUpgradePage</class> - <widget class="QWidget" name="LegacyUpgradePage"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>546</width> - <height>405</height> - </rect> - </property> - <property name="windowTitle"> - <string>Upgrade</string> - </property> - <layout class="QVBoxLayout" name="verticalLayout_5"> - <property name="leftMargin"> - <number>0</number> - </property> - <property name="topMargin"> - <number>0</number> - </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <item> - <widget class="QTextBrowser" name="textBrowser"> - <property name="html"> - <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> -<html><head><meta name="qrichtext" content="1" /><style type="text/css"> -p, li { white-space: pre-wrap; } -</style></head><body style=" font-family:'Bitstream Vera Sans'; font-size:11pt; font-weight:400; font-style:normal;"> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"> </p> -<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:18pt; font-weight:600;">New format is available</span> </p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">MultiMC now supports old Minecraft versions in the new (OneSix) instance format. The old format won't be getting any new features and only the most critical bugfixes. As a consequence, you should upgrade this instance. </p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">The upgrade will create a new instance with the same contents as the current one, in the new format. The original instance will remain untouched, in case anything goes wrong in the process. </p> -<p style=" margin-top:12px; margin-bottom:12px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;">Please report any issues on our <a href="https://github.com/MultiMC/MultiMC5/issues"><img src=":/icons/multimc/22x22/bug.png" /></a><a href="https://github.com/MultiMC/MultiMC5/issues"><span style=" text-decoration: underline; color:#68a0df;">github issues page</span></a>.</p></body></html></string> - </property> - <property name="openExternalLinks"> - <bool>true</bool> - </property> - </widget> - </item> - <item> - <widget class="QCommandLinkButton" name="upgradeButton"> - <property name="text"> - <string>Start the upgrade! (Not Yet Implemented, Coming Soon™)</string> - </property> - </widget> - </item> - </layout> - </widget> - <resources/> - <connections/> -</ui> |