|
|
|
@ -675,6 +675,24 @@ void GMainWindow::RestoreUIState() { |
|
|
|
Debugger::ToggleConsole(); |
|
|
|
} |
|
|
|
|
|
|
|
void GMainWindow::OnAppFocusStateChanged(Qt::ApplicationState state) { |
|
|
|
if (!UISettings::values.pause_when_in_background) { |
|
|
|
return; |
|
|
|
} |
|
|
|
if (state != Qt::ApplicationHidden && state != Qt::ApplicationInactive && |
|
|
|
state != Qt::ApplicationActive) { |
|
|
|
LOG_DEBUG(Frontend, "ApplicationState unusual flag: {} ", state); |
|
|
|
} |
|
|
|
if (ui.action_Pause->isEnabled() && |
|
|
|
(state & (Qt::ApplicationHidden | Qt::ApplicationInactive))) { |
|
|
|
auto_paused = true; |
|
|
|
OnPauseGame(); |
|
|
|
} else if (ui.action_Start->isEnabled() && auto_paused && state == Qt::ApplicationActive) { |
|
|
|
auto_paused = false; |
|
|
|
OnStartGame(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void GMainWindow::ConnectWidgetEvents() { |
|
|
|
connect(game_list, &GameList::GameChosen, this, &GMainWindow::OnGameListLoadFile); |
|
|
|
connect(game_list, &GameList::OpenDirectory, this, &GMainWindow::OnGameListOpenDirectory); |
|
|
|
@ -2311,6 +2329,9 @@ int main(int argc, char* argv[]) { |
|
|
|
// After settings have been loaded by GMainWindow, apply the filter
|
|
|
|
main_window.show(); |
|
|
|
|
|
|
|
QObject::connect(&app, &QGuiApplication::applicationStateChanged, &main_window, |
|
|
|
&GMainWindow::OnAppFocusStateChanged); |
|
|
|
|
|
|
|
Settings::LogSettings(); |
|
|
|
|
|
|
|
int result = app.exec(); |
|
|
|
|