commit 6b71ae4702f4ee9bea58bb12b1d41d76974a078b
parent 42066201e5b2476463ebc2de1480b027fbe4489f
Author: TheJackiMonster <thejackimonster@gmail.com>
Date: Fri, 18 Feb 2022 22:54:21 +0100
Implemented empty text message as silent
Signed-off-by: TheJackiMonster <thejackimonster@gmail.com>
Diffstat:
3 files changed, 19 insertions(+), 20 deletions(-)
diff --git a/src/event.c b/src/event.c
@@ -427,6 +427,10 @@ event_receive_message(MESSENGER_Application *app,
return;
const int sent = GNUNET_CHAT_message_is_sent(msg);
+ const gchar *text = GNUNET_CHAT_message_get_text(msg);
+
+ if ((text) && (!(*text)))
+ goto skip_message;
const UI_MESSAGE_Type type = (
GNUNET_YES == sent? UI_MESSAGE_SENT : UI_MESSAGE_DEFAULT
@@ -455,7 +459,6 @@ event_receive_message(MESSENGER_Application *app,
msg
);
- const gchar *text = GNUNET_CHAT_message_get_text(msg);
const gchar *time = GNUNET_STRINGS_absolute_time_to_string(timestamp);
if ((!ui_messenger_is_context_active(&(app->ui.messenger), context)) &&
@@ -472,6 +475,8 @@ event_receive_message(MESSENGER_Application *app,
gtk_label_set_text(message->timestamp_label, time? time : "");
ui_chat_add_message(handle->chat, app, message);
+
+skip_message:
ui_chat_entry_update(handle, app, context);
}
diff --git a/src/ui/chat.c b/src/ui/chat.c
@@ -815,9 +815,18 @@ ui_chat_update(UI_CHAT_Handle *handle,
if (!(handle->messages))
return;
- UI_MESSAGE_Handle *message = (
- (UI_MESSAGE_Handle*) handle->messages->data
- );
+ GList *list = handle->messages;
+
+ while (list)
+ {
+ ui_message_refresh((UI_MESSAGE_Handle*) list->data);
+ list = list->next;
+ }
+
+ UI_MESSAGE_Handle *message = (UI_MESSAGE_Handle*) (handle->messages->data);
+
+ if (!(message->timestamp_label))
+ return;
const gchar *time = gtk_label_get_text(message->timestamp_label);
@@ -877,21 +886,6 @@ ui_chat_add_message(UI_CHAT_Handle *handle,
g_hash_table_insert(app->ui.bindings, row, message);
- GList *list = handle->messages;
-
- while (list)
- {
- UI_MESSAGE_Handle *msg_handle = (UI_MESSAGE_Handle*) list->data;
-
- if (UI_MESSAGE_SENT == msg_handle->type)
- {
- ui_message_refresh(msg_handle);
- break;
- }
-
- list = list->next;
- }
-
handle->messages = g_list_prepend(handle->messages, message);
gtk_list_box_invalidate_sort(handle->messages_listbox);
diff --git a/src/ui/messenger.c b/src/ui/messenger.c
@@ -232,7 +232,7 @@ handle_chats_listbox_filter_func(GtkListBoxRow *row,
handle->bindings, row
);
- if (!entry)
+ if ((!entry) || (!(entry->title_label)))
return FALSE;
const gchar *title = gtk_label_get_text(entry->title_label);