|
|
|
@ -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);
|
|
|
|
@ -2320,6 +2338,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();
|
|
|
|
|