Added code for Qt GUI to pause emulation when main menu is active. This feature is currently disabled.
This commit is contained in:
parent
86edfd490a
commit
5f40358a06
|
@ -111,6 +111,10 @@ consoleWin_t::consoleWin_t(QWidget *parent)
|
||||||
viewport_GL = NULL;
|
viewport_GL = NULL;
|
||||||
viewport_SDL = NULL;
|
viewport_SDL = NULL;
|
||||||
|
|
||||||
|
mainMenuEmuPauseSet = false;
|
||||||
|
mainMenuEmuWasPaused = false;
|
||||||
|
mainMenuPauseWhenActv = false;
|
||||||
|
|
||||||
if ( use_SDL_video )
|
if ( use_SDL_video )
|
||||||
{
|
{
|
||||||
viewport_SDL = new ConsoleViewSDL_t(this);
|
viewport_SDL = new ConsoleViewSDL_t(this);
|
||||||
|
@ -623,6 +627,9 @@ void consoleWin_t::createMainMenu(void)
|
||||||
// File
|
// File
|
||||||
fileMenu = menubar->addMenu(tr("&File"));
|
fileMenu = menubar->addMenu(tr("&File"));
|
||||||
|
|
||||||
|
connect( fileMenu, SIGNAL(aboutToShow(void)), this, SLOT(mainMenuOpen(void)) );
|
||||||
|
connect( fileMenu, SIGNAL(aboutToHide(void)), this, SLOT(mainMenuClose(void)) );
|
||||||
|
|
||||||
// File -> Open ROM
|
// File -> Open ROM
|
||||||
openROM = new QAction(tr("&Open ROM"), this);
|
openROM = new QAction(tr("&Open ROM"), this);
|
||||||
//openROM->setShortcuts(QKeySequence::Open);
|
//openROM->setShortcuts(QKeySequence::Open);
|
||||||
|
@ -808,6 +815,9 @@ void consoleWin_t::createMainMenu(void)
|
||||||
// Options
|
// Options
|
||||||
optMenu = menubar->addMenu(tr("&Options"));
|
optMenu = menubar->addMenu(tr("&Options"));
|
||||||
|
|
||||||
|
connect( optMenu, SIGNAL(aboutToShow(void)), this, SLOT(mainMenuOpen(void)) );
|
||||||
|
connect( optMenu, SIGNAL(aboutToHide(void)), this, SLOT(mainMenuClose(void)) );
|
||||||
|
|
||||||
// Options -> Input Config
|
// Options -> Input Config
|
||||||
inputConfig = new QAction(tr("&Input Config"), this);
|
inputConfig = new QAction(tr("&Input Config"), this);
|
||||||
//inputConfig->setShortcut( QKeySequence(tr("Ctrl+C")));
|
//inputConfig->setShortcut( QKeySequence(tr("Ctrl+C")));
|
||||||
|
@ -928,6 +938,9 @@ void consoleWin_t::createMainMenu(void)
|
||||||
// Emulation
|
// Emulation
|
||||||
emuMenu = menubar->addMenu(tr("&Emulation"));
|
emuMenu = menubar->addMenu(tr("&Emulation"));
|
||||||
|
|
||||||
|
connect( emuMenu, SIGNAL(aboutToShow(void)), this, SLOT(mainMenuOpen(void)) );
|
||||||
|
connect( emuMenu, SIGNAL(aboutToHide(void)), this, SLOT(mainMenuClose(void)) );
|
||||||
|
|
||||||
// Emulation -> Power
|
// Emulation -> Power
|
||||||
powerAct = new QAction(tr("&Power"), this);
|
powerAct = new QAction(tr("&Power"), this);
|
||||||
//powerAct->setShortcut( QKeySequence(tr("Ctrl+P")));
|
//powerAct->setShortcut( QKeySequence(tr("Ctrl+P")));
|
||||||
|
@ -1221,6 +1234,9 @@ void consoleWin_t::createMainMenu(void)
|
||||||
// Tools
|
// Tools
|
||||||
toolsMenu = menubar->addMenu(tr("&Tools"));
|
toolsMenu = menubar->addMenu(tr("&Tools"));
|
||||||
|
|
||||||
|
connect( toolsMenu, SIGNAL(aboutToShow(void)), this, SLOT(mainMenuOpen(void)) );
|
||||||
|
connect( toolsMenu, SIGNAL(aboutToHide(void)), this, SLOT(mainMenuClose(void)) );
|
||||||
|
|
||||||
// Tools -> Cheats
|
// Tools -> Cheats
|
||||||
cheatsAct = new QAction(tr("&Cheats..."), this);
|
cheatsAct = new QAction(tr("&Cheats..."), this);
|
||||||
//cheatsAct->setShortcut( QKeySequence(tr("Shift+F7")));
|
//cheatsAct->setShortcut( QKeySequence(tr("Shift+F7")));
|
||||||
|
@ -1268,6 +1284,9 @@ void consoleWin_t::createMainMenu(void)
|
||||||
// Debug
|
// Debug
|
||||||
debugMenu = menubar->addMenu(tr("&Debug"));
|
debugMenu = menubar->addMenu(tr("&Debug"));
|
||||||
|
|
||||||
|
connect( debugMenu, SIGNAL(aboutToShow(void)), this, SLOT(mainMenuOpen(void)) );
|
||||||
|
connect( debugMenu, SIGNAL(aboutToHide(void)), this, SLOT(mainMenuClose(void)) );
|
||||||
|
|
||||||
// Debug -> Debugger
|
// Debug -> Debugger
|
||||||
debuggerAct = new QAction(tr("&Debugger..."), this);
|
debuggerAct = new QAction(tr("&Debugger..."), this);
|
||||||
//debuggerAct->setShortcut( QKeySequence(tr("Shift+F7")));
|
//debuggerAct->setShortcut( QKeySequence(tr("Shift+F7")));
|
||||||
|
@ -1336,6 +1355,9 @@ void consoleWin_t::createMainMenu(void)
|
||||||
// Movie
|
// Movie
|
||||||
movieMenu = menubar->addMenu(tr("&Movie"));
|
movieMenu = menubar->addMenu(tr("&Movie"));
|
||||||
|
|
||||||
|
connect( movieMenu, SIGNAL(aboutToShow(void)), this, SLOT(mainMenuOpen(void)) );
|
||||||
|
connect( movieMenu, SIGNAL(aboutToHide(void)), this, SLOT(mainMenuClose(void)) );
|
||||||
|
|
||||||
// Movie -> Play
|
// Movie -> Play
|
||||||
openMovAct = new QAction(tr("&Play"), this);
|
openMovAct = new QAction(tr("&Play"), this);
|
||||||
//openMovAct->setShortcut( QKeySequence(tr("Shift+F7")));
|
//openMovAct->setShortcut( QKeySequence(tr("Shift+F7")));
|
||||||
|
@ -1386,6 +1408,9 @@ void consoleWin_t::createMainMenu(void)
|
||||||
// Help
|
// Help
|
||||||
helpMenu = menubar->addMenu(tr("&Help"));
|
helpMenu = menubar->addMenu(tr("&Help"));
|
||||||
|
|
||||||
|
connect( helpMenu, SIGNAL(aboutToShow(void)), this, SLOT(mainMenuOpen(void)) );
|
||||||
|
connect( helpMenu, SIGNAL(aboutToHide(void)), this, SLOT(mainMenuClose(void)) );
|
||||||
|
|
||||||
// Help -> About FCEUX
|
// Help -> About FCEUX
|
||||||
aboutAct = new QAction(tr("&About FCEUX"), this);
|
aboutAct = new QAction(tr("&About FCEUX"), this);
|
||||||
aboutAct->setStatusTip(tr("About FCEUX"));
|
aboutAct->setStatusTip(tr("About FCEUX"));
|
||||||
|
@ -2117,6 +2142,35 @@ void consoleWin_t::decrementState(void)
|
||||||
fceuWrapperUnLock();
|
fceuWrapperUnLock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void consoleWin_t::mainMenuOpen(void)
|
||||||
|
{
|
||||||
|
//printf("Main Menu Open\n");
|
||||||
|
|
||||||
|
mainMenuEmuWasPaused = FCEUI_EmulationPaused() ? true : false;
|
||||||
|
|
||||||
|
if ( mainMenuPauseWhenActv && !mainMenuEmuPauseSet && !mainMenuEmuWasPaused )
|
||||||
|
{
|
||||||
|
FCEUI_ToggleEmulationPause();
|
||||||
|
mainMenuEmuPauseSet = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void consoleWin_t::mainMenuClose(void)
|
||||||
|
{
|
||||||
|
//printf("Main Menu Close\n");
|
||||||
|
|
||||||
|
if ( mainMenuEmuPauseSet )
|
||||||
|
{
|
||||||
|
bool isPaused = FCEUI_EmulationPaused() ? true : false;
|
||||||
|
|
||||||
|
if ( isPaused != mainMenuEmuWasPaused )
|
||||||
|
{
|
||||||
|
FCEUI_ToggleEmulationPause();
|
||||||
|
}
|
||||||
|
mainMenuEmuPauseSet = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void consoleWin_t::takeScreenShot(void)
|
void consoleWin_t::takeScreenShot(void)
|
||||||
{
|
{
|
||||||
fceuWrapperLock();
|
fceuWrapperLock();
|
||||||
|
@ -2410,6 +2464,8 @@ void consoleWin_t::consolePause(void)
|
||||||
fceuWrapperLock();
|
fceuWrapperLock();
|
||||||
fceuWrapperTogglePause();
|
fceuWrapperTogglePause();
|
||||||
fceuWrapperUnLock();
|
fceuWrapperUnLock();
|
||||||
|
|
||||||
|
mainMenuEmuPauseSet = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -199,6 +199,9 @@ class consoleWin_t : public QMainWindow
|
||||||
bool closeRequested;
|
bool closeRequested;
|
||||||
bool recentRomMenuReset;
|
bool recentRomMenuReset;
|
||||||
bool firstResize;
|
bool firstResize;
|
||||||
|
bool mainMenuEmuPauseSet;
|
||||||
|
bool mainMenuEmuWasPaused;
|
||||||
|
bool mainMenuPauseWhenActv;
|
||||||
|
|
||||||
std::list <std::string*> romList;
|
std::list <std::string*> romList;
|
||||||
|
|
||||||
|
@ -338,6 +341,8 @@ class consoleWin_t : public QMainWindow
|
||||||
void loadState7(void);
|
void loadState7(void);
|
||||||
void loadState8(void);
|
void loadState8(void);
|
||||||
void loadState9(void);
|
void loadState9(void);
|
||||||
|
void mainMenuOpen(void);
|
||||||
|
void mainMenuClose(void);
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue