|
|
@ -1134,6 +1134,7 @@ void GMainWindow::BootGame(const QString& filename, std::size_t program_index) {
|
|
|
|
[this](std::size_t program_index) { render_window->ExecuteProgram(program_index); });
|
|
|
|
[this](std::size_t program_index) { render_window->ExecuteProgram(program_index); });
|
|
|
|
|
|
|
|
|
|
|
|
connect(render_window, &GRenderWindow::Closed, this, &GMainWindow::OnStopGame);
|
|
|
|
connect(render_window, &GRenderWindow::Closed, this, &GMainWindow::OnStopGame);
|
|
|
|
|
|
|
|
connect(render_window, &GRenderWindow::MouseActivity, this, &GMainWindow::OnMouseActivity);
|
|
|
|
// BlockingQueuedConnection is important here, it makes sure we've finished refreshing our views
|
|
|
|
// BlockingQueuedConnection is important here, it makes sure we've finished refreshing our views
|
|
|
|
// before the CPU continues
|
|
|
|
// before the CPU continues
|
|
|
|
connect(emu_thread.get(), &EmuThread::DebugModeEntered, waitTreeWidget,
|
|
|
|
connect(emu_thread.get(), &EmuThread::DebugModeEntered, waitTreeWidget,
|
|
|
@ -1157,8 +1158,8 @@ void GMainWindow::BootGame(const QString& filename, std::size_t program_index) {
|
|
|
|
|
|
|
|
|
|
|
|
if (UISettings::values.hide_mouse) {
|
|
|
|
if (UISettings::values.hide_mouse) {
|
|
|
|
mouse_hide_timer.start();
|
|
|
|
mouse_hide_timer.start();
|
|
|
|
setMouseTracking(true);
|
|
|
|
render_window->installEventFilter(render_window);
|
|
|
|
ui.centralwidget->setMouseTracking(true);
|
|
|
|
render_window->setAttribute(Qt::WA_Hover, true);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
std::string title_name;
|
|
|
|
std::string title_name;
|
|
|
@ -1235,8 +1236,8 @@ void GMainWindow::ShutdownGame() {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
game_list->SetFilterFocus();
|
|
|
|
game_list->SetFilterFocus();
|
|
|
|
|
|
|
|
|
|
|
|
setMouseTracking(false);
|
|
|
|
render_window->removeEventFilter(render_window);
|
|
|
|
ui.centralwidget->setMouseTracking(false);
|
|
|
|
render_window->setAttribute(Qt::WA_Hover, false);
|
|
|
|
|
|
|
|
|
|
|
|
UpdateWindowTitle();
|
|
|
|
UpdateWindowTitle();
|
|
|
|
|
|
|
|
|
|
|
@ -2317,12 +2318,12 @@ void GMainWindow::OnConfigure() {
|
|
|
|
config->Save();
|
|
|
|
config->Save();
|
|
|
|
|
|
|
|
|
|
|
|
if (UISettings::values.hide_mouse && emulation_running) {
|
|
|
|
if (UISettings::values.hide_mouse && emulation_running) {
|
|
|
|
setMouseTracking(true);
|
|
|
|
render_window->installEventFilter(render_window);
|
|
|
|
ui.centralwidget->setMouseTracking(true);
|
|
|
|
render_window->setAttribute(Qt::WA_Hover, true);
|
|
|
|
mouse_hide_timer.start();
|
|
|
|
mouse_hide_timer.start();
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
setMouseTracking(false);
|
|
|
|
render_window->removeEventFilter(render_window);
|
|
|
|
ui.centralwidget->setMouseTracking(false);
|
|
|
|
render_window->setAttribute(Qt::WA_Hover, false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
UpdateStatusButtons();
|
|
|
|
UpdateStatusButtons();
|
|
|
@ -2565,21 +2566,17 @@ void GMainWindow::HideMouseCursor() {
|
|
|
|
ShowMouseCursor();
|
|
|
|
ShowMouseCursor();
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
setCursor(QCursor(Qt::BlankCursor));
|
|
|
|
render_window->setCursor(QCursor(Qt::BlankCursor));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void GMainWindow::ShowMouseCursor() {
|
|
|
|
void GMainWindow::ShowMouseCursor() {
|
|
|
|
unsetCursor();
|
|
|
|
render_window->unsetCursor();
|
|
|
|
if (emu_thread != nullptr && UISettings::values.hide_mouse) {
|
|
|
|
if (emu_thread != nullptr && UISettings::values.hide_mouse) {
|
|
|
|
mouse_hide_timer.start();
|
|
|
|
mouse_hide_timer.start();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void GMainWindow::mouseMoveEvent(QMouseEvent* event) {
|
|
|
|
void GMainWindow::OnMouseActivity() {
|
|
|
|
ShowMouseCursor();
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void GMainWindow::mousePressEvent(QMouseEvent* event) {
|
|
|
|
|
|
|
|
ShowMouseCursor();
|
|
|
|
ShowMouseCursor();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|