1
0
mirror of https://github.com/profanity-im/profanity.git synced 2024-12-04 14:46:46 -05:00

Moved display logic for subscriptions to console module

This commit is contained in:
James Booth 2013-04-27 23:13:52 +01:00
parent e02ab52a4e
commit 04c6f2d7b0
3 changed files with 39 additions and 27 deletions

View File

@ -1397,37 +1397,12 @@ _cmd_sub(gchar **args, struct cmd_help_t help)
} }
if (strcmp(subcmd, "sent") == 0) { if (strcmp(subcmd, "sent") == 0) {
if (contact_list_has_pending_subscriptions()) { cons_show_sent_subs();
cons_show("Awaiting subscription responses from:");
GSList *contacts = get_contact_list();
while (contacts != NULL) {
PContact contact = (PContact) contacts->data;
if (p_contact_pending_out(contact)) {
cons_show(p_contact_barejid(contact));
}
contacts = g_slist_next(contacts);
}
} else {
cons_show("No pending requests sent.");
}
return TRUE; return TRUE;
} }
if (strcmp(subcmd, "received") == 0) { if (strcmp(subcmd, "received") == 0) {
GList *received = presence_get_subscription_requests(); cons_show_received_subs();
if (received == NULL) {
cons_show("No outstanding subscription requests.");
} else {
cons_show("Outstanding subscription requests from:",
g_list_length(received));
while (received != NULL) {
cons_show(received->data);
received = g_list_next(received);
}
}
return TRUE; return TRUE;
} }

View File

@ -563,6 +563,41 @@ cons_show_software_version(const char * const jid, const char * const presence,
_cons_alert(); _cons_alert();
} }
void
cons_show_received_subs(void)
{
GList *received = presence_get_subscription_requests();
if (received == NULL) {
cons_show("No outstanding subscription requests.");
} else {
cons_show("Outstanding subscription requests from:",
g_list_length(received));
while (received != NULL) {
cons_show(" %s", received->data);
received = g_list_next(received);
}
}
}
void
cons_show_sent_subs(void)
{
if (contact_list_has_pending_subscriptions()) {
GSList *contacts = get_contact_list();
PContact contact = NULL;
cons_show("Awaiting subscription responses from:");
while (contacts != NULL) {
contact = (PContact) contacts->data;
if (p_contact_pending_out(contact)) {
cons_show(" %s", p_contact_barejid(contact));
}
contacts = g_slist_next(contacts);
}
} else {
cons_show("No pending requests sent.");
}
}
void void
cons_show_room_list(GSList *rooms, const char * const conference_node) cons_show_room_list(GSList *rooms, const char * const conference_node)
{ {

View File

@ -167,6 +167,8 @@ void cons_check_version(gboolean not_available_msg);
void cons_show_typing(const char * const short_from); void cons_show_typing(const char * const short_from);
void cons_show_incoming_message(const char * const short_from, const int win_index); void cons_show_incoming_message(const char * const short_from, const int win_index);
void cons_show_room_invites(GSList *invites); void cons_show_room_invites(GSList *invites);
void cons_show_received_subs(void);
void cons_show_sent_subs(void);
// status bar actions // status bar actions
void status_bar_refresh(void); void status_bar_refresh(void);