Qt: Clear active buttons when focus is lost

This commit is contained in:
Jeffrey Pfau 2015-01-02 02:03:12 -08:00
parent 3384863382
commit 569e6ef7db
5 changed files with 13 additions and 0 deletions

View File

@ -47,6 +47,7 @@ Misc:
- Qt: Set default log level to FATAL, ERROR and WARN
- Qt: Clarify some phrasing in the menus
- GBA Memory: Implement 16- and 32-bit loads from SRAM
- Qt: Clear active buttons when focus is lost
0.1.0: (2014-12-13)
- Initial release

View File

@ -310,6 +310,11 @@ void GameController::keyReleased(int key) {
updateKeys();
}
void GameController::clearKeys() {
m_activeKeys = 0;
updateKeys();
}
void GameController::setAudioBufferSamples(int samples) {
threadInterrupt();
redoSamples(samples);

View File

@ -82,6 +82,7 @@ public slots:
void frameAdvance();
void keyPressed(int key);
void keyReleased(int key);
void clearKeys();
void setAudioBufferSamples(int samples);
void setFPSTarget(float fps);
void loadState(int slot);

View File

@ -306,6 +306,11 @@ void Window::closeEvent(QCloseEvent* event) {
QMainWindow::closeEvent(event);
}
void Window::focusOutEvent(QFocusEvent*) {
m_controller->setTurbo(false, false);
m_controller->clearKeys();
}
void Window::toggleFullScreen() {
if (isFullScreen()) {
showNormal();

View File

@ -86,6 +86,7 @@ protected:
virtual void keyReleaseEvent(QKeyEvent* event) override;
virtual void resizeEvent(QResizeEvent*) override;
virtual void closeEvent(QCloseEvent*) override;
virtual void focusOutEvent(QFocusEvent*) override;
private slots:
void gameStarted(GBAThread*);