aboutsummaryrefslogtreecommitdiff
path: root/src/frontend/qt_sdl/main.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/qt_sdl/main.h')
-rw-r--r--src/frontend/qt_sdl/main.h74
1 files changed, 53 insertions, 21 deletions
diff --git a/src/frontend/qt_sdl/main.h b/src/frontend/qt_sdl/main.h
index 0b5e917..1977b7f 100644
--- a/src/frontend/qt_sdl/main.h
+++ b/src/frontend/qt_sdl/main.h
@@ -1,5 +1,5 @@
/*
- Copyright 2016-2021 Arisotura
+ Copyright 2016-2022 melonDS team
This file is part of melonDS.
@@ -101,7 +101,8 @@ class ScreenHandler
Q_GADGET
public:
- virtual ~ScreenHandler() {}
+ ScreenHandler(QWidget* widget);
+ virtual ~ScreenHandler();
QTimer* setupMouseTimer();
void updateMouseTimer();
QTimer* mouseTimer;
@@ -121,7 +122,7 @@ protected:
int screenKind[Frontend::MaxScreenTransforms];
int numScreens;
- bool touching;
+ bool touching = false;
void showCursor();
};
@@ -133,7 +134,7 @@ class ScreenPanelNative : public QWidget, public ScreenHandler
public:
explicit ScreenPanelNative(QWidget* parent);
- ~ScreenPanelNative();
+ virtual ~ScreenPanelNative();
protected:
void paintEvent(QPaintEvent* event) override;
@@ -163,7 +164,7 @@ class ScreenPanelGL : public QOpenGLWidget, public ScreenHandler, protected QOpe
public:
explicit ScreenPanelGL(QWidget* parent);
- ~ScreenPanelGL();
+ virtual ~ScreenPanelGL();
protected:
void initializeGL() override;
@@ -211,8 +212,7 @@ public:
bool hasOGL;
QOpenGLContext* getOGLContext();
- void loadROM(QString filename);
- void loadROM(QByteArray *romData, QString archiveFileName, QString romFileName);
+ bool preloadROMs(QString filename, QString gbafilename);
void onAppStateChanged(Qt::ApplicationState state);
@@ -226,15 +226,22 @@ protected:
void dragEnterEvent(QDragEnterEvent* event) override;
void dropEvent(QDropEvent* event) override;
+ void focusInEvent(QFocusEvent* event) override;
+ void focusOutEvent(QFocusEvent* event) override;
+
signals:
void screenLayoutChange();
private slots:
void onOpenFile();
- void onOpenFileArchive();
void onClickRecentFile();
void onClearRecentFiles();
void onBootFirmware();
+ void onInsertCart();
+ void onEjectCart();
+ void onInsertGBACart();
+ void onInsertGBAAddon();
+ void onEjectGBACart();
void onSaveState();
void onLoadState();
void onUndoStateLoad();
@@ -249,20 +256,29 @@ private slots:
void onSetupCheats();
void onCheatsDialogFinished(int res);
void onROMInfo();
+ void onRAMInfo();
void onOpenTitleManager();
+ void onMPNewInstance();
void onOpenEmuSettings();
void onEmuSettingsDialogFinished(int res);
+ void onOpenPowerManagement();
void onOpenInputConfig();
void onInputConfigFinished(int res);
void onOpenVideoSettings();
+ void onOpenCameraSettings();
+ void onCameraSettingsFinished(int res);
void onOpenAudioSettings();
- void onOpenFirmwareSettings();
void onUpdateAudioSettings();
void onAudioSettingsFinished(int res);
+ void onOpenMPSettings();
+ void onMPSettingsFinished(int res);
void onOpenWifiSettings();
void onWifiSettingsFinished(int res);
+ void onOpenFirmwareSettings();
void onFirmwareSettingsFinished(int res);
+ void onOpenPathSettings();
+ void onPathSettingsFinished(int res);
void onOpenInterfaceSettings();
void onInterfaceSettingsFinished(int res);
void onUpdateMouseTimer();
@@ -273,8 +289,7 @@ private slots:
void onChangeScreenLayout(QAction* act);
void onChangeScreenSwap(bool checked);
void onChangeScreenSizing(QAction* act);
- void onChangeScreenAspectTop(QAction* act);
- void onChangeScreenAspectBot(QAction* act);
+ void onChangeScreenAspect(QAction* act);
void onChangeIntegerScaling(bool checked);
void onChangeScreenFiltering(bool checked);
void onChangeShowOSD(bool checked);
@@ -291,33 +306,41 @@ private slots:
void onFullscreenToggled();
private:
+ QStringList currentROM;
+ QStringList currentGBAROM;
QList<QString> recentFileList;
QMenu *recentMenu;
void updateRecentFilesMenu();
- QString pickAndExtractFileFromArchive(QString archiveFileName, QByteArray *romBuffer);
+ bool verifySetup();
+ QString pickFileFromArchive(QString archiveFileName);
+ QStringList pickROM(bool gba);
+ void updateCartInserted(bool gba);
void createScreenPanel();
- QString loadErrorStr(int error);
-
bool pausedManually = false;
int oldW, oldH;
bool oldMax;
public:
- QWidget* panel;
- ScreenPanelGL* panelGL;
- ScreenPanelNative* panelNative;
+ ScreenHandler* panel;
+ QWidget* panelWidget;
QAction* actOpenROM;
- QAction* actOpenROMArchive;
QAction* actBootFirmware;
+ QAction* actCurrentCart;
+ QAction* actInsertCart;
+ QAction* actEjectCart;
+ QAction* actCurrentGBACart;
+ QAction* actInsertGBACart;
+ QAction* actInsertGBAAddon[1];
+ QAction* actEjectGBACart;
+ QAction* actImportSavefile;
QAction* actSaveState[9];
QAction* actLoadState[9];
QAction* actUndoStateLoad;
- QAction* actImportSavefile;
QAction* actQuit;
QAction* actPause;
@@ -327,14 +350,23 @@ public:
QAction* actEnableCheats;
QAction* actSetupCheats;
QAction* actROMInfo;
+ QAction* actRAMInfo;
QAction* actTitleManager;
+ QAction* actMPNewInstance;
QAction* actEmuSettings;
+#ifdef __APPLE__
+ QAction* actPreferences;
+#endif
+ QAction* actPowerManagement;
QAction* actInputConfig;
QAction* actVideoSettings;
+ QAction* actCameraSettings;
QAction* actAudioSettings;
+ QAction* actMPSettings;
QAction* actWifiSettings;
QAction* actFirmwareSettings;
+ QAction* actPathSettings;
QAction* actInterfaceSettings;
QAction* actSavestateSRAMReloc;
QAction* actScreenSize[4];
@@ -349,9 +381,9 @@ public:
QAction* actScreenSizing[6];
QAction* actIntegerScaling;
QActionGroup* grpScreenAspectTop;
- QAction* actScreenAspectTop[4];
+ QAction** actScreenAspectTop;
QActionGroup* grpScreenAspectBot;
- QAction* actScreenAspectBot[4];
+ QAction** actScreenAspectBot;
QAction* actScreenFiltering;
QAction* actShowOSD;
QAction* actLimitFramerate;