From f5d416e07147e6667f620dd1a3f32b71f1f37099 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 24 May 2019 20:53:36 -0400 Subject: yuzu/applets/error: Specify string conversions explicitly Allows the error applet to build successfully with implicit string conversions disabled. --- src/yuzu/applets/error.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/yuzu/applets') diff --git a/src/yuzu/applets/error.cpp b/src/yuzu/applets/error.cpp index 106dde9e2..97435592e 100644 --- a/src/yuzu/applets/error.cpp +++ b/src/yuzu/applets/error.cpp @@ -32,8 +32,9 @@ void QtErrorDisplay::ShowErrorWithTimestamp(ResultCode error, std::chrono::secon emit MainWindowDisplayError( 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)") - .arg(QDateTime::fromSecsSinceEpoch(time.count()).toString("dddd, MMMM d, yyyy")) - .arg(QDateTime::fromSecsSinceEpoch(time.count()).toString("h:mm:ss A")) + .arg(QDateTime::fromSecsSinceEpoch(time.count()) + .toString(QStringLiteral("dddd, MMMM d, yyyy"))) + .arg(QDateTime::fromSecsSinceEpoch(time.count()).toString(QStringLiteral("h:mm:ss A"))) .arg(static_cast(error.module.Value()) + 2000, 4, 10, QChar::fromLatin1('0')) .arg(error.description, 4, 10, QChar::fromLatin1('0')) .arg(error.raw, 8, 16, QChar::fromLatin1('0'))); -- cgit v1.2.3 From cf9cc4147845810dd2af387e2ef3a8559f832722 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 24 May 2019 20:56:58 -0400 Subject: yuzu/applets/software_keyboard: Specify string conversions explicitly Allows the software keyboard applet code to compile with implicit string conversions disabled. --- src/yuzu/applets/error.cpp | 7 ++++--- src/yuzu/applets/software_keyboard.cpp | 21 ++++++++++++++------- 2 files changed, 18 insertions(+), 10 deletions(-) (limited to 'src/yuzu/applets') diff --git a/src/yuzu/applets/error.cpp b/src/yuzu/applets/error.cpp index 97435592e..08ed57355 100644 --- a/src/yuzu/applets/error.cpp +++ b/src/yuzu/applets/error.cpp @@ -29,12 +29,13 @@ void QtErrorDisplay::ShowError(ResultCode error, std::function finished) void QtErrorDisplay::ShowErrorWithTimestamp(ResultCode error, std::chrono::seconds time, std::function finished) const { this->callback = std::move(finished); + + const QDateTime date_time = QDateTime::fromSecsSinceEpoch(time.count()); emit MainWindowDisplayError( 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)") - .arg(QDateTime::fromSecsSinceEpoch(time.count()) - .toString(QStringLiteral("dddd, MMMM d, yyyy"))) - .arg(QDateTime::fromSecsSinceEpoch(time.count()).toString(QStringLiteral("h:mm:ss A"))) + .arg(date_time.toString(QStringLiteral("dddd, MMMM d, yyyy"))) + .arg(date_time.toString(QStringLiteral("h:mm:ss A"))) .arg(static_cast(error.module.Value()) + 2000, 4, 10, QChar::fromLatin1('0')) .arg(error.description, 4, 10, QChar::fromLatin1('0')) .arg(error.raw, 8, 16, QChar::fromLatin1('0'))); diff --git a/src/yuzu/applets/software_keyboard.cpp b/src/yuzu/applets/software_keyboard.cpp index f3eb29b25..4f13e1d75 100644 --- a/src/yuzu/applets/software_keyboard.cpp +++ b/src/yuzu/applets/software_keyboard.cpp @@ -18,23 +18,30 @@ QtSoftwareKeyboardValidator::QtSoftwareKeyboardValidator( : parameters(std::move(parameters)) {} QValidator::State QtSoftwareKeyboardValidator::validate(QString& input, int& pos) const { - if (input.size() > parameters.max_length) + if (input.size() > parameters.max_length) { return Invalid; - if (parameters.disable_space && input.contains(' ')) + } + if (parameters.disable_space && input.contains(QLatin1Char{' '})) { return Invalid; - if (parameters.disable_address && input.contains('@')) + } + if (parameters.disable_address && input.contains(QLatin1Char{'@'})) { return Invalid; - if (parameters.disable_percent && input.contains('%')) + } + if (parameters.disable_percent && input.contains(QLatin1Char{'%'})) { return Invalid; - if (parameters.disable_slash && (input.contains('/') || input.contains('\\'))) + } + if (parameters.disable_slash && + (input.contains(QLatin1Char{'/'}) || input.contains(QLatin1Char{'\\'}))) { return Invalid; + } if (parameters.disable_number && std::any_of(input.begin(), input.end(), [](QChar c) { return c.isDigit(); })) { return Invalid; } - if (parameters.disable_download_code && - std::any_of(input.begin(), input.end(), [](QChar c) { return c == 'O' || c == 'I'; })) { + if (parameters.disable_download_code && std::any_of(input.begin(), input.end(), [](QChar c) { + return c == QLatin1Char{'O'} || c == QLatin1Char{'I'}; + })) { return Invalid; } -- cgit v1.2.3 From b3d7180164157c64b48ed5ae549d1d02ef92e092 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 24 May 2019 21:00:26 -0400 Subject: yuzu/applets/software_keyboard: Resolve sign mismatch comparison Qt uses a signed value to represent container sizes, so this was causing a sign mismatch warning. --- src/yuzu/applets/software_keyboard.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/yuzu/applets') diff --git a/src/yuzu/applets/software_keyboard.cpp b/src/yuzu/applets/software_keyboard.cpp index 4f13e1d75..7c95d730b 100644 --- a/src/yuzu/applets/software_keyboard.cpp +++ b/src/yuzu/applets/software_keyboard.cpp @@ -18,7 +18,7 @@ QtSoftwareKeyboardValidator::QtSoftwareKeyboardValidator( : parameters(std::move(parameters)) {} QValidator::State QtSoftwareKeyboardValidator::validate(QString& input, int& pos) const { - if (input.size() > parameters.max_length) { + if (input.size() > static_cast(parameters.max_length)) { return Invalid; } if (parameters.disable_space && input.contains(QLatin1Char{' '})) { -- cgit v1.2.3 From 16bf7919396cff4952e191368fa0907897b81348 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 24 May 2019 21:01:46 -0400 Subject: yuzu/applets/software_keyboard: std::move argument in MainWindowFinishedText() Given the std::optional can contain an object type that heap allocates, we can use std::move to avoid an unnecessary copy/allocation from occurring. --- src/yuzu/applets/software_keyboard.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/yuzu/applets') diff --git a/src/yuzu/applets/software_keyboard.cpp b/src/yuzu/applets/software_keyboard.cpp index 7c95d730b..5223ec977 100644 --- a/src/yuzu/applets/software_keyboard.cpp +++ b/src/yuzu/applets/software_keyboard.cpp @@ -149,7 +149,7 @@ void QtSoftwareKeyboard::SendTextCheckDialog(std::u16string error_message, void QtSoftwareKeyboard::MainWindowFinishedText(std::optional text) { // Acquire the HLE mutex std::lock_guard lock{HLE::g_hle_lock}; - text_output(text); + text_output(std::move(text)); } void QtSoftwareKeyboard::MainWindowFinishedCheckDialog() { -- cgit v1.2.3 From bb06b98d8131978fa44a1634dd5a205233568d33 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Fri, 24 May 2019 21:06:11 -0400 Subject: yuzu/applets/software_keyboard: Remove unused assert header This isn't actually used anywhere, so it can be removed. --- src/yuzu/applets/software_keyboard.h | 1 - 1 file changed, 1 deletion(-) (limited to 'src/yuzu/applets') diff --git a/src/yuzu/applets/software_keyboard.h b/src/yuzu/applets/software_keyboard.h index c63720ba4..78c5a042b 100644 --- a/src/yuzu/applets/software_keyboard.h +++ b/src/yuzu/applets/software_keyboard.h @@ -6,7 +6,6 @@ #include #include -#include "common/assert.h" #include "core/frontend/applets/software_keyboard.h" class GMainWindow; -- cgit v1.2.3