lay base for a window with no menubar

This commit is contained in:
Arisotura 2024-10-27 02:07:33 +02:00
parent 881a740cab
commit b2ae4c7dc5
4 changed files with 478 additions and 437 deletions

View File

@ -76,11 +76,15 @@ void EmuThread::attachWindow(MainWindow* window)
connect(this, SIGNAL(windowEmuStop()), window, SLOT(onEmuStop()));
connect(this, SIGNAL(windowEmuPause(bool)), window, SLOT(onEmuPause(bool)));
connect(this, SIGNAL(windowEmuReset()), window, SLOT(onEmuReset()));
connect(this, SIGNAL(windowLimitFPSChange()), window->actLimitFramerate, SLOT(trigger()));
connect(this, SIGNAL(autoScreenSizingChange(int)), window->panel, SLOT(onAutoScreenSizingChanged(int)));
connect(this, SIGNAL(windowFullscreenToggle()), window, SLOT(onFullscreenToggled()));
connect(this, SIGNAL(swapScreensToggle()), window->actScreenSwap, SLOT(trigger()));
connect(this, SIGNAL(screenEmphasisToggle()), window, SLOT(onScreenEmphasisToggled()));
if (window->winHasMenu())
{
connect(this, SIGNAL(windowLimitFPSChange()), window->actLimitFramerate, SLOT(trigger()));
connect(this, SIGNAL(swapScreensToggle()), window->actScreenSwap, SLOT(trigger()));
}
}
void EmuThread::detachWindow(MainWindow* window)
@ -91,11 +95,15 @@ void EmuThread::detachWindow(MainWindow* window)
disconnect(this, SIGNAL(windowEmuStop()), window, SLOT(onEmuStop()));
disconnect(this, SIGNAL(windowEmuPause(bool)), window, SLOT(onEmuPause(bool)));
disconnect(this, SIGNAL(windowEmuReset()), window, SLOT(onEmuReset()));
disconnect(this, SIGNAL(windowLimitFPSChange()), window->actLimitFramerate, SLOT(trigger()));
disconnect(this, SIGNAL(autoScreenSizingChange(int)), window->panel, SLOT(onAutoScreenSizingChanged(int)));
disconnect(this, SIGNAL(windowFullscreenToggle()), window, SLOT(onFullscreenToggled()));
disconnect(this, SIGNAL(swapScreensToggle()), window->actScreenSwap, SLOT(trigger()));
disconnect(this, SIGNAL(screenEmphasisToggle()), window, SLOT(onScreenEmphasisToggled()));
if (window->winHasMenu())
{
disconnect(this, SIGNAL(windowLimitFPSChange()), window->actLimitFramerate, SLOT(trigger()));
disconnect(this, SIGNAL(swapScreensToggle()), window->actScreenSwap, SLOT(trigger()));
}
}
void EmuThread::run()

File diff suppressed because it is too large Load Diff

View File

@ -111,6 +111,10 @@ public:
EmuInstance* getEmuInstance() { return emuInstance; }
Config::Table& getWindowConfig() { return windowCfg; }
bool winHasMenu() { return hasMenu; }
void toggleFullscreen();
bool hasOpenGL() { return hasOGL; }
GL::Context* getOGLContext();
void initOpenGL();
@ -263,6 +267,8 @@ private:
public:
ScreenPanel* panel;
bool hasMenu;
QAction* actOpenROM;
QAction* actBootFirmware;
QAction* actCurrentCart;
@ -335,6 +341,4 @@ public:
QAction* actAbout;
};
void ToggleFullscreen(MainWindow* mainWindow);
#endif // WINDOW_H

View File

@ -364,7 +364,7 @@ int main(int argc, char** argv)
win->preloadROMs(dsfile, gbafile, options->boot);
if (options->fullscreen)
ToggleFullscreen(win);
win->toggleFullscreen();
}
int ret = melon.exec();