diff --git a/src/duckstation-qt/controllerbindingwidgets.cpp b/src/duckstation-qt/controllerbindingwidgets.cpp index ac1827bcd..d5709ef4f 100644 --- a/src/duckstation-qt/controllerbindingwidgets.cpp +++ b/src/duckstation-qt/controllerbindingwidgets.cpp @@ -505,7 +505,10 @@ void ControllerBindingWidget::bindBindingWidgets(QWidget* parent) continue; } - widget->initialize(sif, bi.type, config_section, bi.name); + widget->initialize(sif, bi.type, config_section, bi.name, + tr("Controller %1 %2") + .arg(m_port_number + 1) + .arg(QtUtils::StringViewToQString(m_controller_info->GetBindingDisplayName(bi)))); } } } @@ -621,7 +624,8 @@ ControllerMacroEditWidget::ControllerMacroEditWidget(ControllerMacroWidget* pare updateFrequencyText(); m_ui.trigger->initialize(dialog->getEditingSettingsInterface(), InputBindingInfo::Type::Macro, section, - fmt::format("Macro{}", index + 1u)); + fmt::format("Macro{}", index + 1u), + tr("Controller %1 Macro %2").arg(m_bwidget->getPortNumber() + 1).arg(index + 1)); connect(m_ui.increaseFrequency, &QAbstractButton::clicked, this, [this]() { modFrequency(1); }); connect(m_ui.decreateFrequency, &QAbstractButton::clicked, this, [this]() { modFrequency(-1); }); diff --git a/src/duckstation-qt/hotkeysettingswidget.cpp b/src/duckstation-qt/hotkeysettingswidget.cpp index 7d3bf3a8d..0b4e7ad65 100644 --- a/src/duckstation-qt/hotkeysettingswidget.cpp +++ b/src/duckstation-qt/hotkeysettingswidget.cpp @@ -145,10 +145,12 @@ void HotkeySettingsWidget::createButtons() QHBoxLayout* row_layout = new QHBoxLayout(row); row_layout->setContentsMargins(LR_MARGIN, TB_MARGIN, LR_MARGIN, TB_MARGIN); - row_layout->addWidget(new QLabel(qApp->translate("Hotkeys", hotkey.display_name), row)); + const QString display_name = qApp->translate("Hotkeys", hotkey.display_name); + row_layout->addWidget(new QLabel(display_name, row)); - InputBindingWidget* const bind = new InputBindingWidget(row, m_dialog->getEditingSettingsInterface(), - InputBindingInfo::Type::Button, "Hotkeys", hotkey.name); + InputBindingWidget* const bind = + new InputBindingWidget(row, m_dialog->getEditingSettingsInterface(), InputBindingInfo::Type::Button, "Hotkeys", + hotkey.name, display_name); bind->setFixedWidth(300); row_layout->addWidget(bind); } diff --git a/src/duckstation-qt/inputbindingdialog.cpp b/src/duckstation-qt/inputbindingdialog.cpp index 474fb9e50..8baedd6bd 100644 --- a/src/duckstation-qt/inputbindingdialog.cpp +++ b/src/duckstation-qt/inputbindingdialog.cpp @@ -25,13 +25,12 @@ InputBindingDialog* InputBindingDialog::s_current_hook_dialog = nullptr; InputBindingDialog::InputBindingDialog(SettingsInterface* sif, InputBindingInfo::Type bind_type, std::string section_name, std::string key_name, - std::vector bindings, QWidget* parent) + std::vector bindings, const QString& display_name, QWidget* parent) : QDialog(parent), m_sif(sif), m_bind_type(bind_type), m_section_name(std::move(section_name)), m_key_name(std::move(key_name)), m_bindings(std::move(bindings)) { m_ui.setupUi(this); - m_ui.title->setText( - tr("Bindings for %1 %2").arg(QString::fromStdString(m_section_name)).arg(QString::fromStdString(m_key_name))); + m_ui.title->setText(tr("Bindings for %1:").arg(display_name)); m_ui.buttonBox->button(QDialogButtonBox::Close)->setDefault(true); connect(m_ui.addBinding, &QPushButton::clicked, this, &InputBindingDialog::onAddBindingButtonClicked); diff --git a/src/duckstation-qt/inputbindingdialog.h b/src/duckstation-qt/inputbindingdialog.h index a65ba4cd0..a3768699b 100644 --- a/src/duckstation-qt/inputbindingdialog.h +++ b/src/duckstation-qt/inputbindingdialog.h @@ -22,7 +22,8 @@ class InputBindingDialog : public QDialog public: InputBindingDialog(SettingsInterface* sif, InputBindingInfo::Type bind_type, std::string section_name, - std::string key_name, std::vector bindings, QWidget* parent); + std::string key_name, std::vector bindings, const QString& display_name, + QWidget* parent); ~InputBindingDialog(); protected: diff --git a/src/duckstation-qt/inputbindingwidgets.cpp b/src/duckstation-qt/inputbindingwidgets.cpp index 6f8927274..739ce8493 100644 --- a/src/duckstation-qt/inputbindingwidgets.cpp +++ b/src/duckstation-qt/inputbindingwidgets.cpp @@ -37,14 +37,15 @@ InputBindingWidget::InputBindingWidget(QWidget* parent) : QPushButton(parent) } InputBindingWidget::InputBindingWidget(QWidget* parent, SettingsInterface* sif, InputBindingInfo::Type bind_type, - std::string section_name, std::string key_name) + std::string section_name, std::string key_name, + const QString display_name /* = */) : QPushButton(parent) { setFixedWidth(220); connect(this, &QPushButton::clicked, this, &InputBindingWidget::onClicked); - initialize(sif, bind_type, std::move(section_name), std::move(key_name)); + initialize(sif, bind_type, std::move(section_name), std::move(key_name), display_name); } InputBindingWidget::~InputBindingWidget() @@ -76,12 +77,13 @@ void InputBindingWidget::logInputEvent(InputBindingInfo::Type bind_type, InputBi } void InputBindingWidget::initialize(SettingsInterface* sif, InputBindingInfo::Type bind_type, std::string section_name, - std::string key_name) + std::string key_name, const QString& display_name) { m_sif = sif; m_bind_type = bind_type; m_section_name = std::move(section_name); m_key_name = std::move(key_name); + m_display_name = display_name; reloadBinding(); } @@ -118,7 +120,7 @@ void InputBindingWidget::updateTextAndToolTip() { m_full_text.clear(); setText(QString()); - setToolTip(QStringLiteral("%1\n\n%2").arg(tr("No binding set.")).arg(tr(help_text))); + setToolTip(QStringLiteral("%1:\n\n%2\n\n%3").arg(m_display_name).arg(tr("No binding set.")).arg(tr(help_text))); } else { @@ -143,7 +145,11 @@ void InputBindingWidget::updateTextAndToolTip() setText(tr("%n bindings", nullptr, static_cast(m_bindings.size()))); } // keep the full thing for the tooltip - setToolTip(QStringLiteral("%1\n%2\n%3").arg(bindings_qstr).arg(tr(help_text)).arg(tr(help_clear_text))); + setToolTip(QStringLiteral("%1:\n\n%2\n%3\n%4") + .arg(m_display_name) + .arg(bindings_qstr) + .arg(tr(help_text)) + .arg(tr(help_clear_text))); } } @@ -486,7 +492,7 @@ void InputBindingWidget::unhookInputManager() void InputBindingWidget::openDialog() { InputBindingDialog* const dlg = - new InputBindingDialog(m_sif, m_bind_type, m_section_name, m_key_name, m_bindings, this); + new InputBindingDialog(m_sif, m_bind_type, m_section_name, m_key_name, m_bindings, m_display_name, this); dlg->setAttribute(Qt::WA_DeleteOnClose); connect(dlg, &QDialog::finished, this, &InputBindingWidget::reloadBinding); dlg->open(); diff --git a/src/duckstation-qt/inputbindingwidgets.h b/src/duckstation-qt/inputbindingwidgets.h index 70a8fddd1..7c48382b9 100644 --- a/src/duckstation-qt/inputbindingwidgets.h +++ b/src/duckstation-qt/inputbindingwidgets.h @@ -19,7 +19,7 @@ class InputBindingWidget : public QPushButton public: explicit InputBindingWidget(QWidget* parent); InputBindingWidget(QWidget* parent, SettingsInterface* sif, InputBindingInfo::Type bind_type, - std::string section_name, std::string key_name); + std::string section_name, std::string key_name, const QString display_name = {}); ~InputBindingWidget(); static bool isMouseMappingEnabled(); @@ -29,7 +29,7 @@ public: float min_value); void initialize(SettingsInterface* sif, InputBindingInfo::Type bind_type, std::string section_name, - std::string key_name); + std::string key_name, const QString& display_name); void clearBinding(); void reloadBinding(); @@ -68,6 +68,7 @@ protected: InputBindingInfo::Type m_bind_type = InputBindingInfo::Type::Unknown; std::string m_section_name; std::string m_key_name; + QString m_display_name; std::vector m_bindings; std::vector m_new_bindings; std::vector>> m_value_ranges;