mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-05 06:21:26 +12:00
overlays: implement osk delete action
This commit is contained in:
parent
ad340c3007
commit
eccceea7fb
4 changed files with 32 additions and 0 deletions
|
@ -173,6 +173,27 @@ namespace rsx
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void edit_text::del()
|
||||||
|
{
|
||||||
|
if (caret_position >= text.length())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (caret_position == 0)
|
||||||
|
{
|
||||||
|
value = value.length() > 1 ? value.substr(1) : U"";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
value = value.substr(0, caret_position) + value.substr(caret_position + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_reset_caret_pulse = true;
|
||||||
|
set_unicode_text(value);
|
||||||
|
refresh();
|
||||||
|
}
|
||||||
|
|
||||||
compiled_resource& edit_text::get_compiled()
|
compiled_resource& edit_text::get_compiled()
|
||||||
{
|
{
|
||||||
if (!is_compiled)
|
if (!is_compiled)
|
||||||
|
|
|
@ -33,6 +33,7 @@ namespace rsx
|
||||||
void move_caret(direction dir);
|
void move_caret(direction dir);
|
||||||
void insert_text(const std::u32string& str);
|
void insert_text(const std::u32string& str);
|
||||||
void erase();
|
void erase();
|
||||||
|
void del();
|
||||||
|
|
||||||
compiled_resource& get_compiled() override;
|
compiled_resource& get_compiled() override;
|
||||||
};
|
};
|
||||||
|
|
|
@ -700,6 +700,9 @@ namespace rsx
|
||||||
case CELL_KEYC_BS:
|
case CELL_KEYC_BS:
|
||||||
on_backspace(key);
|
on_backspace(key);
|
||||||
break;
|
break;
|
||||||
|
case CELL_KEYC_DELETE:
|
||||||
|
on_delete(key);
|
||||||
|
break;
|
||||||
case CELL_KEYC_ESCAPE:
|
case CELL_KEYC_ESCAPE:
|
||||||
Close(CELL_OSKDIALOG_CLOSE_CANCEL);
|
Close(CELL_OSKDIALOG_CLOSE_CANCEL);
|
||||||
break;
|
break;
|
||||||
|
@ -812,6 +815,12 @@ namespace rsx
|
||||||
on_text_changed();
|
on_text_changed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void osk_dialog::on_delete(const std::u32string&)
|
||||||
|
{
|
||||||
|
m_preview.del();
|
||||||
|
on_text_changed();
|
||||||
|
}
|
||||||
|
|
||||||
void osk_dialog::on_enter(const std::u32string&)
|
void osk_dialog::on_enter(const std::u32string&)
|
||||||
{
|
{
|
||||||
if (!(flags & CELL_OSKDIALOG_NO_RETURN))
|
if (!(flags & CELL_OSKDIALOG_NO_RETURN))
|
||||||
|
|
|
@ -104,6 +104,7 @@ namespace rsx
|
||||||
void on_layer(const std::u32string&);
|
void on_layer(const std::u32string&);
|
||||||
void on_space(const std::u32string&);
|
void on_space(const std::u32string&);
|
||||||
void on_backspace(const std::u32string&);
|
void on_backspace(const std::u32string&);
|
||||||
|
void on_delete(const std::u32string&);
|
||||||
void on_enter(const std::u32string&);
|
void on_enter(const std::u32string&);
|
||||||
|
|
||||||
std::u32string get_placeholder() const;
|
std::u32string get_placeholder() const;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue