Reset ui::edit caret on various events
This commit is contained in:
parent
ec228d481b
commit
9a3620f186
1 changed files with 5 additions and 0 deletions
|
|
@ -210,10 +210,12 @@ namespace psemek::ui
|
|||
else if (e.key == SDLK_HOME)
|
||||
{
|
||||
caret_ = 0;
|
||||
reset_caret();
|
||||
}
|
||||
else if (e.key == SDLK_END)
|
||||
{
|
||||
caret_ = text_.size();
|
||||
reset_caret();
|
||||
}
|
||||
else if (e.key == SDLK_RETURN)
|
||||
{
|
||||
|
|
@ -247,6 +249,7 @@ namespace psemek::ui
|
|||
new_text.erase(new_text.begin() + caret_);
|
||||
if (!set_text(std::move(new_text), false))
|
||||
++caret_;
|
||||
reset_caret();
|
||||
}
|
||||
}
|
||||
else if (e.key == SDLK_DELETE)
|
||||
|
|
@ -256,6 +259,7 @@ namespace psemek::ui
|
|||
auto new_text = text_;
|
||||
new_text.erase(new_text.begin() + caret_);
|
||||
set_text(std::move(new_text), false);
|
||||
reset_caret();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -274,6 +278,7 @@ namespace psemek::ui
|
|||
new_text.insert(new_text.begin() + caret_, range.begin(), range.end());
|
||||
if (set_text(std::move(new_text), false))
|
||||
caret_ += range.size();
|
||||
reset_caret();
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue