mirror of https://github.com/mgba-emu/mgba.git
Qt: Use filters for the forwarder file types
This commit is contained in:
parent
b48c7a1887
commit
91e62b8e72
|
@ -73,6 +73,17 @@ QString ForwarderGenerator::systemName(ForwarderGenerator::System system) {
|
||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString ForwarderGenerator::systemHumanName(ForwarderGenerator::System system) {
|
||||||
|
switch (system) {
|
||||||
|
case ForwarderGenerator::System::N3DS:
|
||||||
|
return tr("3DS");
|
||||||
|
case ForwarderGenerator::System::VITA:
|
||||||
|
return tr("Vita");
|
||||||
|
}
|
||||||
|
|
||||||
|
return {};
|
||||||
|
}
|
||||||
|
|
||||||
QString ForwarderGenerator::base36(const QByteArray& bytes, int length) {
|
QString ForwarderGenerator::base36(const QByteArray& bytes, int length) {
|
||||||
static const char* alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
static const char* alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||||
QString buffer(length, 'X');
|
QString buffer(length, 'X');
|
||||||
|
|
|
@ -40,11 +40,13 @@ public:
|
||||||
virtual QList<QPair<QString, QSize>> imageTypes() const = 0;
|
virtual QList<QPair<QString, QSize>> imageTypes() const = 0;
|
||||||
virtual System system() const = 0;
|
virtual System system() const = 0;
|
||||||
QString systemName() const { return systemName(system()); }
|
QString systemName() const { return systemName(system()); }
|
||||||
|
QString systemHumanName() const { return systemHumanName(system()); }
|
||||||
virtual QString extension() const = 0;
|
virtual QString extension() const = 0;
|
||||||
|
|
||||||
virtual QStringList externalTools() const { return {}; }
|
virtual QStringList externalTools() const { return {}; }
|
||||||
|
|
||||||
static QString systemName(System);
|
static QString systemName(System);
|
||||||
|
static QString systemHumanName(System);
|
||||||
|
|
||||||
virtual void rebuild(const QString& source, const QString& target) = 0;
|
virtual void rebuild(const QString& source, const QString& target) = 0;
|
||||||
|
|
||||||
|
|
|
@ -151,10 +151,18 @@ void ForwarderView::setSystem(ForwarderGenerator::System system) {
|
||||||
void ForwarderView::connectBrowseButton(QAbstractButton* button, QLineEdit* lineEdit, const QString& title, bool save, const QString& filter) {
|
void ForwarderView::connectBrowseButton(QAbstractButton* button, QLineEdit* lineEdit, const QString& title, bool save, const QString& filter) {
|
||||||
connect(button, &QAbstractButton::clicked, lineEdit, [this, lineEdit, save, title, filter]() {
|
connect(button, &QAbstractButton::clicked, lineEdit, [this, lineEdit, save, title, filter]() {
|
||||||
QString filename;
|
QString filename;
|
||||||
|
QString usedFilter = filter;
|
||||||
|
if (filter.isEmpty()) {
|
||||||
|
// Use the forwarder type, if selected
|
||||||
|
ForwarderGenerator* generator = m_controller.generator();
|
||||||
|
if (generator) {
|
||||||
|
usedFilter = tr("%1 installable package (*.%2)").arg(generator->systemHumanName()).arg(generator->extension());
|
||||||
|
}
|
||||||
|
}
|
||||||
if (save) {
|
if (save) {
|
||||||
filename = GBAApp::app()->getSaveFileName(this, title, filter);
|
filename = GBAApp::app()->getSaveFileName(this, title, usedFilter);
|
||||||
} else {
|
} else {
|
||||||
filename = GBAApp::app()->getOpenFileName(this, title, filter);
|
filename = GBAApp::app()->getOpenFileName(this, title, usedFilter);
|
||||||
}
|
}
|
||||||
if (filename.isEmpty()) {
|
if (filename.isEmpty()) {
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in New Issue