NOISSUE Import page is now a MultiMC pack page

This commit is contained in:
Petr Mrázek
2019-06-29 01:13:39 +02:00
parent fde43c993e
commit f74e3db804
10 changed files with 59 additions and 64 deletions

View File

@ -13,8 +13,8 @@
* limitations under the License.
*/
#include "MultiMCPage.h"
#include "ui_MultiMCPage.h"
#include "MultiMCSettingsPage.h"
#include "ui_MultiMCSettingsPage.h"
#include <QFileDialog>
#include <QMessageBox>
@ -38,7 +38,7 @@ enum InstSortMode
Sort_LastLaunch
};
MultiMCPage::MultiMCPage(QWidget *parent) : QWidget(parent), ui(new Ui::MultiMCPage)
MultiMCSettingsPage::MultiMCSettingsPage(QWidget *parent) : QWidget(parent), ui(new Ui::MultiMCSettingsPage)
{
ui->setupUi(this);
auto origForeground = ui->fontPreview->palette().color(ui->fontPreview->foregroundRole());
@ -56,7 +56,7 @@ MultiMCPage::MultiMCPage(QWidget *parent) : QWidget(parent), ui(new Ui::MultiMCP
if(BuildConfig.UPDATER_ENABLED)
{
QObject::connect(MMC->updateChecker().get(), &UpdateChecker::channelListLoaded, this,
&MultiMCPage::refreshUpdateChannelList);
&MultiMCSettingsPage::refreshUpdateChannelList);
if (MMC->updateChecker()->hasChannels())
{
@ -81,18 +81,18 @@ MultiMCPage::MultiMCPage(QWidget *parent) : QWidget(parent), ui(new Ui::MultiMCP
connect(ui->languageBox, SIGNAL(currentIndexChanged(int)), SLOT(languageIndexChanged(int)));
}
MultiMCPage::~MultiMCPage()
MultiMCSettingsPage::~MultiMCSettingsPage()
{
delete ui;
}
bool MultiMCPage::apply()
bool MultiMCSettingsPage::apply()
{
applySettings();
return true;
}
void MultiMCPage::on_instDirBrowseBtn_clicked()
void MultiMCSettingsPage::on_instDirBrowseBtn_clicked()
{
QString raw_dir = QFileDialog::getExistingDirectory(this, tr("Instance Folder"), ui->instDirTextBox->text());
@ -124,7 +124,7 @@ void MultiMCPage::on_instDirBrowseBtn_clicked()
}
}
void MultiMCPage::on_iconsDirBrowseBtn_clicked()
void MultiMCSettingsPage::on_iconsDirBrowseBtn_clicked()
{
QString raw_dir = QFileDialog::getExistingDirectory(this, tr("Icons Folder"), ui->iconsDirTextBox->text());
@ -135,7 +135,7 @@ void MultiMCPage::on_iconsDirBrowseBtn_clicked()
ui->iconsDirTextBox->setText(cooked_dir);
}
}
void MultiMCPage::on_modsDirBrowseBtn_clicked()
void MultiMCSettingsPage::on_modsDirBrowseBtn_clicked()
{
QString raw_dir = QFileDialog::getExistingDirectory(this, tr("Mods Folder"), ui->modsDirTextBox->text());
@ -147,7 +147,7 @@ void MultiMCPage::on_modsDirBrowseBtn_clicked()
}
}
void MultiMCPage::languageIndexChanged(int index)
void MultiMCSettingsPage::languageIndexChanged(int index)
{
auto languageCode = ui->languageBox->itemData(ui->languageBox->currentIndex()).toString();
if(languageCode.isEmpty())
@ -160,7 +160,7 @@ void MultiMCPage::languageIndexChanged(int index)
translations->updateLanguage(languageCode);
}
void MultiMCPage::refreshUpdateChannelList()
void MultiMCSettingsPage::refreshUpdateChannelList()
{
// Stop listening for selection changes. It's going to change a lot while we update it and
// we don't need to update the
@ -205,12 +205,12 @@ void MultiMCPage::refreshUpdateChannelList()
ui->updateChannelComboBox->setEnabled(true);
}
void MultiMCPage::updateChannelSelectionChanged(int index)
void MultiMCSettingsPage::updateChannelSelectionChanged(int index)
{
refreshUpdateChannelDesc();
}
void MultiMCPage::refreshUpdateChannelDesc()
void MultiMCSettingsPage::refreshUpdateChannelDesc()
{
// Get the channel list.
QList<UpdateChecker::ChannelListEntry> channelList = MMC->updateChecker()->getChannelList();
@ -232,7 +232,7 @@ void MultiMCPage::refreshUpdateChannelDesc()
}
}
void MultiMCPage::applySettings()
void MultiMCSettingsPage::applySettings()
{
auto s = MMC->settings();
@ -329,7 +329,7 @@ void MultiMCPage::applySettings()
s->set("Analytics", ui->analyticsCheck->isChecked());
}
}
void MultiMCPage::loadSettings()
void MultiMCSettingsPage::loadSettings()
{
auto s = MMC->settings();
// Language
@ -437,7 +437,7 @@ void MultiMCPage::loadSettings()
}
}
void MultiMCPage::refreshFontPreview()
void MultiMCSettingsPage::refreshFontPreview()
{
int fontSize = ui->fontSizeBox->value();
QString fontFamily = ui->consoleFont->currentFont().family();

View File

@ -29,16 +29,16 @@ class SettingsObject;
namespace Ui
{
class MultiMCPage;
class MultiMCSettingsPage;
}
class MultiMCPage : public QWidget, public BasePage
class MultiMCSettingsPage : public QWidget, public BasePage
{
Q_OBJECT
public:
explicit MultiMCPage(QWidget *parent = 0);
~MultiMCPage();
explicit MultiMCSettingsPage(QWidget *parent = 0);
~MultiMCSettingsPage();
QString displayName() const override
{
@ -88,7 +88,7 @@ slots:
void updateChannelSelectionChanged(int index);
private:
Ui::MultiMCPage *ui;
Ui::MultiMCSettingsPage *ui;
/*!
* Stores the currently selected update channel.

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MultiMCPage</class>
<widget class="QWidget" name="MultiMCPage">
<class>MultiMCSettingsPage</class>
<widget class="QWidget" name="MultiMCSettingsPage">
<property name="geometry">
<rect>
<x>0</x>

View File

@ -1,5 +1,5 @@
#include "ImportPage.h"
#include "ui_ImportPage.h"
#include "MultiMCPage.h"
#include "ui_MultiMCPage.h"
#include "MultiMC.h"
#include "dialogs/NewInstanceDialog.h"
@ -30,30 +30,30 @@ public:
}
};
ImportPage::ImportPage(NewInstanceDialog* dialog, QWidget *parent)
: QWidget(parent), ui(new Ui::ImportPage), dialog(dialog)
MultiMCPage::MultiMCPage(NewInstanceDialog* dialog, QWidget *parent)
: QWidget(parent), ui(new Ui::MultiMCPage), dialog(dialog)
{
ui->setupUi(this);
ui->modpackEdit->setValidator(new UrlValidator(ui->modpackEdit));
connect(ui->modpackEdit, &QLineEdit::textChanged, this, &ImportPage::updateState);
connect(ui->modpackEdit, &QLineEdit::textChanged, this, &MultiMCPage::updateState);
}
ImportPage::~ImportPage()
MultiMCPage::~MultiMCPage()
{
delete ui;
}
bool ImportPage::shouldDisplay() const
bool MultiMCPage::shouldDisplay() const
{
return true;
}
void ImportPage::openedImpl()
void MultiMCPage::openedImpl()
{
updateState();
}
void ImportPage::updateState()
void MultiMCPage::updateState()
{
if(!isOpened)
{
@ -75,11 +75,6 @@ void ImportPage::updateState()
}
else
{
if(input.endsWith("?client=y")) {
input.chop(9);
input.append("/file");
url = QUrl::fromUserInput(input);
}
// hook, line and sinker.
QFileInfo fi(url.fileName());
dialog->setSuggestedPack(fi.completeBaseName(), new InstanceImportTask(url));
@ -91,13 +86,13 @@ void ImportPage::updateState()
}
}
void ImportPage::setUrl(const QString& url)
void MultiMCPage::setUrl(const QString& url)
{
ui->modpackEdit->setText(url);
updateState();
}
void ImportPage::on_modpackBtn_clicked()
void MultiMCPage::on_modpackBtn_clicked()
{
const QUrl url = QFileDialog::getOpenFileUrl(this, tr("Choose modpack"), modpackUrl(), tr("Zip (*.zip)"));
if (url.isValid())
@ -114,7 +109,7 @@ void ImportPage::on_modpackBtn_clicked()
}
QUrl ImportPage::modpackUrl() const
QUrl MultiMCPage::modpackUrl() const
{
const QUrl url(ui->modpackEdit->text());
if (url.isValid() && !url.isRelative() && !url.host().isEmpty())

View File

@ -23,33 +23,33 @@
namespace Ui
{
class ImportPage;
class MultiMCPage;
}
class NewInstanceDialog;
class ImportPage : public QWidget, public BasePage
class MultiMCPage : public QWidget, public BasePage
{
Q_OBJECT
public:
explicit ImportPage(NewInstanceDialog* dialog, QWidget *parent = 0);
virtual ~ImportPage();
explicit MultiMCPage(NewInstanceDialog* dialog, QWidget *parent = 0);
virtual ~MultiMCPage();
virtual QString displayName() const override
{
return tr("Import from zip");
return tr("MultiMC");
}
virtual QIcon icon() const override
{
return MMC->getThemedIcon("viewfolder");
return MMC->getThemedIcon("multimc");
}
virtual QString id() const override
{
return "import";
return "multimc";
}
virtual QString helpPage() const override
{
return "Zip-import";
return "MultiMC-packs";
}
virtual bool shouldDisplay() const override;
@ -64,7 +64,7 @@ private:
QUrl modpackUrl() const;
private:
Ui::ImportPage *ui = nullptr;
Ui::MultiMCPage *ui = nullptr;
NewInstanceDialog* dialog = nullptr;
};

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ImportPage</class>
<widget class="QWidget" name="ImportPage">
<class>MultiMCPage</class>
<widget class="QWidget" name="MultiMCPage">
<property name="geometry">
<rect>
<x>0</x>