diff --git a/src/citra_qt/applets/swkbd.cpp b/src/citra_qt/applets/swkbd.cpp index 8dd022e2e..6cfd2e5b7 100644 --- a/src/citra_qt/applets/swkbd.cpp +++ b/src/citra_qt/applets/swkbd.cpp @@ -34,33 +34,21 @@ QtKeyboardDialog::QtKeyboardDialog(QWidget* parent, QtKeyboard* keyboard_) // Initialize buttons switch (config.button_config) { case ButtonConfig::Triple: - buttons->addButton(config.has_custom_button_text - ? QString::fromStdString(config.button_text[2]) - : tr(SWKBD_BUTTON_OKAY), - QDialogButtonBox::ButtonRole::AcceptRole); - buttons->addButton(config.has_custom_button_text - ? QString::fromStdString(config.button_text[1]) - : tr(SWKBD_BUTTON_FORGOT), + buttons->addButton(config.button_text[1].empty() + ? tr(SWKBD_BUTTON_FORGOT) + : QString::fromStdString(config.button_text[1]), QDialogButtonBox::ButtonRole::HelpRole); - buttons->addButton(config.has_custom_button_text - ? QString::fromStdString(config.button_text[0]) - : tr(SWKBD_BUTTON_CANCEL), - QDialogButtonBox::ButtonRole::RejectRole); - break; + [[fallthrough]]; case ButtonConfig::Dual: - buttons->addButton(config.has_custom_button_text - ? QString::fromStdString(config.button_text[2]) - : tr(SWKBD_BUTTON_OKAY), - QDialogButtonBox::ButtonRole::AcceptRole); - buttons->addButton(config.has_custom_button_text - ? QString::fromStdString(config.button_text[0]) - : tr(SWKBD_BUTTON_CANCEL), + buttons->addButton(config.button_text[0].empty() + ? tr(SWKBD_BUTTON_CANCEL) + : QString::fromStdString(config.button_text[0]), QDialogButtonBox::ButtonRole::RejectRole); - break; + [[fallthrough]]; case ButtonConfig::Single: - buttons->addButton(config.has_custom_button_text - ? QString::fromStdString(config.button_text[2]) - : tr(SWKBD_BUTTON_OKAY), + buttons->addButton(config.button_text[2].empty() + ? tr(SWKBD_BUTTON_OKAY) + : QString::fromStdString(config.button_text[2]), QDialogButtonBox::ButtonRole::AcceptRole); break; case ButtonConfig::None: diff --git a/src/core/frontend/applets/swkbd.h b/src/core/frontend/applets/swkbd.h index 7a716590d..c1ddb3f36 100644 --- a/src/core/frontend/applets/swkbd.h +++ b/src/core/frontend/applets/swkbd.h @@ -38,12 +38,11 @@ constexpr char SWKBD_BUTTON_FORGOT[] = "I Forgot"; /// later learn is needed can be added here and filled in by the backend HLE applet struct KeyboardConfig { ButtonConfig button_config; - AcceptedInput accept_mode; /// What kinds of input are accepted (blank/empty/fixed width) - bool multiline_mode; /// True if the keyboard accepts multiple lines of input - u16 max_text_length; /// Maximum number of letters allowed if its a text input - u16 max_digits; /// Maximum number of numbers allowed if its a number input - std::string hint_text; /// Displayed in the field as a hint before - bool has_custom_button_text; /// If true, use the button_text instead + AcceptedInput accept_mode; /// What kinds of input are accepted (blank/empty/fixed width) + bool multiline_mode; /// True if the keyboard accepts multiple lines of input + u16 max_text_length; /// Maximum number of letters allowed if its a text input + u16 max_digits; /// Maximum number of numbers allowed if its a number input + std::string hint_text; /// Displayed in the field as a hint before std::vector button_text; /// Contains the button text that the caller provides struct Filters { bool prevent_digit; /// Limit maximum digit count to max_digits diff --git a/src/core/hle/applets/swkbd.cpp b/src/core/hle/applets/swkbd.cpp index 7481a168c..486d6b690 100644 --- a/src/core/hle/applets/swkbd.cpp +++ b/src/core/hle/applets/swkbd.cpp @@ -194,15 +194,8 @@ Frontend::KeyboardConfig SoftwareKeyboard::ToFrontendConfig( frontend_config.max_text_length = config.max_text_length; frontend_config.max_digits = config.max_digits; frontend_config.hint_text = Common::UTF16BufferToUTF8(config.hint_text); - frontend_config.has_custom_button_text = - !std::all_of(config.button_text.begin(), config.button_text.end(), - [](std::array x) { - return std::all_of(x.begin(), x.end(), [](u16 x) { return x == 0; }); - }); - if (frontend_config.has_custom_button_text) { - for (const auto& text : config.button_text) { - frontend_config.button_text.push_back(Common::UTF16BufferToUTF8(text)); - } + for (const auto& text : config.button_text) { + frontend_config.button_text.push_back(Common::UTF16BufferToUTF8(text)); } frontend_config.filters.prevent_digit = static_cast(config.filter_flags & SoftwareKeyboardFilter::Digits);