mirror of
https://github.com/irungentoo/toxcore.git
synced 2024-03-22 13:30:51 +08:00
commit
68317c8d51
|
@ -77,6 +77,18 @@ static void chat_onStatusChange(ToxWindow* self, int num, uint8_t* status, uint1
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* check that the string has one non-space character */
|
||||||
|
int string_is_empty(char *string)
|
||||||
|
{
|
||||||
|
int rc = 0;
|
||||||
|
char *copy = strdup(string);
|
||||||
|
|
||||||
|
rc = ((strtok(copy, " ") == NULL) ? 1:0);
|
||||||
|
free(copy);
|
||||||
|
|
||||||
|
return rc;
|
||||||
|
}
|
||||||
|
|
||||||
static void chat_onKey(ToxWindow* self, int key) {
|
static void chat_onKey(ToxWindow* self, int key) {
|
||||||
ChatContext* ctx = (ChatContext*) self->x;
|
ChatContext* ctx = (ChatContext*) self->x;
|
||||||
|
|
||||||
|
@ -92,7 +104,10 @@ static void chat_onKey(ToxWindow* self, int key) {
|
||||||
ctx->line[ctx->pos] = '\0';
|
ctx->line[ctx->pos] = '\0';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
else if(key == '\n') {
|
else if(key == '\n') {
|
||||||
|
if(!string_is_empty(ctx->line)) {
|
||||||
|
/* make sure the string has at least non-space character */
|
||||||
wattron(ctx->history, COLOR_PAIR(2));
|
wattron(ctx->history, COLOR_PAIR(2));
|
||||||
wprintw(ctx->history, "%02d:%02d:%02d ", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
|
wprintw(ctx->history, "%02d:%02d:%02d ", timeinfo->tm_hour, timeinfo->tm_min, timeinfo->tm_sec);
|
||||||
wattron(ctx->history, COLOR_PAIR(1));
|
wattron(ctx->history, COLOR_PAIR(1));
|
||||||
|
@ -109,6 +124,8 @@ static void chat_onKey(ToxWindow* self, int key) {
|
||||||
ctx->line[0] = '\0';
|
ctx->line[0] = '\0';
|
||||||
ctx->pos = 0;
|
ctx->pos = 0;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
else if(key == 0x107 || key == 0x8 || key == 0x7f) {
|
else if(key == 0x107 || key == 0x8 || key == 0x7f) {
|
||||||
if(ctx->pos != 0) {
|
if(ctx->pos != 0) {
|
||||||
ctx->line[--ctx->pos] = '\0';
|
ctx->line[--ctx->pos] = '\0';
|
||||||
|
|
Loading…
Reference in New Issue
Block a user