mirror of
https://github.com/yuzu-mirror/yuzu
synced 2024-12-20 05:03:05 +00:00
yuzu/applets/software_keyboard: Specify string conversions explicitly
Allows the software keyboard applet code to compile with implicit string conversions disabled.
This commit is contained in:
parent
f5d416e071
commit
cf9cc41478
2 changed files with 18 additions and 10 deletions
|
@ -29,12 +29,13 @@ void QtErrorDisplay::ShowError(ResultCode error, std::function<void()> finished)
|
||||||
void QtErrorDisplay::ShowErrorWithTimestamp(ResultCode error, std::chrono::seconds time,
|
void QtErrorDisplay::ShowErrorWithTimestamp(ResultCode error, std::chrono::seconds time,
|
||||||
std::function<void()> finished) const {
|
std::function<void()> finished) const {
|
||||||
this->callback = std::move(finished);
|
this->callback = std::move(finished);
|
||||||
|
|
||||||
|
const QDateTime date_time = QDateTime::fromSecsSinceEpoch(time.count());
|
||||||
emit MainWindowDisplayError(
|
emit MainWindowDisplayError(
|
||||||
tr("An error occured on %1 at %2.\nPlease try again or contact the "
|
tr("An error occured on %1 at %2.\nPlease try again or contact the "
|
||||||
"developer of the software.\n\nError Code: %3-%4 (0x%5)")
|
"developer of the software.\n\nError Code: %3-%4 (0x%5)")
|
||||||
.arg(QDateTime::fromSecsSinceEpoch(time.count())
|
.arg(date_time.toString(QStringLiteral("dddd, MMMM d, yyyy")))
|
||||||
.toString(QStringLiteral("dddd, MMMM d, yyyy")))
|
.arg(date_time.toString(QStringLiteral("h:mm:ss A")))
|
||||||
.arg(QDateTime::fromSecsSinceEpoch(time.count()).toString(QStringLiteral("h:mm:ss A")))
|
|
||||||
.arg(static_cast<u32>(error.module.Value()) + 2000, 4, 10, QChar::fromLatin1('0'))
|
.arg(static_cast<u32>(error.module.Value()) + 2000, 4, 10, QChar::fromLatin1('0'))
|
||||||
.arg(error.description, 4, 10, QChar::fromLatin1('0'))
|
.arg(error.description, 4, 10, QChar::fromLatin1('0'))
|
||||||
.arg(error.raw, 8, 16, QChar::fromLatin1('0')));
|
.arg(error.raw, 8, 16, QChar::fromLatin1('0')));
|
||||||
|
|
|
@ -18,23 +18,30 @@ QtSoftwareKeyboardValidator::QtSoftwareKeyboardValidator(
|
||||||
: parameters(std::move(parameters)) {}
|
: parameters(std::move(parameters)) {}
|
||||||
|
|
||||||
QValidator::State QtSoftwareKeyboardValidator::validate(QString& input, int& pos) const {
|
QValidator::State QtSoftwareKeyboardValidator::validate(QString& input, int& pos) const {
|
||||||
if (input.size() > parameters.max_length)
|
if (input.size() > parameters.max_length) {
|
||||||
return Invalid;
|
return Invalid;
|
||||||
if (parameters.disable_space && input.contains(' '))
|
}
|
||||||
|
if (parameters.disable_space && input.contains(QLatin1Char{' '})) {
|
||||||
return Invalid;
|
return Invalid;
|
||||||
if (parameters.disable_address && input.contains('@'))
|
}
|
||||||
|
if (parameters.disable_address && input.contains(QLatin1Char{'@'})) {
|
||||||
return Invalid;
|
return Invalid;
|
||||||
if (parameters.disable_percent && input.contains('%'))
|
}
|
||||||
|
if (parameters.disable_percent && input.contains(QLatin1Char{'%'})) {
|
||||||
return Invalid;
|
return Invalid;
|
||||||
if (parameters.disable_slash && (input.contains('/') || input.contains('\\')))
|
}
|
||||||
|
if (parameters.disable_slash &&
|
||||||
|
(input.contains(QLatin1Char{'/'}) || input.contains(QLatin1Char{'\\'}))) {
|
||||||
return Invalid;
|
return Invalid;
|
||||||
|
}
|
||||||
if (parameters.disable_number &&
|
if (parameters.disable_number &&
|
||||||
std::any_of(input.begin(), input.end(), [](QChar c) { return c.isDigit(); })) {
|
std::any_of(input.begin(), input.end(), [](QChar c) { return c.isDigit(); })) {
|
||||||
return Invalid;
|
return Invalid;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parameters.disable_download_code &&
|
if (parameters.disable_download_code && std::any_of(input.begin(), input.end(), [](QChar c) {
|
||||||
std::any_of(input.begin(), input.end(), [](QChar c) { return c == 'O' || c == 'I'; })) {
|
return c == QLatin1Char{'O'} || c == QLatin1Char{'I'};
|
||||||
|
})) {
|
||||||
return Invalid;
|
return Invalid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue