diff options
Diffstat (limited to 'src/ui/chat_open_dialog.c')
-rw-r--r-- | src/ui/chat_open_dialog.c | 53 |
1 files changed, 2 insertions, 51 deletions
diff --git a/src/ui/chat_open_dialog.c b/src/ui/chat_open_dialog.c index 701b8e5..5b641d6 100644 --- a/src/ui/chat_open_dialog.c +++ b/src/ui/chat_open_dialog.c @@ -24,12 +24,11 @@ #include "chat_open_dialog.h" -#include <ctype.h> - #include <gnunet/platform.h> #include <gnunet/gnunet_chat_lib.h> #include <gnunet/gnunet_util_lib.h> +#include "text_input.h" #include "../application.h" #include "../util.h" @@ -42,69 +41,21 @@ chat_open_dialog_event(UI_CHAT_OPEN_DIALOG_Handle *open_dialog, { case 27: case KEY_EXIT: - { open_dialog->window = NULL; break; - } - case KEY_LEFT: - { - open_dialog->topic_pos--; - break; - } - case KEY_RIGHT: - { - open_dialog->topic_pos++; - break; - } case '\n': case KEY_ENTER: - { if (open_dialog->topic_len > 0) GNUNET_CHAT_group_create(app->chat.handle, open_dialog->topic); open_dialog->topic_len = 0; open_dialog->window = NULL; break; - } - case KEY_BACKSPACE: - { - if ((open_dialog->topic_pos < open_dialog->topic_len) && - (open_dialog->topic_pos > 0)) - for (int i = open_dialog->topic_pos; i < open_dialog->topic_len; i++) - open_dialog->topic[i - 1] = open_dialog->topic[i]; - - if ((open_dialog->topic_pos > 0) && (open_dialog->topic_len > 0)) - { - open_dialog->topic_pos--; - open_dialog->topic_len--; - } - - break; - } default: - { - if (!isprint(key)) break; - - for (int i = open_dialog->topic_len - 1; i >= open_dialog->topic_pos; i--) - open_dialog->topic[i + 1] = open_dialog->topic[i]; - - open_dialog->topic[open_dialog->topic_pos++] = (char) key; - open_dialog->topic_len++; - break; - } } - if (open_dialog->topic_len > 255) - open_dialog->topic_len = 255; - - open_dialog->topic[open_dialog->topic_len] = '\0'; - - if (open_dialog->topic_pos < 0) - open_dialog->topic_pos = 0; - - if (open_dialog->topic_pos > open_dialog->topic_len) - open_dialog->topic_pos = open_dialog->topic_len; + text_input_event(open_dialog->topic, key); } void |