diff --git a/src/qt/qt_keybind.cpp b/src/qt/qt_keybind.cpp index e8cbbf5b6..8b0f52eab 100644 --- a/src/qt/qt_keybind.cpp +++ b/src/qt/qt_keybind.cpp @@ -6,15 +6,15 @@ * * This file is part of the 86Box distribution. * - * Device configuration UI code. + * Keybind dialog * * * - * Authors: Joakim L. Gilje + * Authors: Cathode Ray Dude * Cacodemon345 * - * Copyright 2021 Joakim L. Gilje - * Copyright 2022 Cacodemon345 + * Copyright 2025 Cathode Ray Dude + * Copyright 2025 Cacodemon345 */ #include "qt_keybind.hpp" #include "ui_qt_keybind.h" @@ -85,12 +85,13 @@ bool KeyBinder::eventFilter(QObject *obj, QEvent *event) } QKeySequence -KeyBinder::BindKey(QString CurValue) +KeyBinder::BindKey(QWidget* widget, QString CurValue) { - KeyBinder kb; + KeyBinder kb(widget); kb.setWindowTitle("Bind Key"); kb.setFixedSize(kb.minimumSizeHint()); kb.findChild()->setKeySequence(QKeySequence::fromString(CurValue)); + kb.setEnabled(true); if (kb.exec() == QDialog::Accepted) { QKeySequenceEdit *seq = kb.findChild(); diff --git a/src/qt/qt_keybind.hpp b/src/qt/qt_keybind.hpp index e8e7b6e5e..393ee0f5c 100644 --- a/src/qt/qt_keybind.hpp +++ b/src/qt/qt_keybind.hpp @@ -22,7 +22,7 @@ public: explicit KeyBinder(QWidget *parent = nullptr); ~KeyBinder() override; - static QKeySequence BindKey(QString CurValue); + static QKeySequence BindKey(QWidget* widget, QString CurValue); private: Ui::KeyBinder *ui; diff --git a/src/qt/qt_settingsinput.cpp b/src/qt/qt_settingsinput.cpp index f87296451..bf5035110 100644 --- a/src/qt/qt_settingsinput.cpp +++ b/src/qt/qt_settingsinput.cpp @@ -63,7 +63,7 @@ SettingsInput::SettingsInput(QWidget *parent) keyTable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch); QStringList headers; //headers << "Action" << "Bound key"; - keyTable->setHorizontalHeaderLabels(headers); + keyTable->setHorizontalHeaderLabels(horizontalHeader); keyTable->verticalHeader()->setVisible(false); keyTable->setEditTriggers(QAbstractItemView::NoEditTriggers); keyTable->setSelectionBehavior(QAbstractItemView::SelectRows); @@ -201,7 +201,7 @@ SettingsInput::on_tableKeys_doubleClicked(int row, int col) QTableWidgetItem *cell = ui->tableKeys->item(row,1); if (!cell) return; - QKeySequence keyseq = KeyBinder::BindKey(cell->text()); + QKeySequence keyseq = KeyBinder::BindKey(this, cell->text()); if (keyseq != false) { // If no change was made, don't change anything. if (keyseq.toString(QKeySequence::NativeText) == cell->text()) return; @@ -247,7 +247,7 @@ void SettingsInput::on_pushButtonClearBind_Clicked() { // Wipe bind - QTableWidgetItem *cell = ui->tableKeys->currentItem(); + QTableWidgetItem *cell = ui->tableKeys->item(ui->tableKeys->currentRow(), 1); if (!cell) return; cell->setText("");