mirror of https://github.com/mgba-emu/mgba.git
Qt: Move ROM filter function to utils
This commit is contained in:
parent
c49f09dabc
commit
3b558a9509
|
@ -304,53 +304,6 @@ void Window::saveConfig() {
|
||||||
m_config->write();
|
m_config->write();
|
||||||
}
|
}
|
||||||
|
|
||||||
QString Window::getFilters() const {
|
|
||||||
QStringList filters;
|
|
||||||
QStringList formats;
|
|
||||||
|
|
||||||
#ifdef M_CORE_GBA
|
|
||||||
QStringList gbaFormats{
|
|
||||||
"*.gba",
|
|
||||||
#if defined(USE_LIBZIP) || defined(USE_MINIZIP)
|
|
||||||
"*.zip",
|
|
||||||
#endif
|
|
||||||
#ifdef USE_LZMA
|
|
||||||
"*.7z",
|
|
||||||
#endif
|
|
||||||
#ifdef USE_ELF
|
|
||||||
"*.elf",
|
|
||||||
#endif
|
|
||||||
"*.agb",
|
|
||||||
"*.mb",
|
|
||||||
"*.rom",
|
|
||||||
"*.bin"};
|
|
||||||
formats.append(gbaFormats);
|
|
||||||
filters.append(tr("Game Boy Advance ROMs (%1)").arg(gbaFormats.join(QChar(' '))));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef M_CORE_GB
|
|
||||||
QStringList gbFormats{
|
|
||||||
"*.gb",
|
|
||||||
"*.gbc",
|
|
||||||
"*.sgb",
|
|
||||||
#if defined(USE_LIBZIP) || defined(USE_MINIZIP)
|
|
||||||
"*.zip",
|
|
||||||
#endif
|
|
||||||
#ifdef USE_LZMA
|
|
||||||
"*.7z",
|
|
||||||
#endif
|
|
||||||
"*.rom",
|
|
||||||
"*.bin"};
|
|
||||||
formats.append(gbFormats);
|
|
||||||
filters.append(tr("Game Boy ROMs (%1)").arg(gbFormats.join(QChar(' '))));
|
|
||||||
#endif
|
|
||||||
|
|
||||||
formats.removeDuplicates();
|
|
||||||
filters.prepend(tr("All ROMs (%1)").arg(formats.join(QChar(' '))));
|
|
||||||
filters.append(tr("%1 Video Logs (*.mvl)").arg(projectName));
|
|
||||||
return filters.join(";;");
|
|
||||||
}
|
|
||||||
|
|
||||||
QString Window::getFiltersArchive() const {
|
QString Window::getFiltersArchive() const {
|
||||||
QStringList filters;
|
QStringList filters;
|
||||||
|
|
||||||
|
@ -367,7 +320,7 @@ QString Window::getFiltersArchive() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window::selectROM() {
|
void Window::selectROM() {
|
||||||
QString filename = GBAApp::app()->getOpenFileName(this, tr("Select ROM"), getFilters());
|
QString filename = GBAApp::app()->getOpenFileName(this, tr("Select ROM"), romFilters(true));
|
||||||
if (!filename.isEmpty()) {
|
if (!filename.isEmpty()) {
|
||||||
setController(m_manager->loadGame(filename), filename);
|
setController(m_manager->loadGame(filename), filename);
|
||||||
}
|
}
|
||||||
|
@ -410,7 +363,7 @@ void Window::addDirToLibrary() {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void Window::replaceROM() {
|
void Window::replaceROM() {
|
||||||
QString filename = GBAApp::app()->getOpenFileName(this, tr("Select ROM"), getFilters());
|
QString filename = GBAApp::app()->getOpenFileName(this, tr("Select ROM"), romFilters());
|
||||||
if (!filename.isEmpty()) {
|
if (!filename.isEmpty()) {
|
||||||
m_controller->replaceGame(filename);
|
m_controller->replaceGame(filename);
|
||||||
}
|
}
|
||||||
|
|
|
@ -187,7 +187,6 @@ private:
|
||||||
|
|
||||||
void updateTitle(float fps = -1);
|
void updateTitle(float fps = -1);
|
||||||
|
|
||||||
QString getFilters() const;
|
|
||||||
QString getFiltersArchive() const;
|
QString getFiltersArchive() const;
|
||||||
|
|
||||||
CoreManager* m_manager;
|
CoreManager* m_manager;
|
||||||
|
|
|
@ -5,6 +5,9 @@
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
|
|
||||||
|
#include <mgba/core/version.h>
|
||||||
|
|
||||||
|
#include <QCoreApplication>
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
|
|
||||||
namespace QGBA {
|
namespace QGBA {
|
||||||
|
@ -59,4 +62,53 @@ bool convertAddress(const QHostAddress* input, Address* output) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString romFilters(bool includeMvl) {
|
||||||
|
QStringList filters;
|
||||||
|
QStringList formats;
|
||||||
|
|
||||||
|
#ifdef M_CORE_GBA
|
||||||
|
QStringList gbaFormats{
|
||||||
|
"*.gba",
|
||||||
|
#if defined(USE_LIBZIP) || defined(USE_MINIZIP)
|
||||||
|
"*.zip",
|
||||||
|
#endif
|
||||||
|
#ifdef USE_LZMA
|
||||||
|
"*.7z",
|
||||||
|
#endif
|
||||||
|
#ifdef USE_ELF
|
||||||
|
"*.elf",
|
||||||
|
#endif
|
||||||
|
"*.agb",
|
||||||
|
"*.mb",
|
||||||
|
"*.rom",
|
||||||
|
"*.bin"};
|
||||||
|
formats.append(gbaFormats);
|
||||||
|
filters.append(QCoreApplication::translate("QGBA", "Game Boy Advance ROMs (%1)", nullptr).arg(gbaFormats.join(QChar(' '))));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef M_CORE_GB
|
||||||
|
QStringList gbFormats{
|
||||||
|
"*.gb",
|
||||||
|
"*.gbc",
|
||||||
|
"*.sgb",
|
||||||
|
#if defined(USE_LIBZIP) || defined(USE_MINIZIP)
|
||||||
|
"*.zip",
|
||||||
|
#endif
|
||||||
|
#ifdef USE_LZMA
|
||||||
|
"*.7z",
|
||||||
|
#endif
|
||||||
|
"*.rom",
|
||||||
|
"*.bin"};
|
||||||
|
formats.append(gbFormats);
|
||||||
|
filters.append(QCoreApplication::translate("QGBA", "Game Boy ROMs (%1)", nullptr).arg(gbFormats.join(QChar(' '))));
|
||||||
|
#endif
|
||||||
|
|
||||||
|
formats.removeDuplicates();
|
||||||
|
filters.prepend(QCoreApplication::translate("QGBA", "All ROMs (%1)", nullptr).arg(formats.join(QChar(' '))));
|
||||||
|
if (includeMvl) {
|
||||||
|
filters.append(QCoreApplication::translate("QGBA", "%1 Video Logs (*.mvl)", nullptr).arg(projectName));
|
||||||
|
}
|
||||||
|
return filters.join(";;");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -67,4 +67,6 @@ constexpr const T& clamp(const T& v, const T& lo, const T& hi) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
QString romFilters(bool includeMvl = false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue