Generate a simple non-bootable firmware when not provided. (v2) (#1175)

* Generate a simple non-bootable firmware when not provided.

* Expose Username and Language into settings dialog.

* Add firmware overrides for more settings. Also make override optionals when a firmware is provided.

* Refactor firmware settings into separate dialog.

* use usernameLength instead of u16Username.length() (#3)

* Fix curly braces code-style.

* LoadUserSettingsFromConfig: convert from UTF-8 to UTF-16 via wstring_convert

* Fix firmware username capitalization.

* cleanup firmware backup logic

* Put brace where it should be

Co-authored-by: Rayyan Ansari <68647953+RayyanAnsari@users.noreply.github.com>

Co-authored-by: Filippo Scognamiglio <flscogna@gmail.com>
Co-authored-by: kyandora <71771686+kyandora@users.noreply.github.com>
Co-authored-by: Filippo Scognamiglio <filippo.scognamiglio@felgo.com>
Co-authored-by: RSDuck <RSDuck@users.noreply.github.com>
Co-authored-by: Rayyan Ansari <68647953+RayyanAnsari@users.noreply.github.com>
This commit is contained in:
Adrian Siekierka
2021-10-02 20:16:27 +02:00
committed by GitHub
parent b92622b765
commit d378b0252f
11 changed files with 437 additions and 23 deletions

View File

@ -0,0 +1,92 @@
/*
Copyright 2016-2020 Arisotura
This file is part of melonDS.
melonDS is free software: you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free
Software Foundation, either version 3 of the License, or (at your option)
any later version.
melonDS is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with melonDS. If not, see http://www.gnu.org/licenses/.
*/
#ifndef FIRMWARESETTINGSDIALOG_H
#define FIRMWARESETTINGSDIALOG_H
#include <QDialog>
#include <QWidget>
namespace Ui { class FirmwareSettingsDialog; }
class FirmwareSettingsDialog;
class FirmwareSettingsDialog : public QDialog
{
Q_OBJECT
public:
const QStringList colours
{
"Greyish Blue",
"Brown",
"Red",
"Light Pink",
"Orange",
"Yellow",
"Lime",
"Light Green",
"Dark Green",
"Turqoise",
"Light Blue",
"Blue",
"Dark Blue",
"Dark Purple",
"Light Purple",
"Dark Pink"
};
const QStringList languages
{
"Japanese",
"English",
"French",
"German",
"Italian",
"Spanish"
};
explicit FirmwareSettingsDialog(QWidget* parent);
~FirmwareSettingsDialog();
static FirmwareSettingsDialog* currentDlg;
static FirmwareSettingsDialog* openDlg(QWidget* parent)
{
if (currentDlg)
{
currentDlg->activateWindow();
return currentDlg;
}
currentDlg = new FirmwareSettingsDialog(parent);
currentDlg->show();
return currentDlg;
}
static void closeDlg()
{
currentDlg = nullptr;
}
private slots:
void on_dialogButtons_accepted();
void on_dialogButtons_rejected();
private:
Ui::FirmwareSettingsDialog* ui;
};
#endif // FIRMWARESETTINGSDIALOG_H