1
1
mirror of https://github.com/profanity-im/profanity.git synced 2025-01-03 14:57:42 -05:00

Moved UI error handler code to ui/core

This commit is contained in:
James Booth 2013-10-06 00:05:23 +01:00
parent 738be65edc
commit 710c49b6b8
3 changed files with 28 additions and 21 deletions

View File

@ -187,27 +187,7 @@ prof_handle_group_remove(const char * const contact,
void
prof_handle_error_message(const char *from, const char *err_msg)
{
win_type_t win_type = ui_current_win_type();
if (err_msg == NULL) {
cons_show_error("Unknown error received from service.");
} else if (strcmp(err_msg, "conflict") == 0) {
if (win_type == WIN_MUC) {
ui_current_print_line("Nickname already in use.");
} else {
cons_show_error("Error received from server: %s", err_msg);
}
// remove the room from muc
Jid *room_jid = jid_create(from);
if (!muc_get_roster_received(room_jid->barejid)) {
muc_leave_room(room_jid->barejid);
}
jid_destroy(room_jid);
} else {
cons_show_error("Error received from server: %s", err_msg);
}
ui_print_error_from_recipient(from, err_msg);
ui_handle_error_message(from, err_msg);
}
void

View File

@ -402,6 +402,32 @@ ui_group_removed(const char * const contact, const char * const group)
cons_show("%s removed from group %s", contact, group);
}
void
ui_handle_error_message(const char * const from, const char * const err_msg)
{
win_type_t win_type = ui_current_win_type();
if (err_msg == NULL) {
cons_show_error("Unknown error received from service.");
} else if (strcmp(err_msg, "conflict") == 0) {
if (win_type == WIN_MUC) {
ui_current_print_line("Nickname already in use.");
} else {
cons_show_error("Error received from server: %s", err_msg);
}
// remove the room from muc
Jid *room_jid = jid_create(from);
if (!muc_get_roster_received(room_jid->barejid)) {
muc_leave_room(room_jid->barejid);
}
jid_destroy(room_jid);
} else {
cons_show_error("Error received from server: %s", err_msg);
}
ui_print_error_from_recipient(from, err_msg);
}
void
ui_contact_online(const char * const barejid, const char * const resource,
const char * const show, const char * const status, GDateTime *last_activity)

View File

@ -59,6 +59,7 @@ void ui_reset_idle_time(void);
void ui_new_chat_win(const char * const to);
void ui_print_error_from_recipient(const char * const from, const char *err_msg);
void ui_print_system_msg_from_recipient(const char * const from, const char *message);
void ui_handle_error_message(const char * const from, const char * const err_msg);
gint ui_unread(void);
void ui_close_connected_win(int index);
int ui_close_all_wins(void);