diff --git a/src/citra_qt/CMakeLists.txt b/src/citra_qt/CMakeLists.txt index c63b647c9..9c6a74c29 100644 --- a/src/citra_qt/CMakeLists.txt +++ b/src/citra_qt/CMakeLists.txt @@ -27,10 +27,10 @@ set(SRCS ) set(HEADERS - config/inputs.h - config/QLineEditKeyConfig.h config/controller_config.h config/controller_config_util.h + config/inputs.h + config/QLineEditKeyConfig.h config.h debugger/callstack.h debugger/disassembler.h @@ -54,7 +54,6 @@ set(HEADERS set(UIS config/controller_config.ui - config/inputs.ui debugger/callstack.ui debugger/disassembler.ui debugger/profiler.ui diff --git a/src/citra_qt/config/QLineEditKeyConfig.cpp b/src/citra_qt/config/QLineEditKeyConfig.cpp index 8f52fbe52..f9b2779cc 100644 --- a/src/citra_qt/config/QLineEditKeyConfig.cpp +++ b/src/citra_qt/config/QLineEditKeyConfig.cpp @@ -5,19 +5,25 @@ #include "QLineEditKeyConfig.h" #include "inputs.h" #include -#include -QLineEditKeyConfig::QLineEditKeyConfig(QWidget* parent) : QLineEdit(parent) {} +std::map ButtonNameMap({ + { Button::A, "A" }, { Button::B, "B" }, { Button::X, "X" }, { Button::Y, "Y" }, + { Button::L, "L" }, { Button::R, "R" }, { Button::ZL, "ZL" }, { Button::ZR, "ZR" }, + { Button::DLeft, "D-Left" }, { Button::DRight, "D-Right" }, { Button::DUp, "D-Up" }, { Button::DDown, "D-Down" }, + { Button::SLeft, "S-Left" }, { Button::SRight, "S-Right" }, { Button::SUp, "S-Up" }, { Button::SDown, "S-Down" }, + { Button::CLeft, "C-Left" }, { Button::CRight, "C-Right" }, { Button::CUp, "C-Up" }, { Button::CDown, "C-Down" }, + { Button::Start, "Start" }, { Button::Select, "Select" }, { Button::Home, "Home" } } +); + +QLineEditKeyConfig::QLineEditKeyConfig(Settings::Values& temp_settings, Button button, QWidget* parent) + : button(button), temp_settings(temp_settings), QLineEdit(parent) {} void QLineEditKeyConfig::keyPressEvent(QKeyEvent* event) { - QString key_name = GInputsDialog::getKeyName(event->key()); - this->setText(key_name); - - GInputsDialog* parent_dialog = static_cast(this->parent()->parent()); - Settings::Values& temp_settings = parent_dialog->temp_settings; + QString key_name = GInputsDialog::GetKeyName(event->key()); + setText(key_name); int key = event->key(); - switch (this->button) { + switch (button) { case Button::A: temp_settings.pad_a_key = key; break; @@ -36,14 +42,11 @@ void QLineEditKeyConfig::keyPressEvent(QKeyEvent* event) { case Button::R: temp_settings.pad_r_key = key; break; - case Button::Start: - temp_settings.pad_start_key = key; + case Button::ZL: + temp_settings.pad_zl_key = key; break; - case Button::Select: - temp_settings.pad_select_key = key; - break; - case Button::Home: - temp_settings.pad_home_key = key; + case Button::ZR: + temp_settings.pad_zr_key = key; break; case Button::DUp: temp_settings.pad_dup_key = key; @@ -69,6 +72,27 @@ void QLineEditKeyConfig::keyPressEvent(QKeyEvent* event) { case Button::SRight: temp_settings.pad_sright_key = key; break; + case Button::CUp: + temp_settings.pad_cup_key = key; + break; + case Button::CDown: + temp_settings.pad_cdown_key = key; + break; + case Button::CLeft: + temp_settings.pad_cleft_key = key; + break; + case Button::CRight: + temp_settings.pad_cright_key = key; + break; + case Button::Home: + temp_settings.pad_home_key = key; + break; + case Button::Start: + temp_settings.pad_start_key = key; + break; + case Button::Select: + temp_settings.pad_select_key = key; + break; default: break; } diff --git a/src/citra_qt/config/QLineEditKeyConfig.h b/src/citra_qt/config/QLineEditKeyConfig.h index c22270475..7a68d7469 100644 --- a/src/citra_qt/config/QLineEditKeyConfig.h +++ b/src/citra_qt/config/QLineEditKeyConfig.h @@ -5,22 +5,32 @@ #pragma once #include +#include +#include "../core/settings.h" class QKeyEvent; /// An enum for the buttons on the 3DS enum Button { - A, B, X, Y, L, R, Start, Select, Home, + A, B, X, Y, L, R, ZL, ZR, DUp, DDown, DLeft, DRight, - SUp, SDown, SLeft, SRight + SUp, SDown, SLeft, SRight, + CUp, CDown, CLeft, CRight, + Start, Select, Home }; +/// Map a button to its name +extern std::map ButtonNameMap; + /// The LineEdits used for button configuration class QLineEditKeyConfig : public QLineEdit { Q_OBJECT public: Button button; - QLineEditKeyConfig(QWidget* parent); + QLineEditKeyConfig(Settings::Values& temp_settings, Button button, QWidget* parent = nullptr); void keyPressEvent(QKeyEvent* event) override; + +private: + Settings::Values& temp_settings; }; diff --git a/src/citra_qt/config/inputs.cpp b/src/citra_qt/config/inputs.cpp index 43ace3f78..0fa74438b 100644 --- a/src/citra_qt/config/inputs.cpp +++ b/src/citra_qt/config/inputs.cpp @@ -7,68 +7,117 @@ #include #include #include +#include +#include +#include #include "config.h" #include "inputs.h" -#include "QLineEditKeyConfig.h" GInputsDialog::GInputsDialog(QWidget* parent) : QDialog(parent) { - ui.setupUi(this); + // create a copy of the current settings + temp_settings = Settings::Values(Settings::values); - // setup the LineEdits - this->ui.lineEdit_A->button = Button::A; - this->ui.lineEdit_B->button = Button::B; - this->ui.lineEdit_X->button = Button::X; - this->ui.lineEdit_Y->button = Button::Y; - this->ui.lineEdit_L->button = Button::L; - this->ui.lineEdit_R->button = Button::R; - this->ui.lineEdit_Start->button = Button::Start; - this->ui.lineEdit_Select->button = Button::Select; - this->ui.lineEdit_Home->button = Button::Home; - this->ui.lineEdit_dUp->button = Button::DUp; - this->ui.lineEdit_dDown->button = Button::DDown; - this->ui.lineEdit_dLeft->button = Button::DLeft; - this->ui.lineEdit_dRight->button = Button::DRight; - this->ui.lineEdit_sUp->button = Button::SUp; - this->ui.lineEdit_sDown->button = Button::SDown; - this->ui.lineEdit_sLeft->button = Button::SLeft; - this->ui.lineEdit_sRight->button = Button::SRight; + // create the lineEdits + lineEdit_A = new QLineEditKeyConfig(temp_settings, Button::A); + lineEdit_B = new QLineEditKeyConfig(temp_settings, Button::B); + lineEdit_X = new QLineEditKeyConfig(temp_settings, Button::X); + lineEdit_Y = new QLineEditKeyConfig(temp_settings, Button::Y); + lineEdit_L = new QLineEditKeyConfig(temp_settings, Button::L); + lineEdit_R = new QLineEditKeyConfig(temp_settings, Button::R); + lineEdit_ZL = new QLineEditKeyConfig(temp_settings, Button::ZL); + lineEdit_ZR = new QLineEditKeyConfig(temp_settings, Button::ZR); + lineEdit_dUp = new QLineEditKeyConfig(temp_settings, Button::DUp); + lineEdit_dDown = new QLineEditKeyConfig(temp_settings, Button::DDown); + lineEdit_dLeft = new QLineEditKeyConfig(temp_settings, Button::DLeft); + lineEdit_dRight = new QLineEditKeyConfig(temp_settings, Button::DRight); + lineEdit_sUp = new QLineEditKeyConfig(temp_settings, Button::SUp); + lineEdit_sDown = new QLineEditKeyConfig(temp_settings, Button::SDown); + lineEdit_sLeft = new QLineEditKeyConfig(temp_settings, Button::SLeft); + lineEdit_sRight = new QLineEditKeyConfig(temp_settings, Button::SRight); + lineEdit_cUp = new QLineEditKeyConfig(temp_settings, Button::CUp); + lineEdit_cDown = new QLineEditKeyConfig(temp_settings, Button::CDown); + lineEdit_cLeft = new QLineEditKeyConfig(temp_settings, Button::CLeft); + lineEdit_cRight = new QLineEditKeyConfig(temp_settings, Button::CRight); + lineEdit_Home = new QLineEditKeyConfig(temp_settings, Button::Home); + lineEdit_Start = new QLineEditKeyConfig(temp_settings, Button::Start); + lineEdit_Select = new QLineEditKeyConfig(temp_settings, Button::Select); + + lineEdits = {{ + lineEdit_A, lineEdit_B, lineEdit_X, lineEdit_Y, lineEdit_L, lineEdit_R, lineEdit_ZL, lineEdit_ZR, + lineEdit_dUp, lineEdit_dDown, lineEdit_dLeft, lineEdit_dRight, + lineEdit_sUp, lineEdit_sDown, lineEdit_sLeft, lineEdit_sRight, + lineEdit_cUp, lineEdit_cDown, lineEdit_cLeft, lineEdit_cRight, + lineEdit_Home, lineEdit_Start, lineEdit_Select + }}; + + // put the lineEdits and their labels into a grid + QGridLayout *grid = new QGridLayout(); + size_t size = lineEdits.size(); + for (size_t i = 0; i < size; i++) { + const int numRow = 8; + int row = i % numRow; + int labelColumn = i / numRow * 2; + QLineEditKeyConfig *lineEdit = lineEdits[i]; + QLabel *label = new QLabel(QString::fromStdString(ButtonNameMap[lineEdit->button])); + grid->addWidget(label, row, labelColumn); + grid->addWidget(lineEdit, row, labelColumn + 1); + } + + // the button box that contains the restore default/ok/cancel buttons + QVBoxLayout *verticalLayout = new QVBoxLayout(this); + QDialogButtonBox *buttonBox = new QDialogButtonBox(this); + buttonBox->setOrientation(Qt::Horizontal); + buttonBox->setStandardButtons(QDialogButtonBox::Cancel | QDialogButtonBox::Ok | QDialogButtonBox::RestoreDefaults); + + verticalLayout->addLayout(grid); + verticalLayout->addWidget(buttonBox); + + connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept())); + connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject())); + + setLayout(verticalLayout); + setWindowTitle(tr("Input Settings")); + resize(165, height()); // set up event handlers for the buttons - QPushButton* defaultButton = this->ui.buttonBox->button(QDialogButtonBox::RestoreDefaults); + QPushButton* defaultButton = buttonBox->button(QDialogButtonBox::RestoreDefaults); connect(defaultButton, SIGNAL(clicked()), this, SLOT(RestoreDefaultSettings())); - QPushButton* okButton = this->ui.buttonBox->button(QDialogButtonBox::Ok); + QPushButton* okButton = buttonBox->button(QDialogButtonBox::Ok); connect(okButton, SIGNAL(clicked()), this, SLOT(SaveSettings())); - // create a copy of the current settings - this->temp_settings = Settings::Values(Settings::values); - // display current key settings - this->displayButtonSettings(Settings::values); + UpdateKeyLabels(); } -void GInputsDialog::displayButtonSettings(const Settings::Values& values) { - this->ui.lineEdit_A->setText(GInputsDialog::getKeyName(values.pad_a_key)); - this->ui.lineEdit_B->setText(GInputsDialog::getKeyName(values.pad_b_key)); - this->ui.lineEdit_X->setText(GInputsDialog::getKeyName(values.pad_x_key)); - this->ui.lineEdit_Y->setText(GInputsDialog::getKeyName(values.pad_y_key)); - this->ui.lineEdit_L->setText(GInputsDialog::getKeyName(values.pad_l_key)); - this->ui.lineEdit_R->setText(GInputsDialog::getKeyName(values.pad_r_key)); - this->ui.lineEdit_Start->setText(GInputsDialog::getKeyName(values.pad_start_key)); - this->ui.lineEdit_Select->setText(GInputsDialog::getKeyName(values.pad_select_key)); - this->ui.lineEdit_Home->setText(GInputsDialog::getKeyName(values.pad_home_key)); - this->ui.lineEdit_dUp->setText(GInputsDialog::getKeyName(values.pad_dup_key)); - this->ui.lineEdit_dDown->setText(GInputsDialog::getKeyName(values.pad_ddown_key)); - this->ui.lineEdit_dLeft->setText(GInputsDialog::getKeyName(values.pad_dleft_key)); - this->ui.lineEdit_dRight->setText(GInputsDialog::getKeyName(values.pad_dright_key)); - this->ui.lineEdit_sUp->setText(GInputsDialog::getKeyName(values.pad_sup_key)); - this->ui.lineEdit_sDown->setText(GInputsDialog::getKeyName(values.pad_sdown_key)); - this->ui.lineEdit_sLeft->setText(GInputsDialog::getKeyName(values.pad_sleft_key)); - this->ui.lineEdit_sRight->setText(GInputsDialog::getKeyName(values.pad_sright_key)); +void GInputsDialog::UpdateKeyLabels() { + lineEdit_A->setText(GetKeyName(temp_settings.pad_a_key)); + lineEdit_B->setText(GetKeyName(temp_settings.pad_b_key)); + lineEdit_X->setText(GetKeyName(temp_settings.pad_x_key)); + lineEdit_Y->setText(GetKeyName(temp_settings.pad_y_key)); + lineEdit_L->setText(GetKeyName(temp_settings.pad_l_key)); + lineEdit_R->setText(GetKeyName(temp_settings.pad_r_key)); + lineEdit_ZL->setText(GetKeyName(temp_settings.pad_zl_key)); + lineEdit_ZR->setText(GetKeyName(temp_settings.pad_zr_key)); + lineEdit_dUp->setText(GetKeyName(temp_settings.pad_dup_key)); + lineEdit_dDown->setText(GetKeyName(temp_settings.pad_ddown_key)); + lineEdit_dLeft->setText(GetKeyName(temp_settings.pad_dleft_key)); + lineEdit_dRight->setText(GetKeyName(temp_settings.pad_dright_key)); + lineEdit_sUp->setText(GetKeyName(temp_settings.pad_sup_key)); + lineEdit_sDown->setText(GetKeyName(temp_settings.pad_sdown_key)); + lineEdit_sLeft->setText(GetKeyName(temp_settings.pad_sleft_key)); + lineEdit_sRight->setText(GetKeyName(temp_settings.pad_sright_key)); + lineEdit_cUp->setText(GetKeyName(temp_settings.pad_cup_key)); + lineEdit_cDown->setText(GetKeyName(temp_settings.pad_cdown_key)); + lineEdit_cLeft->setText(GetKeyName(temp_settings.pad_cleft_key)); + lineEdit_cRight->setText(GetKeyName(temp_settings.pad_cright_key)); + lineEdit_Home->setText(GetKeyName(temp_settings.pad_home_key)); + lineEdit_Start->setText(GetKeyName(temp_settings.pad_start_key)); + lineEdit_Select->setText(GetKeyName(temp_settings.pad_select_key)); } -QString GInputsDialog::getKeyName(int key_code) { +QString GInputsDialog::GetKeyName(int key_code) { if (key_code == Qt::Key_Shift) return tr("Shift"); @@ -86,51 +135,66 @@ QString GInputsDialog::getKeyName(int key_code) { void GInputsDialog::RestoreDefaultSettings() { // load the default button settings into temp_settings - this->temp_settings.pad_a_key = Qt::Key_A; - this->temp_settings.pad_b_key = Qt::Key_S; - this->temp_settings.pad_x_key = Qt::Key_Z; - this->temp_settings.pad_y_key = Qt::Key_X; - this->temp_settings.pad_l_key = Qt::Key_Q; - this->temp_settings.pad_r_key = Qt::Key_W; - this->temp_settings.pad_start_key = Qt::Key_M; - this->temp_settings.pad_select_key = Qt::Key_N; - this->temp_settings.pad_home_key = Qt::Key_B; - this->temp_settings.pad_dup_key = Qt::Key_T; - this->temp_settings.pad_ddown_key = Qt::Key_G; - this->temp_settings.pad_dleft_key = Qt::Key_F; - this->temp_settings.pad_dright_key = Qt::Key_H; - this->temp_settings.pad_sup_key = Qt::Key_Up; - this->temp_settings.pad_sdown_key = Qt::Key_Down; - this->temp_settings.pad_sleft_key = Qt::Key_Left; - this->temp_settings.pad_sright_key = Qt::Key_Right; + temp_settings.pad_a_key = Qt::Key_A; + temp_settings.pad_b_key = Qt::Key_S; + temp_settings.pad_x_key = Qt::Key_Z; + temp_settings.pad_y_key = Qt::Key_X; + temp_settings.pad_l_key = Qt::Key_Q; + temp_settings.pad_r_key = Qt::Key_W; + temp_settings.pad_zl_key = Qt::Key_1; + temp_settings.pad_zr_key = Qt::Key_2; + + temp_settings.pad_dup_key = Qt::Key_T; + temp_settings.pad_ddown_key = Qt::Key_G; + temp_settings.pad_dleft_key = Qt::Key_F; + temp_settings.pad_dright_key = Qt::Key_H; + temp_settings.pad_sup_key = Qt::Key_Up; + temp_settings.pad_sdown_key = Qt::Key_Down; + temp_settings.pad_sleft_key = Qt::Key_Left; + temp_settings.pad_sright_key = Qt::Key_Right; + temp_settings.pad_cup_key = Qt::Key_I; + temp_settings.pad_cdown_key = Qt::Key_K; + temp_settings.pad_cleft_key = Qt::Key_J; + temp_settings.pad_cright_key = Qt::Key_L; + + temp_settings.pad_home_key = Qt::Key_B; + temp_settings.pad_start_key = Qt::Key_M; + temp_settings.pad_select_key = Qt::Key_N; // then display it - this->displayButtonSettings(GInputsDialog::temp_settings); + UpdateKeyLabels(); } void GInputsDialog::SaveSettings() { Config config; // load the temporary settings into our real settings - Settings::values.pad_a_key = this->temp_settings.pad_a_key; - Settings::values.pad_b_key = this->temp_settings.pad_b_key; - Settings::values.pad_x_key = this->temp_settings.pad_x_key; - Settings::values.pad_y_key = this->temp_settings.pad_y_key; - Settings::values.pad_l_key = this->temp_settings.pad_l_key; - Settings::values.pad_r_key = this->temp_settings.pad_r_key; - Settings::values.pad_start_key = this->temp_settings.pad_start_key; - Settings::values.pad_select_key = this->temp_settings.pad_select_key; - Settings::values.pad_home_key = this->temp_settings.pad_home_key; - Settings::values.pad_dup_key = this->temp_settings.pad_dup_key; - Settings::values.pad_ddown_key = this->temp_settings.pad_ddown_key; - Settings::values.pad_dleft_key = this->temp_settings.pad_dleft_key; - Settings::values.pad_dright_key = this->temp_settings.pad_dright_key; - Settings::values.pad_sup_key = this->temp_settings.pad_sup_key; - Settings::values.pad_sdown_key = this->temp_settings.pad_sdown_key; - Settings::values.pad_sleft_key = this->temp_settings.pad_sleft_key; - Settings::values.pad_sright_key = this->temp_settings.pad_sright_key; + Settings::values.pad_a_key = temp_settings.pad_a_key; + Settings::values.pad_b_key = temp_settings.pad_b_key; + Settings::values.pad_x_key = temp_settings.pad_x_key; + Settings::values.pad_y_key = temp_settings.pad_y_key; + Settings::values.pad_l_key = temp_settings.pad_l_key; + Settings::values.pad_r_key = temp_settings.pad_r_key; + Settings::values.pad_zl_key = temp_settings.pad_zl_key; + Settings::values.pad_zr_key = temp_settings.pad_zr_key; + + Settings::values.pad_dup_key = temp_settings.pad_dup_key; + Settings::values.pad_ddown_key = temp_settings.pad_ddown_key; + Settings::values.pad_dleft_key = temp_settings.pad_dleft_key; + Settings::values.pad_dright_key = temp_settings.pad_dright_key; + Settings::values.pad_sup_key = temp_settings.pad_sup_key; + Settings::values.pad_sdown_key = temp_settings.pad_sdown_key; + Settings::values.pad_sleft_key = temp_settings.pad_sleft_key; + Settings::values.pad_sright_key = temp_settings.pad_sright_key; + Settings::values.pad_cup_key = temp_settings.pad_cup_key; + Settings::values.pad_cdown_key = temp_settings.pad_cdown_key; + Settings::values.pad_cleft_key = temp_settings.pad_cleft_key; + Settings::values.pad_cright_key = temp_settings.pad_cright_key; + + Settings::values.pad_home_key = temp_settings.pad_home_key; + Settings::values.pad_start_key = temp_settings.pad_start_key; + Settings::values.pad_select_key = temp_settings.pad_select_key; // then save it config.Save(); - LOG_INFO(Config, "Input settings changed."); } diff --git a/src/citra_qt/config/inputs.h b/src/citra_qt/config/inputs.h index 185bc2a00..dcb725af6 100644 --- a/src/citra_qt/config/inputs.h +++ b/src/citra_qt/config/inputs.h @@ -4,10 +4,12 @@ #pragma once +#include + #include #include "../core/settings.h" -#include "ui_inputs.h" +#include "QLineEditKeyConfig.h" /// The input configuration dialog class GInputsDialog : public QDialog { @@ -16,17 +18,42 @@ class GInputsDialog : public QDialog { public: GInputsDialog(QWidget* parent = nullptr); - /// Temporary settings used when configuration is changed but not saved yet - Settings::Values temp_settings; - - /// Given a key code, return the key name. Needed for modifier keys - static QString getKeyName(int key_code); + /// Given a key code, return the key name. In addition to QKeySequence(key_code).toString(); this will translate modifier keys properly. + static QString GetKeyName(int key_code); private: - Ui::inputs ui; + QLineEditKeyConfig *lineEdit_A; + QLineEditKeyConfig *lineEdit_B; + QLineEditKeyConfig *lineEdit_X; + QLineEditKeyConfig *lineEdit_Y; + QLineEditKeyConfig *lineEdit_L; + QLineEditKeyConfig *lineEdit_R; + QLineEditKeyConfig *lineEdit_ZL; + QLineEditKeyConfig *lineEdit_ZR; + QLineEditKeyConfig *lineEdit_dUp; + QLineEditKeyConfig *lineEdit_dDown; + QLineEditKeyConfig *lineEdit_dLeft; + QLineEditKeyConfig *lineEdit_dRight; + QLineEditKeyConfig *lineEdit_sUp; + QLineEditKeyConfig *lineEdit_sDown; + QLineEditKeyConfig *lineEdit_sLeft; + QLineEditKeyConfig *lineEdit_sRight; + QLineEditKeyConfig *lineEdit_cUp; + QLineEditKeyConfig *lineEdit_cDown; + QLineEditKeyConfig *lineEdit_cLeft; + QLineEditKeyConfig *lineEdit_cRight; + QLineEditKeyConfig *lineEdit_Start; + QLineEditKeyConfig *lineEdit_Select; + QLineEditKeyConfig *lineEdit_Home; + + /// An array of all the lineEdits above for easy iterating though them + std::array lineEdits; /// Display the button settings on the LineEdits from the given values - void displayButtonSettings(const Settings::Values& values); + void UpdateKeyLabels(); + + /// Temporary settings used when configuration is changed but not saved yet + Settings::Values temp_settings; private slots: void SaveSettings(); diff --git a/src/citra_qt/config/inputs.ui b/src/citra_qt/config/inputs.ui deleted file mode 100644 index 10de21a3d..000000000 --- a/src/citra_qt/config/inputs.ui +++ /dev/null @@ -1,585 +0,0 @@ - - - inputs - - - - 0 - 0 - 512 - 402 - - - - Input Settings - - - - - 10 - 360 - 491 - 23 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok|QDialogButtonBox::RestoreDefaults - - - - - - 10 - 70 - 241 - 101 - - - - Circle Pad - - - - - 160 - 40 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 10 - 40 - 29 - 20 - - - - Left - - - - - - 110 - 70 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 40 - 40 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 70 - 70 - 37 - 20 - - - - Down - - - - - - 127 - 40 - 35 - 20 - - - - Right - - - - - - 110 - 10 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 80 - 10 - 23 - 20 - - - - Up - - - - - - - 10 - 180 - 241 - 101 - - - - D-Pad - - - - - 110 - 70 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 40 - 40 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 80 - 10 - 24 - 20 - - - - Up - - - - - - 160 - 40 - 71 - 20 - - - - - - - Qt::AlignCenter - - - - - - 70 - 70 - 38 - 20 - - - - Down - - - - - - 110 - 10 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 10 - 40 - 30 - 20 - - - - Left - - - - - - 130 - 40 - 36 - 20 - - - - Right - - - - - - - 260 - 70 - 241 - 101 - - - - Main Buttons - - - - - 90 - 70 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 20 - 40 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 7 - 40 - 16 - 20 - - - - Y - - - - - - 140 - 40 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 70 - 70 - 16 - 20 - - - - B - - - - - - 70 - 10 - 16 - 20 - - - - X - - - - - - 120 - 40 - 16 - 20 - - - - A - - - - - - 90 - 10 - 71 - 20 - - - - Qt::AlignCenter - - - - - - - 10 - 290 - 491 - 51 - - - - Other Buttons - - - - - 360 - 20 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 330 - 20 - 24 - 20 - - - - Start - - - - - - 47 - 20 - 29 - 20 - - - - Select - - - - - - 90 - 20 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 230 - 20 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 186 - 20 - 27 - 20 - - - - Home - - - - - - - 10 - 10 - 491 - 51 - - - - Bumpers - - - - - 340 - 20 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 110 - 20 - 71 - 20 - - - - Qt::AlignCenter - - - - - - 310 - 20 - 16 - 20 - - - - R - - - - - - 86 - 20 - 16 - 20 - - - - L - - - - - - - QLineEditKeyConfig - QLineEdit -
config/QLineEditKeyConfig.h
-
-
- - - - buttonBox - accepted() - inputs - accept() - - - 248 - 254 - - - 157 - 274 - - - - - buttonBox - rejected() - inputs - reject() - - - 316 - 260 - - - 286 - 274 - - - - -
diff --git a/src/citra_qt/main.ui b/src/citra_qt/main.ui index c9a600ba9..0f1060694 100644 --- a/src/citra_qt/main.ui +++ b/src/citra_qt/main.ui @@ -159,6 +159,11 @@ Configure ... + + + Configure &Controls + + true @@ -167,11 +172,6 @@ Display Dock Widget Headers - - - Configure &Inputs - -