mirror of
https://github.com/profanity-im/profanity.git
synced 2025-07-26 12:14:28 -04:00
Added simple roster
This commit is contained in:
parent
eed8f6c76d
commit
36331e4908
@ -454,6 +454,8 @@ handle_contact_offline(char *barejid, char *resource, char *status)
|
|||||||
prefs_free_string(show_chat_win);
|
prefs_free_string(show_chat_win);
|
||||||
jid_destroy(jid);
|
jid_destroy(jid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui_roster();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -494,6 +496,8 @@ handle_contact_online(char *barejid, Resource *resource,
|
|||||||
prefs_free_string(show_console);
|
prefs_free_string(show_console);
|
||||||
prefs_free_string(show_chat_win);
|
prefs_free_string(show_chat_win);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ui_roster();
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -2804,6 +2804,34 @@ _ui_show_lines(ProfWin *window, const gchar** lines)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_ui_roster(void)
|
||||||
|
{
|
||||||
|
ProfWin *window = wins_get_console();
|
||||||
|
if (window) {
|
||||||
|
GSList *contacts = roster_get_contacts();
|
||||||
|
if (contacts) {
|
||||||
|
werase(window->subwin);
|
||||||
|
wattron(window->subwin, COLOUR_ROOMINFO);
|
||||||
|
wprintw(window->subwin, " -Roster\n");
|
||||||
|
wattroff(window->subwin, COLOUR_ROOMINFO);
|
||||||
|
GSList *curr = contacts;
|
||||||
|
while (curr) {
|
||||||
|
PContact contact = curr->data;
|
||||||
|
const char *name = p_contact_name_or_jid(contact);
|
||||||
|
const char *presence = p_contact_presence(contact);
|
||||||
|
int presence_colour = win_presence_colour(presence);
|
||||||
|
|
||||||
|
wattron(window->subwin, presence_colour);
|
||||||
|
wprintw(window->subwin, " %s\n", name);
|
||||||
|
wattroff(window->subwin, presence_colour);
|
||||||
|
curr = g_slist_next(curr);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
g_slist_free(contacts);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_ui_muc_roster(const char * const room)
|
_ui_muc_roster(const char * const room)
|
||||||
{
|
{
|
||||||
@ -3212,6 +3240,7 @@ ui_init_module(void)
|
|||||||
ui_handle_room_role_list_error = _ui_handle_room_role_list_error;
|
ui_handle_room_role_list_error = _ui_handle_room_role_list_error;
|
||||||
ui_handle_room_role_list = _ui_handle_room_role_list;
|
ui_handle_room_role_list = _ui_handle_room_role_list;
|
||||||
ui_muc_roster = _ui_muc_roster;
|
ui_muc_roster = _ui_muc_roster;
|
||||||
|
ui_roster = _ui_roster;
|
||||||
ui_room_show_occupants = _ui_room_show_occupants;
|
ui_room_show_occupants = _ui_room_show_occupants;
|
||||||
ui_room_hide_occupants = _ui_room_hide_occupants;
|
ui_room_hide_occupants = _ui_room_hide_occupants;
|
||||||
ui_room_role_change = _ui_room_role_change;
|
ui_room_role_change = _ui_room_role_change;
|
||||||
|
@ -246,6 +246,7 @@ void (*ui_open_xmlconsole_win)(void);
|
|||||||
gboolean (*ui_win_has_unsaved_form)(int num);
|
gboolean (*ui_win_has_unsaved_form)(int num);
|
||||||
|
|
||||||
void (*ui_muc_roster)(const char * const room);
|
void (*ui_muc_roster)(const char * const room);
|
||||||
|
void (*ui_roster)(void);
|
||||||
|
|
||||||
// console window actions
|
// console window actions
|
||||||
void (*cons_show)(const char * const msg, ...);
|
void (*cons_show)(const char * const msg, ...);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user