Qt: Make binding tooltips/multi-window localisable

pull/3743/head
Stenzek 4 months ago
parent 33663c5ea9
commit e1d9414ecf
No known key found for this signature in database

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

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

@ -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<std::string> bindings, QWidget* parent)
std::vector<std::string> 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);

@ -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<std::string> bindings, QWidget* parent);
std::string key_name, std::vector<std::string> bindings, const QString& display_name,
QWidget* parent);
~InputBindingDialog();
protected:

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

@ -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<std::string> m_bindings;
std::vector<InputBindingKey> m_new_bindings;
std::vector<std::pair<InputBindingKey, std::pair<float, float>>> m_value_ranges;

Loading…
Cancel
Save