| 120 if (send || (purple_im_conversation_get_type_again(im) != 0 && |
120 if (send || (purple_im_conversation_get_type_again(im) != 0 && |
| 121 time(NULL) > purple_im_conversation_get_type_again(im))) { |
121 time(NULL) > purple_im_conversation_get_type_again(im))) { |
| 122 unsigned int timeout; |
122 unsigned int timeout; |
| 123 timeout = serv_send_typing(purple_conversation_get_connection(conv), |
123 timeout = serv_send_typing(purple_conversation_get_connection(conv), |
| 124 purple_conversation_get_name(conv), |
124 purple_conversation_get_name(conv), |
| 125 PURPLE_IM_CONVERSATION_TYPING); |
125 PURPLE_IM_TYPING); |
| 126 purple_im_conversation_set_type_again(im, timeout); |
126 purple_im_conversation_set_type_again(im, timeout); |
| 127 } |
127 } |
| 128 } else { |
128 } else { |
| 129 purple_im_conversation_stop_send_typed_timeout(im); |
129 purple_im_conversation_stop_send_typed_timeout(im); |
| 130 |
130 |
| 131 serv_send_typing(purple_conversation_get_connection(conv), |
131 serv_send_typing(purple_conversation_get_connection(conv), |
| 132 purple_conversation_get_name(conv), |
132 purple_conversation_get_name(conv), |
| 133 PURPLE_IM_CONVERSATION_NOT_TYPING); |
133 PURPLE_IM_NOT_TYPING); |
| 134 } |
134 } |
| 135 } |
135 } |
| 136 } |
136 } |
| 137 |
137 |
| 138 static void |
138 static void |
| 1091 |
1091 |
| 1092 g_string_printf(string, |
1092 g_string_printf(string, |
| 1093 ngettext("List of %d user:\n", "List of %d users:\n", count), count); |
1093 ngettext("List of %d user:\n", "List of %d users:\n", count), count); |
| 1094 for (iter = users; iter; iter = iter->next) |
1094 for (iter = users; iter; iter = iter->next) |
| 1095 { |
1095 { |
| 1096 PurpleChatConversationBuddy *cbuddy = iter->data; |
1096 PurpleChatUser *chatuser = iter->data; |
| 1097 const char *str; |
1097 const char *str; |
| 1098 |
1098 |
| 1099 if ((str = purple_chat_conversation_buddy_get_alias(cbuddy)) == NULL) |
1099 if ((str = purple_chat_user_get_alias(chatuser)) == NULL) |
| 1100 str = purple_chat_conversation_buddy_get_name(cbuddy); |
1100 str = purple_chat_user_get_name(chatuser); |
| 1101 g_string_append_printf(string, "[ %s ]", str); |
1101 g_string_append_printf(string, "[ %s ]", str); |
| 1102 } |
1102 } |
| 1103 |
1103 |
| 1104 purple_conversation_write(conv, NULL, string->str, |
1104 purple_conversation_write(conv, NULL, string->str, |
| 1105 PURPLE_MESSAGE_SYSTEM, time(NULL)); |
1105 PURPLE_MESSAGE_SYSTEM, time(NULL)); |
| 1106 g_string_free(string, TRUE); |
1106 g_string_free(string, TRUE); |
| 1107 } |
1107 } |
| 1108 |
1108 |
| 1109 for (; users; users = users->next) |
1109 for (; users; users = users->next) |
| 1110 { |
1110 { |
| 1111 PurpleChatConversationBuddy *cbuddy = users->data; |
1111 PurpleChatUser *chatuser = users->data; |
| 1112 GntTree *tree = GNT_TREE(ggc->u.chat->userlist); |
1112 GntTree *tree = GNT_TREE(ggc->u.chat->userlist); |
| 1113 gnt_entry_add_suggest(entry, purple_chat_conversation_buddy_get_name(cbuddy)); |
1113 gnt_entry_add_suggest(entry, purple_chat_user_get_name(chatuser)); |
| 1114 gnt_entry_add_suggest(entry, purple_chat_conversation_buddy_get_alias(cbuddy)); |
1114 gnt_entry_add_suggest(entry, purple_chat_user_get_alias(chatuser)); |
| 1115 gnt_tree_add_row_after(tree, g_strdup(purple_chat_conversation_buddy_get_name(cbuddy)), |
1115 gnt_tree_add_row_after(tree, g_strdup(purple_chat_user_get_name(chatuser)), |
| 1116 gnt_tree_create_row(tree, chat_flag_text(purple_chat_conversation_buddy_get_flags(cbuddy)), purple_chat_conversation_buddy_get_alias(cbuddy)), NULL, NULL); |
1116 gnt_tree_create_row(tree, chat_flag_text(purple_chat_user_get_flags(chatuser)), purple_chat_user_get_alias(chatuser)), NULL, NULL); |
| 1117 } |
1117 } |
| 1118 } |
1118 } |
| 1119 |
1119 |
| 1120 static void |
1120 static void |
| 1121 finch_chat_rename_user(PurpleChatConversation *chat, const char *old, const char *new_n, const char *new_a) |
1121 finch_chat_rename_user(PurpleChatConversation *chat, const char *old, const char *new_n, const char *new_a) |
| 1122 { |
1122 { |
| 1123 /* Update the name for string completion */ |
1123 /* Update the name for string completion */ |
| 1124 FinchConv *ggc = FINCH_CONV(PURPLE_CONVERSATION(chat)); |
1124 FinchConv *ggc = FINCH_CONV(PURPLE_CONVERSATION(chat)); |
| 1125 GntEntry *entry = GNT_ENTRY(ggc->entry); |
1125 GntEntry *entry = GNT_ENTRY(ggc->entry); |
| 1126 GntTree *tree = GNT_TREE(ggc->u.chat->userlist); |
1126 GntTree *tree = GNT_TREE(ggc->u.chat->userlist); |
| 1127 PurpleChatConversationBuddy *cb = purple_chat_conversation_find_buddy(chat, new_n); |
1127 PurpleChatUser *cb = purple_chat_conversation_find_buddy(chat, new_n); |
| 1128 |
1128 |
| 1129 gnt_entry_remove_suggest(entry, old); |
1129 gnt_entry_remove_suggest(entry, old); |
| 1130 gnt_tree_remove(tree, (gpointer)old); |
1130 gnt_tree_remove(tree, (gpointer)old); |
| 1131 |
1131 |
| 1132 gnt_entry_add_suggest(entry, new_n); |
1132 gnt_entry_add_suggest(entry, new_n); |
| 1133 gnt_entry_add_suggest(entry, new_a); |
1133 gnt_entry_add_suggest(entry, new_a); |
| 1134 gnt_tree_add_row_after(tree, g_strdup(new_n), |
1134 gnt_tree_add_row_after(tree, g_strdup(new_n), |
| 1135 gnt_tree_create_row(tree, chat_flag_text(purple_chat_conversation_buddy_get_flags(cb)), new_a), NULL, NULL); |
1135 gnt_tree_create_row(tree, chat_flag_text(purple_chat_user_get_flags(cb)), new_a), NULL, NULL); |
| 1136 } |
1136 } |
| 1137 |
1137 |
| 1138 static void |
1138 static void |
| 1139 finch_chat_remove_users(PurpleChatConversation *chat, GList *list) |
1139 finch_chat_remove_users(PurpleChatConversation *chat, GList *list) |
| 1140 { |
1140 { |
| 1147 gnt_tree_remove(tree, list->data); |
1147 gnt_tree_remove(tree, list->data); |
| 1148 } |
1148 } |
| 1149 } |
1149 } |
| 1150 |
1150 |
| 1151 static void |
1151 static void |
| 1152 finch_chat_update_user(PurpleChatConversationBuddy *cb) |
1152 finch_chat_update_user(PurpleChatUser *cb) |
| 1153 { |
1153 { |
| 1154 PurpleChatConversation *chat; |
1154 PurpleChatConversation *chat; |
| 1155 FinchConv *ggc; |
1155 FinchConv *ggc; |
| 1156 if (!cb) |
1156 if (!cb) |
| 1157 return; |
1157 return; |
| 1158 |
1158 |
| 1159 chat = purple_chat_conversation_buddy_get_chat(cb); |
1159 chat = purple_chat_user_get_chat(cb); |
| 1160 ggc = FINCH_CONV(PURPLE_CONVERSATION(chat)); |
1160 ggc = FINCH_CONV(PURPLE_CONVERSATION(chat)); |
| 1161 gnt_tree_change_text(GNT_TREE(ggc->u.chat->userlist), |
1161 gnt_tree_change_text(GNT_TREE(ggc->u.chat->userlist), |
| 1162 (gpointer)purple_chat_conversation_buddy_get_name(cb), 0, |
1162 (gpointer)purple_chat_user_get_name(cb), 0, |
| 1163 chat_flag_text(purple_chat_conversation_buddy_get_flags(cb))); |
1163 chat_flag_text(purple_chat_user_get_flags(cb))); |
| 1164 } |
1164 } |
| 1165 |
1165 |
| 1166 static void |
1166 static void |
| 1167 finch_conv_present(PurpleConversation *conv) |
1167 finch_conv_present(PurpleConversation *conv) |
| 1168 { |
1168 { |