diff options
author | Adityarup Laha <30696515+adityaruplaha@users.noreply.github.com> | 2019-02-16 16:19:29 +0100 |
---|---|---|
committer | fearlessTobi <thm.frey@gmail.com> | 2019-03-16 03:55:57 +0100 |
commit | 57a4a2ae0fc35906723ffc9f788f3cf7dd9c4ba5 (patch) | |
tree | 3ad8f3c6e2b2c26d10055e14be3197a932a48862 /src/yuzu/configuration/configure_hotkeys.h | |
parent | 06ac6460d31036dddf7e4ae12355391035cc30ca (diff) |
yuzu: Make hotkeys configurable via the GUI
* Adds a new Hotkeys tab in the Controls group.
* Double-click a Hotkey to rebind it.
Diffstat (limited to 'src/yuzu/configuration/configure_hotkeys.h')
-rw-r--r-- | src/yuzu/configuration/configure_hotkeys.h | 48 |
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; +}; |