aboutsummaryrefslogtreecommitdiff
path: root/src/Text.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/Text.cpp')
-rw-r--r--src/Text.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/Text.cpp b/src/Text.cpp
index 0431c4e..2940520 100644
--- a/src/Text.cpp
+++ b/src/Text.cpp
@@ -60,10 +60,11 @@ namespace QuickMedia
{
//if(str != this->str)
//{
+ size_t prev_str_size = this->str.getSize();
this->str = std::move(str);
dirty = true;
dirtyText = true;
- if((int)this->str.getSize() < caretIndex)
+ if((int)this->str.getSize() < caretIndex || prev_str_size == 0)
{
caretIndex = this->str.getSize();
dirtyCaret = true;
@@ -821,7 +822,7 @@ namespace QuickMedia
}
else if(event.key.code == sf::Keyboard::Enter)
{
- if(event.key.shift)
+ if(event.key.shift && !single_line_edit)
{
if(caretAtEnd)
str += '\n';
@@ -849,7 +850,7 @@ namespace QuickMedia
{
stringToAdd = sf::Clipboard::getString();
}
- else if(event.text.unicode >= 32 || event.text.unicode == 9) // 9 == tab
+ else if(event.text.unicode >= 32 || (event.text.unicode == 9 && !single_line_edit)) // 9 == tab
stringToAdd = event.text.unicode;
else
return;