merge doublemelon (#2067)

non-exhaustive (but exhausting) list of changes:

* base laid for multiple window support, but will likely require more work to work correctly
* encapsulation of frontend state for proper multi-instance support
* (JIT still needs a fix for the NDS::Current workaround but we can get there later)
* new, more flexible configuration system
This commit is contained in:
Arisotura
2024-06-15 13:52:47 +02:00
committed by GitHub
parent 8e9b88d01d
commit 25a7b1ca1d
111 changed files with 16802 additions and 5042 deletions

View File

@ -25,21 +25,22 @@
#include <QImage>
#include "types.h"
#include "ROMManager.h"
namespace Ui { class ROMInfoDialog; }
class ROMInfoDialog;
class EmuInstance;
namespace melonDS::NDSCart { class CartCommon; }
class ROMInfoDialog : public QDialog
{
Q_OBJECT
public:
explicit ROMInfoDialog(QWidget* parent, const melonDS::NDSCart::CartCommon& rom);
explicit ROMInfoDialog(QWidget* parent);
~ROMInfoDialog();
static ROMInfoDialog* currentDlg;
static ROMInfoDialog* openDlg(QWidget* parent, const melonDS::NDSCart::CartCommon& rom)
static ROMInfoDialog* openDlg(QWidget* parent)
{
if (currentDlg)
{
@ -47,7 +48,7 @@ public:
return currentDlg;
}
currentDlg = new ROMInfoDialog(parent, rom);
currentDlg = new ROMInfoDialog(parent);
currentDlg->open();
return currentDlg;
}
@ -66,6 +67,7 @@ private slots:
private:
Ui::ROMInfoDialog* ui;
EmuInstance* emuInstance;
QImage iconImage;
QTimeLine* iconTimeline;