Refresh debug controller settings

This commit is contained in:
german 2021-02-04 08:54:27 -06:00
parent d6a0975e5d
commit 160341fcf8
4 changed files with 18 additions and 10 deletions

View File

@ -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);

View File

@ -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;
};

View File

@ -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();

View File

@ -314,7 +314,7 @@ private:
ProfilerWidget* profilerWidget;
MicroProfileDialog* microProfileDialog;
WaitTreeWidget* waitTreeWidget;
ControllerDialog* controllerDialog;
ControllerDialog* controller_dialog;
QAction* actions_recent_files[max_recent_files_item];