aboutsummaryrefslogtreecommitdiff
path: root/gui/EditTextWidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gui/EditTextWidget.cpp')
-rw-r--r--gui/EditTextWidget.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/gui/EditTextWidget.cpp b/gui/EditTextWidget.cpp
index ea24035b11..076a5da1e1 100644
--- a/gui/EditTextWidget.cpp
+++ b/gui/EditTextWidget.cpp
@@ -71,6 +71,14 @@ void EditTextWidget::handleMouseDown(int x, int y, int button, int clickCount){
draw();
}
+bool EditTextWidget::tryInsertChar(char c, int pos) {
+ if (isprint(c)) {
+ _label.insertChar(c, pos);
+ return true;
+ }
+ return false;
+}
+
bool EditTextWidget::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
bool handled = true;
bool dirty = false;
@@ -126,9 +134,8 @@ bool EditTextWidget::handleKeyDown(uint16 ascii, int keycode, int modifiers) {
dirty = adjustOffset();
break;
default:
- if (isprint((char)ascii)) {
- _label.insertChar((char)ascii, _pos++);
- //_label += (char)ascii;
+ if (tryInsertChar((char)ascii, _pos)) {
+ _pos++;
dirty = true;
} else {
handled = false;