summaryrefslogtreecommitdiff
path: root/src/yuzu/configuration/configure_hotkeys.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuzu/configuration/configure_hotkeys.h')
-rw-r--r--src/yuzu/configuration/configure_hotkeys.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/yuzu/configuration/configure_hotkeys.h b/src/yuzu/configuration/configure_hotkeys.h
new file mode 100644
index 000000000..cd203aad6
--- /dev/null
+++ b/src/yuzu/configuration/configure_hotkeys.h
@@ -0,0 +1,48 @@
+// Copyright 2017 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <memory>
+#include <QWidget>
+#include "core/settings.h"
+
+namespace Ui {
+class ConfigureHotkeys;
+}
+
+class HotkeyRegistry;
+class QStandardItemModel;
+
+class ConfigureHotkeys : public QWidget {
+ Q_OBJECT
+
+public:
+ explicit ConfigureHotkeys(QWidget* parent = nullptr);
+ ~ConfigureHotkeys() override;
+
+ void applyConfiguration(HotkeyRegistry& registry);
+ void retranslateUi();
+
+ void EmitHotkeysChanged();
+
+ /**
+ * Populates the hotkey list widget using data from the provided registry.
+ * Called everytime the Configure dialog is opened.
+ * @param registry The HotkeyRegistry whose data is used to populate the list.
+ */
+ void Populate(const HotkeyRegistry& registry);
+
+signals:
+ void HotkeysChanged(QList<QKeySequence> new_key_list);
+
+private:
+ void Configure(QModelIndex index);
+ bool IsUsedKey(QKeySequence key_sequence);
+ QList<QKeySequence> GetUsedKeyList() const;
+
+ std::unique_ptr<Ui::ConfigureHotkeys> ui;
+
+ QStandardItemModel* model;
+};