software_keyboard: Make GetText asynchronous
a
This commit is contained in:
parent
7cfb29de23
commit
8b433beff3
9 changed files with 64 additions and 29 deletions
|
@ -9,12 +9,13 @@
|
|||
namespace Core::Frontend {
|
||||
SoftwareKeyboardApplet::~SoftwareKeyboardApplet() = default;
|
||||
|
||||
std::optional<std::u16string> DefaultSoftwareKeyboardApplet::GetText(
|
||||
void DefaultSoftwareKeyboardApplet::RequestText(
|
||||
std::function<void(std::optional<std::u16string>)> out,
|
||||
SoftwareKeyboardParameters parameters) const {
|
||||
if (parameters.initial_text.empty())
|
||||
return u"yuzu";
|
||||
out(u"yuzu");
|
||||
|
||||
return parameters.initial_text;
|
||||
out(parameters.initial_text);
|
||||
}
|
||||
|
||||
void DefaultSoftwareKeyboardApplet::SendTextCheckDialog(std::u16string error_message) const {
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
|
||||
#pragma once
|
||||
|
||||
#include <functional>
|
||||
#include <optional>
|
||||
#include <string>
|
||||
#include "common/bit_field.h"
|
||||
|
@ -36,13 +37,15 @@ class SoftwareKeyboardApplet {
|
|||
public:
|
||||
virtual ~SoftwareKeyboardApplet();
|
||||
|
||||
virtual std::optional<std::u16string> GetText(SoftwareKeyboardParameters parameters) const = 0;
|
||||
virtual void RequestText(std::function<void(std::optional<std::u16string>)> out,
|
||||
SoftwareKeyboardParameters parameters) const = 0;
|
||||
virtual void SendTextCheckDialog(std::u16string error_message) const = 0;
|
||||
};
|
||||
|
||||
class DefaultSoftwareKeyboardApplet final : public SoftwareKeyboardApplet {
|
||||
public:
|
||||
std::optional<std::u16string> GetText(SoftwareKeyboardParameters parameters) const override;
|
||||
void RequestText(std::function<void(std::optional<std::u16string>)> out,
|
||||
SoftwareKeyboardParameters parameters) const override;
|
||||
void SendTextCheckDialog(std::u16string error_message) const override;
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue