implement resume message
This commit is contained in:
		@@ -636,6 +636,10 @@ void AppletMessageQueue::RequestExit() {
 | 
			
		||||
    PushMessage(AppletMessage::Exit);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AppletMessageQueue::RequestResume() {
 | 
			
		||||
    PushMessage(AppletMessage::Resume);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AppletMessageQueue::FocusStateChanged() {
 | 
			
		||||
    PushMessage(AppletMessage::FocusStateChanged);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -90,6 +90,7 @@ public:
 | 
			
		||||
    AppletMessage PopMessage();
 | 
			
		||||
    std::size_t GetMessageCount() const;
 | 
			
		||||
    void RequestExit();
 | 
			
		||||
    void RequestResume();
 | 
			
		||||
    void FocusStateChanged();
 | 
			
		||||
    void OperationModeChanged();
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1131,6 +1131,7 @@ void GMainWindow::OnAppFocusStateChanged(Qt::ApplicationState state) {
 | 
			
		||||
            OnPauseGame();
 | 
			
		||||
        } else if (!emu_thread->IsRunning() && auto_paused && state == Qt::ApplicationActive) {
 | 
			
		||||
            auto_paused = false;
 | 
			
		||||
            RequestGameResume();
 | 
			
		||||
            OnStartGame();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@@ -2570,6 +2571,7 @@ void GMainWindow::OnPauseContinueGame() {
 | 
			
		||||
        if (emu_thread->IsRunning()) {
 | 
			
		||||
            OnPauseGame();
 | 
			
		||||
        } else {
 | 
			
		||||
            RequestGameResume();
 | 
			
		||||
            OnStartGame();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@@ -3749,6 +3751,21 @@ void GMainWindow::RequestGameExit() {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void GMainWindow::RequestGameResume() {
 | 
			
		||||
    auto& sm{system->ServiceManager()};
 | 
			
		||||
    auto applet_oe = sm.GetService<Service::AM::AppletOE>("appletOE");
 | 
			
		||||
    auto applet_ae = sm.GetService<Service::AM::AppletAE>("appletAE");
 | 
			
		||||
 | 
			
		||||
    if (applet_oe != nullptr) {
 | 
			
		||||
        applet_oe->GetMessageQueue()->RequestResume();
 | 
			
		||||
        return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (applet_ae != nullptr) {
 | 
			
		||||
        applet_ae->GetMessageQueue()->RequestResume();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void GMainWindow::filterBarSetChecked(bool state) {
 | 
			
		||||
    ui->action_Show_Filter_Bar->setChecked(state);
 | 
			
		||||
    emit(OnToggleFilterBar());
 | 
			
		||||
 
 | 
			
		||||
@@ -244,6 +244,7 @@ private:
 | 
			
		||||
    bool ConfirmChangeGame();
 | 
			
		||||
    bool ConfirmForceLockedExit();
 | 
			
		||||
    void RequestGameExit();
 | 
			
		||||
    void RequestGameResume();
 | 
			
		||||
    void closeEvent(QCloseEvent* event) override;
 | 
			
		||||
 | 
			
		||||
private slots:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user