refactor: Exit Fullscreen & Mouse Panning Hotkeys to GRenderWindow

Signed-off-by: Collecting <collecting@noreply.localhost>
This commit is contained in:
Collecting
2025-12-10 11:36:15 +00:00
parent 4b00e25d8c
commit 69aa33f824

View File

@@ -1,9 +1,12 @@
// SPDX-FileCopyrightText: 2023 yuzu Emulator Project // SPDX-FileCopyrightText: 2023 yuzu Emulator Project
// SPDX-FileCopyrightText: 2025 citron Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include <QCloseEvent> #include <QCloseEvent>
#include <QMessageBox> #include <QMessageBox>
#include "citron/main.h"
#include "citron/bootmanager.h"
#include "common/settings.h" #include "common/settings.h"
#include "ui_configure_mouse_panning.h" #include "ui_configure_mouse_panning.h"
#include "citron/configuration/configure_mouse_panning.h" #include "citron/configuration/configure_mouse_panning.h"
@@ -69,7 +72,14 @@ void ConfigureMousePanning::ConnectEvents() {
} }
void ConfigureMousePanning::ApplyConfiguration() { void ConfigureMousePanning::ApplyConfiguration() {
GMainWindow* main_window = qobject_cast<GMainWindow*>(this->parent());
if (main_window) {
main_window->GetRenderWindow()->SetMousePanningState(ui->enable->isChecked());
} else {
Settings::values.mouse_panning = ui->enable->isChecked(); Settings::values.mouse_panning = ui->enable->isChecked();
}
Settings::values.mouse_panning_x_sensitivity = static_cast<float>(ui->x_sensitivity->value()); Settings::values.mouse_panning_x_sensitivity = static_cast<float>(ui->x_sensitivity->value());
Settings::values.mouse_panning_y_sensitivity = static_cast<float>(ui->y_sensitivity->value()); Settings::values.mouse_panning_y_sensitivity = static_cast<float>(ui->y_sensitivity->value());
Settings::values.mouse_panning_deadzone_counterweight = Settings::values.mouse_panning_deadzone_counterweight =
@@ -78,7 +88,11 @@ void ConfigureMousePanning::ApplyConfiguration() {
Settings::values.mouse_panning_min_decay = static_cast<float>(ui->min_decay->value()); Settings::values.mouse_panning_min_decay = static_cast<float>(ui->min_decay->value());
if (Settings::values.mouse_enabled && Settings::values.mouse_panning) { if (Settings::values.mouse_enabled && Settings::values.mouse_panning) {
if (main_window) {
main_window->GetRenderWindow()->SetMousePanningState(false);
} else {
Settings::values.mouse_panning = false; Settings::values.mouse_panning = false;
}
QMessageBox::critical( QMessageBox::critical(
this, tr("Emulated mouse is enabled"), this, tr("Emulated mouse is enabled"),
tr("Real mouse input and mouse panning are incompatible. Please disable the " tr("Real mouse input and mouse panning are incompatible. Please disable the "