mirror of
https://github.com/profanity-im/profanity.git
synced 2024-11-03 19:37:16 -05:00
Implemented "/sub sent" to show outstanding sent subscription requests
This commit is contained in:
parent
b7a7be37e9
commit
0756a9cec6
@ -991,7 +991,20 @@ _cmd_sub(gchar **args, struct cmd_help_t help)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (strcmp(subcmd, "sent") == 0) {
|
if (strcmp(subcmd, "sent") == 0) {
|
||||||
cons_show("No pending requests sent.");
|
if (contact_list_has_pending_subscriptions()) {
|
||||||
|
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_jid(contact));
|
||||||
|
}
|
||||||
|
contacts = g_slist_next(contacts);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
cons_show("No pending requests sent.");
|
||||||
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1001,7 +1014,7 @@ _cmd_sub(gchar **args, struct cmd_help_t help)
|
|||||||
if (received == NULL) {
|
if (received == NULL) {
|
||||||
cons_show("No outstanding subscription requests.");
|
cons_show("No outstanding subscription requests.");
|
||||||
} else {
|
} else {
|
||||||
cons_show("%d outstanding subscription requests from:",
|
cons_show("Outstanding subscription requests from:",
|
||||||
g_list_length(received));
|
g_list_length(received));
|
||||||
while (received != NULL) {
|
while (received != NULL) {
|
||||||
cons_show(received->data);
|
cons_show(received->data);
|
||||||
|
@ -118,6 +118,24 @@ contact_list_update_subscription(const char * const jid,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gboolean
|
||||||
|
contact_list_has_pending_subscriptions(void)
|
||||||
|
{
|
||||||
|
GHashTableIter iter;
|
||||||
|
gpointer key;
|
||||||
|
gpointer value;
|
||||||
|
|
||||||
|
g_hash_table_iter_init(&iter, contacts);
|
||||||
|
while (g_hash_table_iter_next(&iter, &key, &value)) {
|
||||||
|
PContact contact = (PContact) value;
|
||||||
|
if (p_contact_pending_out(contact)) {
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
GSList *
|
GSList *
|
||||||
get_contact_list(void)
|
get_contact_list(void)
|
||||||
{
|
{
|
||||||
|
@ -38,6 +38,7 @@ gboolean contact_list_update_contact(const char * const jid, const char * const
|
|||||||
const char * const status);
|
const char * const status);
|
||||||
void contact_list_update_subscription(const char * const jid,
|
void contact_list_update_subscription(const char * const jid,
|
||||||
const char * const subscription, gboolean pending_out);
|
const char * const subscription, gboolean pending_out);
|
||||||
|
gboolean contact_list_has_pending_subscriptions(void);
|
||||||
GSList * get_contact_list(void);
|
GSList * get_contact_list(void);
|
||||||
char * contact_list_find_contact(char *search_str);
|
char * contact_list_find_contact(char *search_str);
|
||||||
PContact contact_list_get_contact(const char const *jid);
|
PContact contact_list_get_contact(const char const *jid);
|
||||||
|
@ -156,7 +156,7 @@ prof_handle_subscription(const char *from, jabber_subscr_t type)
|
|||||||
/* TODO: auto-subscribe if needed */
|
/* TODO: auto-subscribe if needed */
|
||||||
cons_show("Received authorization request from %s", from);
|
cons_show("Received authorization request from %s", from);
|
||||||
log_info("Received authorization request from %s", from);
|
log_info("Received authorization request from %s", from);
|
||||||
win_show_system_msg(from, "Authorization request, type '/sub add' to accept or '/sub del' to reject");
|
win_show_system_msg(from, "Authorization request, type '/sub allow' to accept or '/sub deny' to reject");
|
||||||
win_current_page_off();
|
win_current_page_off();
|
||||||
break;
|
break;
|
||||||
case PRESENCE_SUBSCRIBED:
|
case PRESENCE_SUBSCRIBED:
|
||||||
|
Loading…
Reference in New Issue
Block a user