1 // Copyright 2018 Citra Emulator Project 2 // Licensed under GPLv2 or any later version 3 // Refer to the license.txt file included. 4 5 #include <QDialogButtonBox> 6 #include <QKeySequenceEdit> 7 #include <QVBoxLayout> 8 #include "yuzu/util/sequence_dialog/sequence_dialog.h" 9 SequenceDialog(QWidget * parent)10SequenceDialog::SequenceDialog(QWidget* parent) : QDialog(parent) { 11 setWindowTitle(tr("Enter a hotkey")); 12 setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); 13 14 key_sequence = new QKeySequenceEdit; 15 16 auto* const buttons = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); 17 buttons->setCenterButtons(true); 18 19 auto* const layout = new QVBoxLayout(this); 20 layout->addWidget(key_sequence); 21 layout->addWidget(buttons); 22 23 connect(buttons, &QDialogButtonBox::accepted, this, &QDialog::accept); 24 connect(buttons, &QDialogButtonBox::rejected, this, &QDialog::reject); 25 } 26 27 SequenceDialog::~SequenceDialog() = default; 28 GetSequence() const29QKeySequence SequenceDialog::GetSequence() const { 30 // Only the first key is returned. The other 3, if present, are ignored. 31 return QKeySequence(key_sequence->keySequence()[0]); 32 } 33 focusNextPrevChild(bool next)34bool SequenceDialog::focusNextPrevChild(bool next) { 35 return false; 36 } 37 closeEvent(QCloseEvent *)38void SequenceDialog::closeEvent(QCloseEvent*) { 39 reject(); 40 } 41