diff options
author | german <german@thesoftwareartisans.com> | 2021-02-04 15:54:27 +0100 |
---|---|---|
committer | german <german@thesoftwareartisans.com> | 2021-02-06 16:43:42 +0100 |
commit | 160341fcf8e22715e6156cbc73663bb5f8666e46 (patch) | |
tree | cc8b15e85bc637ad189feb123104359c393a07fe | |
parent | Refresh controller only when necessary (diff) | |
download | yuzu-160341fcf8e22715e6156cbc73663bb5f8666e46.tar yuzu-160341fcf8e22715e6156cbc73663bb5f8666e46.tar.gz yuzu-160341fcf8e22715e6156cbc73663bb5f8666e46.tar.bz2 yuzu-160341fcf8e22715e6156cbc73663bb5f8666e46.tar.lz yuzu-160341fcf8e22715e6156cbc73663bb5f8666e46.tar.xz yuzu-160341fcf8e22715e6156cbc73663bb5f8666e46.tar.zst yuzu-160341fcf8e22715e6156cbc73663bb5f8666e46.zip |
-rw-r--r-- | src/yuzu/debugger/controller.cpp | 16 | ||||
-rw-r--r-- | src/yuzu/debugger/controller.h | 3 | ||||
-rw-r--r-- | src/yuzu/main.cpp | 7 | ||||
-rw-r--r-- | src/yuzu/main.h | 2 |
4 files changed, 18 insertions, 10 deletions
diff --git a/src/yuzu/debugger/controller.cpp b/src/yuzu/debugger/controller.cpp index 23834f063..85724a8f3 100644 --- a/src/yuzu/debugger/controller.cpp +++ b/src/yuzu/debugger/controller.cpp @@ -18,12 +18,8 @@ ControllerDialog::ControllerDialog(QWidget* parent) : QWidget(parent, Qt::Dialog setWindowFlags((windowFlags() & ~Qt::WindowContextHelpButtonHint) | Qt::WindowMaximizeButtonHint); - PlayerControlPreview* widget = new PlayerControlPreview(this); - const auto& players = Settings::values.players.GetValue(); - constexpr std::size_t player = 0; - widget->SetPlayerInputRaw(player, players[player].buttons, players[player].analogs); - widget->SetConnectedStatus(players[player].connected); - widget->SetControllerType(players[player].controller_type); + widget = new PlayerControlPreview(this); + refreshConfiguration(); QLayout* layout = new QVBoxLayout(this); layout->setContentsMargins(0, 0, 0, 0); layout->addWidget(widget); @@ -36,6 +32,14 @@ ControllerDialog::ControllerDialog(QWidget* parent) : QWidget(parent, Qt::Dialog widget->setFocus(); } +void ControllerDialog::refreshConfiguration() { + const auto& players = Settings::values.players.GetValue(); + constexpr std::size_t player = 0; + widget->SetPlayerInputRaw(player, players[player].buttons, players[player].analogs); + widget->SetConnectedStatus(players[player].connected); + widget->SetControllerType(players[player].controller_type); +} + QAction* ControllerDialog::toggleViewAction() { if (toggle_view_action == nullptr) { toggle_view_action = new QAction(windowTitle(), this); diff --git a/src/yuzu/debugger/controller.h b/src/yuzu/debugger/controller.h index da389b6a2..c54750070 100644 --- a/src/yuzu/debugger/controller.h +++ b/src/yuzu/debugger/controller.h @@ -9,6 +9,7 @@ class QAction; class QHideEvent; class QShowEvent; +class PlayerControlPreview; class ControllerDialog : public QWidget { Q_OBJECT @@ -18,6 +19,7 @@ public: /// Returns a QAction that can be used to toggle visibility of this dialog. QAction* toggleViewAction(); + void refreshConfiguration(); protected: void showEvent(QShowEvent* ev) override; @@ -25,4 +27,5 @@ protected: private: QAction* toggle_view_action = nullptr; + PlayerControlPreview* widget; }; diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index f6f902fab..ef92c25bc 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -690,9 +690,9 @@ void GMainWindow::InitializeDebugWidgets() { waitTreeWidget->hide(); debug_menu->addAction(waitTreeWidget->toggleViewAction()); - controllerDialog = new ControllerDialog(this); - controllerDialog->hide(); - debug_menu->addAction(controllerDialog->toggleViewAction()); + controller_dialog = new ControllerDialog(this); + controller_dialog->hide(); + debug_menu->addAction(controller_dialog->toggleViewAction()); connect(this, &GMainWindow::EmulationStarting, waitTreeWidget, &WaitTreeWidget::OnEmulationStarting); @@ -2342,6 +2342,7 @@ void GMainWindow::OnConfigure() { } configure_dialog.ApplyConfiguration(); + controller_dialog->refreshConfiguration(); InitializeHotkeys(); if (UISettings::values.theme != old_theme) { UpdateUITheme(); diff --git a/src/yuzu/main.h b/src/yuzu/main.h index f4a71ea11..04d37d4ae 100644 --- a/src/yuzu/main.h +++ b/src/yuzu/main.h @@ -314,7 +314,7 @@ private: ProfilerWidget* profilerWidget; MicroProfileDialog* microProfileDialog; WaitTreeWidget* waitTreeWidget; - ControllerDialog* controllerDialog; + ControllerDialog* controller_dialog; QAction* actions_recent_files[max_recent_files_item]; |