citra-qt: Use structured bindings where applicable in ConfigureHotkeys::applyConfiguration. Fix a few minor issues.

* Address https://github.com/citra-emu/citra/pull/4437#discussion_r241380912
This commit is contained in:
Adityarup Laha 2018-12-12 21:14:27 +05:30
parent dccd1664ad
commit 71f36efd27
No known key found for this signature in database
GPG key ID: 1B24048A1F78845F
3 changed files with 11 additions and 11 deletions

View file

@ -17,7 +17,7 @@ class ConfigureDialog : public QDialog {
Q_OBJECT
public:
explicit ConfigureDialog(QWidget* parent, const HotkeyRegistry& registry);
explicit ConfigureDialog(QWidget* parent, HotkeyRegistry& registry);
~ConfigureDialog() override;
void UpdateVisibleTabs();

View file

@ -107,15 +107,13 @@ void ConfigureHotkeys::applyConfiguration(HotkeyRegistry& registry) {
for (int key_column_id = 0; key_column_id < parent->rowCount(); key_column_id++) {
QStandardItem* action = parent->child(key_column_id, 0);
QStandardItem* keyseq = parent->child(key_column_id, 1);
for (auto key_iterator = registry.hotkey_groups.begin();
key_iterator != registry.hotkey_groups.end(); ++key_iterator) {
if (key_iterator->first == parent->text()) {
for (auto it2 = key_iterator->second.begin(); it2 != key_iterator->second.end();
++it2) {
if (it2->first == action->text()) {
it2->second.keyseq = QKeySequence(keyseq->text());
}
}
for (auto& [group, sub_actions] : registry.hotkey_groups) {
if (group != parent->text())
continue;
for (auto& [action_name, hotkey] : sub_actions) {
if (action_name != action->text())
continue;
hotkey.keyseq = QKeySequence(keyseq->text());
}
}
}

View file

@ -32,10 +32,12 @@ void HotkeyRegistry::LoadHotkeys() {
hk.keyseq = QKeySequence::fromString(shortcut.shortcut.first, QKeySequence::NativeText);
hk.context = (Qt::ShortcutContext)shortcut.shortcut.second;
}
if (hk.shortcut)
if (hk.shortcut) {
hk.shortcut->disconnect();
hk.shortcut->setKey(hk.keyseq);
}
}
}
QShortcut* HotkeyRegistry::GetHotkey(const QString& group, const QString& action, QWidget* widget) {
Hotkey& hk = hotkey_groups[group][action];