diff options
author | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-05-18 08:20:05 -0400 |
---|---|---|
committer | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-05-19 00:26:32 -0400 |
commit | 5396593b55946284f3f5d9d776d5417f1ba79151 (patch) | |
tree | c2ce04fee5b98a3deb588244f8e27a51e5ebf702 | |
parent | 7d86a6ff02e0778aa69ec52ef5c0eb0d26200818 (diff) |
applets/swkbd: Send the correct text string on TextCheck::Confirm
Previously the text string for the inline software keyboard was being sent instead of the normal software keyboard, leading to empty text being sent all the time.
-rw-r--r-- | src/yuzu/applets/software_keyboard.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/yuzu/applets/software_keyboard.cpp b/src/yuzu/applets/software_keyboard.cpp index 653486493..b0f764994 100644 --- a/src/yuzu/applets/software_keyboard.cpp +++ b/src/yuzu/applets/software_keyboard.cpp @@ -404,12 +404,16 @@ void QtSoftwareKeyboardDialog::ShowTextCheckDialog( OverlayDialog dialog(this, system, QString{}, QString::fromStdU16String(text_check_message), tr("Cancel"), tr("OK"), Qt::AlignCenter); - if (dialog.exec() == QDialog::Accepted) { - emit SubmitNormalText(SwkbdResult::Ok, current_text); + if (dialog.exec() != QDialog::Accepted) { + StartInputThread(); break; } - StartInputThread(); + auto text = ui->topOSK->currentIndex() == 1 + ? ui->text_edit_osk->toPlainText().toStdU16String() + : ui->line_edit_osk->text().toStdU16String(); + + emit SubmitNormalText(SwkbdResult::Ok, std::move(text)); break; } } @@ -480,11 +484,7 @@ void QtSoftwareKeyboardDialog::open() { void QtSoftwareKeyboardDialog::reject() { // Pressing the ESC key in a dialog calls QDialog::reject(). // We will override this behavior to the "Cancel" action on the software keyboard. - if (is_inline) { - emit SubmitInlineText(SwkbdReplyType::DecidedCancel, current_text, cursor_position); - } else { - emit SubmitNormalText(SwkbdResult::Cancel, current_text); - } + TranslateButtonPress(HIDButton::X); } void QtSoftwareKeyboardDialog::keyPressEvent(QKeyEvent* event) { |