diff options
| author | 2019-05-25 04:03:15 -0400 | |
|---|---|---|
| committer | 2019-05-25 04:08:13 -0400 | |
| commit | ef3c0f54d0cdfc3a4a24daac93ecc65a4359b0df (patch) | |
| tree | c6bc28e832786ccfc026fd131eadcade8ab1797f /src | |
| parent | configure_hotkeys: Remove unused EmitHotkeysChanged() (diff) | |
| download | yuzu-ef3c0f54d0cdfc3a4a24daac93ecc65a4359b0df.tar.gz yuzu-ef3c0f54d0cdfc3a4a24daac93ecc65a4359b0df.tar.xz yuzu-ef3c0f54d0cdfc3a4a24daac93ecc65a4359b0df.zip | |
configure_hotkeys: Move conflict detection logic to IsUsedKey()
We don't need to extract the entire set of hotkeys into a list and then
iterate through it. We can traverse the list and early-exit if we're
able to.
Diffstat (limited to 'src')
| -rw-r--r-- | src/yuzu/configuration/configure_hotkeys.cpp | 28 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_hotkeys.h | 1 |
2 files changed, 15 insertions, 14 deletions
diff --git a/src/yuzu/configuration/configure_hotkeys.cpp b/src/yuzu/configuration/configure_hotkeys.cpp index 9155da4e8..02f2daabc 100644 --- a/src/yuzu/configuration/configure_hotkeys.cpp +++ b/src/yuzu/configuration/configure_hotkeys.cpp | |||
| @@ -31,18 +31,6 @@ ConfigureHotkeys::ConfigureHotkeys(QWidget* parent) | |||
| 31 | 31 | ||
| 32 | ConfigureHotkeys::~ConfigureHotkeys() = default; | 32 | ConfigureHotkeys::~ConfigureHotkeys() = default; |
| 33 | 33 | ||
| 34 | QList<QKeySequence> ConfigureHotkeys::GetUsedKeyList() const { | ||
| 35 | QList<QKeySequence> list; | ||
| 36 | for (int r = 0; r < model->rowCount(); r++) { | ||
| 37 | const QStandardItem* parent = model->item(r, 0); | ||
| 38 | for (int r2 = 0; r2 < parent->rowCount(); r2++) { | ||
| 39 | const QStandardItem* keyseq = parent->child(r2, 1); | ||
| 40 | list << QKeySequence::fromString(keyseq->text(), QKeySequence::NativeText); | ||
| 41 | } | ||
| 42 | } | ||
| 43 | return list; | ||
| 44 | } | ||
| 45 | |||
| 46 | void ConfigureHotkeys::Populate(const HotkeyRegistry& registry) { | 34 | void ConfigureHotkeys::Populate(const HotkeyRegistry& registry) { |
| 47 | for (const auto& group : registry.hotkey_groups) { | 35 | for (const auto& group : registry.hotkey_groups) { |
| 48 | auto* parent_item = new QStandardItem(group.first); | 36 | auto* parent_item = new QStandardItem(group.first); |
| @@ -87,7 +75,21 @@ void ConfigureHotkeys::Configure(QModelIndex index) { | |||
| 87 | } | 75 | } |
| 88 | 76 | ||
| 89 | bool ConfigureHotkeys::IsUsedKey(QKeySequence key_sequence) const { | 77 | bool ConfigureHotkeys::IsUsedKey(QKeySequence key_sequence) const { |
| 90 | return GetUsedKeyList().contains(key_sequence); | 78 | for (int r = 0; r < model->rowCount(); r++) { |
| 79 | const QStandardItem* const parent = model->item(r, 0); | ||
| 80 | |||
| 81 | for (int r2 = 0; r2 < parent->rowCount(); r2++) { | ||
| 82 | const QStandardItem* const key_seq_item = parent->child(r2, 1); | ||
| 83 | const auto key_seq_str = key_seq_item->text(); | ||
| 84 | const auto key_seq = QKeySequence::fromString(key_seq_str, QKeySequence::NativeText); | ||
| 85 | |||
| 86 | if (key_sequence == key_seq) { | ||
| 87 | return true; | ||
| 88 | } | ||
| 89 | } | ||
| 90 | } | ||
| 91 | |||
| 92 | return false; | ||
| 91 | } | 93 | } |
| 92 | 94 | ||
| 93 | void ConfigureHotkeys::applyConfiguration(HotkeyRegistry& registry) { | 95 | void ConfigureHotkeys::applyConfiguration(HotkeyRegistry& registry) { |
diff --git a/src/yuzu/configuration/configure_hotkeys.h b/src/yuzu/configuration/configure_hotkeys.h index 1bbe64114..e77d73c35 100644 --- a/src/yuzu/configuration/configure_hotkeys.h +++ b/src/yuzu/configuration/configure_hotkeys.h | |||
| @@ -34,7 +34,6 @@ public: | |||
| 34 | private: | 34 | private: |
| 35 | void Configure(QModelIndex index); | 35 | void Configure(QModelIndex index); |
| 36 | bool IsUsedKey(QKeySequence key_sequence) const; | 36 | bool IsUsedKey(QKeySequence key_sequence) const; |
| 37 | QList<QKeySequence> GetUsedKeyList() const; | ||
| 38 | 37 | ||
| 39 | std::unique_ptr<Ui::ConfigureHotkeys> ui; | 38 | std::unique_ptr<Ui::ConfigureHotkeys> ui; |
| 40 | 39 | ||