summaryrefslogtreecommitdiff
path: root/src/yuzu
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuzu')
-rw-r--r--src/yuzu/applets/software_keyboard.cpp15
-rw-r--r--src/yuzu/applets/software_keyboard.h8
-rw-r--r--src/yuzu/main.cpp14
-rw-r--r--src/yuzu/main.h4
4 files changed, 21 insertions, 20 deletions
diff --git a/src/yuzu/applets/software_keyboard.cpp b/src/yuzu/applets/software_keyboard.cpp
index fad150ec1..92992ef87 100644
--- a/src/yuzu/applets/software_keyboard.cpp
+++ b/src/yuzu/applets/software_keyboard.cpp
@@ -97,11 +97,11 @@ void QtSoftwareKeyboardDialog::Reject() {
accept();
}
-std::u16string QtSoftwareKeyboardDialog::GetText() {
+std::u16string QtSoftwareKeyboardDialog::GetText() const {
return text;
}
-bool QtSoftwareKeyboardDialog::GetStatus() {
+bool QtSoftwareKeyboardDialog::GetStatus() const {
return ok;
}
@@ -109,13 +109,12 @@ QtSoftwareKeyboard::QtSoftwareKeyboard(GMainWindow& parent) : main_window(parent
QtSoftwareKeyboard::~QtSoftwareKeyboard() = default;
-bool QtSoftwareKeyboard::GetText(Core::Frontend::SoftwareKeyboardParameters parameters,
- std::u16string& text) const {
- bool success;
+std::optional<std::u16string> QtSoftwareKeyboard::GetText(
+ Core::Frontend::SoftwareKeyboardParameters parameters) const {
+ std::optional<std::u16string> success;
QMetaObject::invokeMethod(&main_window, "SoftwareKeyboardGetText", Qt::BlockingQueuedConnection,
- Q_RETURN_ARG(bool, success),
- Q_ARG(Core::Frontend::SoftwareKeyboardParameters, parameters),
- Q_ARG(std::u16string&, text));
+ Q_RETURN_ARG(std::optional<std::u16string>, success),
+ Q_ARG(Core::Frontend::SoftwareKeyboardParameters, parameters));
return success;
}
diff --git a/src/yuzu/applets/software_keyboard.h b/src/yuzu/applets/software_keyboard.h
index 1069c10ec..8d95ca511 100644
--- a/src/yuzu/applets/software_keyboard.h
+++ b/src/yuzu/applets/software_keyboard.h
@@ -36,8 +36,8 @@ public:
void Submit();
void Reject();
- std::u16string GetText();
- bool GetStatus();
+ std::u16string GetText() const;
+ bool GetStatus() const;
private:
bool ok = false;
@@ -58,8 +58,8 @@ public:
explicit QtSoftwareKeyboard(GMainWindow& parent);
~QtSoftwareKeyboard() override;
- bool GetText(Core::Frontend::SoftwareKeyboardParameters parameters,
- std::u16string& text) const override;
+ std::optional<std::u16string> GetText(
+ Core::Frontend::SoftwareKeyboardParameters parameters) const override;
void SendTextCheckDialog(std::u16string error_message) const override;
private:
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 447d9dece..a11eb7f86 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -207,16 +207,18 @@ GMainWindow::~GMainWindow() {
delete render_window;
}
-bool GMainWindow::SoftwareKeyboardGetText(
- const Core::Frontend::SoftwareKeyboardParameters& parameters, std::u16string& text) {
+std::optional<std::u16string> GMainWindow::SoftwareKeyboardGetText(
+ const Core::Frontend::SoftwareKeyboardParameters& parameters) {
QtSoftwareKeyboardDialog dialog(this, parameters);
dialog.setWindowFlags(Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint |
Qt::WindowSystemMenuHint | Qt::WindowCloseButtonHint);
dialog.setWindowModality(Qt::WindowModal);
dialog.exec();
- text = dialog.GetText();
- return dialog.GetStatus();
+ if (!dialog.GetStatus())
+ return std::nullopt;
+
+ return dialog.GetText();
}
void GMainWindow::SoftwareKeyboardInvokeCheckDialog(std::u16string error_message) {
@@ -1251,10 +1253,10 @@ void GMainWindow::OnStartGame() {
emu_thread->SetRunning(true);
qRegisterMetaType<Core::Frontend::SoftwareKeyboardParameters>(
- "core::Frontend::SoftwareKeyboardParameters");
+ "Core::Frontend::SoftwareKeyboardParameters");
qRegisterMetaType<Core::System::ResultStatus>("Core::System::ResultStatus");
qRegisterMetaType<std::string>("std::string");
- qRegisterMetaType<std::u16string>("std::u16string");
+ qRegisterMetaType<std::optional<std::u16string>>("std::optional<std::u16string>");
connect(emu_thread.get(), &EmuThread::ErrorThrown, this, &GMainWindow::OnCoreError);
diff --git a/src/yuzu/main.h b/src/yuzu/main.h
index 38074e3f0..8fbe998ea 100644
--- a/src/yuzu/main.h
+++ b/src/yuzu/main.h
@@ -100,8 +100,8 @@ signals:
void UpdateThemedIcons();
public slots:
- bool SoftwareKeyboardGetText(const Core::Frontend::SoftwareKeyboardParameters& parameters,
- std::u16string& text);
+ std::optional<std::u16string> SoftwareKeyboardGetText(
+ const Core::Frontend::SoftwareKeyboardParameters& parameters);
void SoftwareKeyboardInvokeCheckDialog(std::u16string error_message);
private: