DolphinQt: Disable Display Sleep on Windows.

Disables Display Sleeping on Windows on DolphinQt while the game runs,
and re-enables it after the game closes.
This commit is contained in:
Corwin Mcknight 2015-09-08 17:20:36 -07:00
parent 8f13d50a4e
commit b2e4019383
2 changed files with 21 additions and 3 deletions

View File

@ -138,11 +138,27 @@ void DMainWindow::StartGame(const QString filename)
}
else
{
// TODO: Disable screensaver!
DisableScreensaver();
emit CoreStateChanged(Core::CORE_RUN);
}
}
void DMainWindow::DisableScreensaver()
{
#ifdef Q_OS_WIN
// Prevents Windows from sleeping or turning off the display
SetThreadExecutionState(ES_CONTINUOUS | ES_DISPLAY_REQUIRED);
#endif
}
void DMainWindow::EnableScreensaver()
{
#ifdef Q_OS_WIN
// Allows Windows to sleep and turn off the display
SetThreadExecutionState(ES_CONTINUOUS);
#endif
}
QString DMainWindow::RequestBootFilename()
{
// If a game is already selected, just return the filename
@ -263,8 +279,7 @@ bool DMainWindow::Stop()
// TODO: Show the author/description dialog here
BootManager::Stop();
// TODO: Allow screensaver again
EnableScreensaver();
// TODO: Restore original window title
// TODO:

View File

@ -68,6 +68,9 @@ private:
std::unique_ptr<Ui::DMainWindow> m_ui;
DGameTracker* m_game_tracker;
// Misc.
void DisableScreensaver();
void EnableScreensaver();
// Emulation
QString RequestBootFilename();
QString ShowFileDialog();