Allow previous autocompletion with shift tab
This commit is contained in:
@@ -92,9 +92,9 @@ blocked_list(void)
|
||||
}
|
||||
|
||||
char*
|
||||
blocked_ac_find(const char *const search_str)
|
||||
blocked_ac_find(const char *const search_str, gboolean previous)
|
||||
{
|
||||
return autocomplete_complete(blocked_ac, search_str, TRUE);
|
||||
return autocomplete_complete(blocked_ac, search_str, TRUE, previous);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -212,9 +212,9 @@ bookmark_get_list(void)
|
||||
}
|
||||
|
||||
char*
|
||||
bookmark_find(const char *const search_str)
|
||||
bookmark_find(const char *const search_str, gboolean previous)
|
||||
{
|
||||
return autocomplete_complete(bookmark_ac, search_str, TRUE);
|
||||
return autocomplete_complete(bookmark_ac, search_str, TRUE, previous);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -120,7 +120,7 @@ muc_invites_count(void)
|
||||
return autocomplete_length(invite_ac);
|
||||
}
|
||||
|
||||
GSList*
|
||||
GList*
|
||||
muc_invites(void)
|
||||
{
|
||||
return autocomplete_create_list(invite_ac);
|
||||
@@ -135,17 +135,17 @@ muc_invite_password(const char *const room)
|
||||
gboolean
|
||||
muc_invites_contain(const char *const room)
|
||||
{
|
||||
GSList *invites = autocomplete_create_list(invite_ac);
|
||||
GSList *curr = invites;
|
||||
GList *invites = autocomplete_create_list(invite_ac);
|
||||
GList *curr = invites;
|
||||
while (curr) {
|
||||
if (strcmp(curr->data, room) == 0) {
|
||||
g_slist_free_full(invites, g_free);
|
||||
g_list_free_full(invites, g_free);
|
||||
return TRUE;
|
||||
} else {
|
||||
curr = g_slist_next(curr);
|
||||
curr = g_list_next(curr);
|
||||
}
|
||||
}
|
||||
g_slist_free_full(invites, g_free);
|
||||
g_list_free_full(invites, g_free);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
@@ -157,9 +157,9 @@ muc_invites_reset_ac(void)
|
||||
}
|
||||
|
||||
char*
|
||||
muc_invites_find(const char *const search_str)
|
||||
muc_invites_find(const char *const search_str, gboolean previous)
|
||||
{
|
||||
return autocomplete_complete(invite_ac, search_str, TRUE);
|
||||
return autocomplete_complete(invite_ac, search_str, TRUE, previous);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -663,7 +663,7 @@ muc_roster_nick_change_complete(const char *const room, const char *const nick)
|
||||
}
|
||||
|
||||
char*
|
||||
muc_autocomplete(ProfWin *window, const char *const input)
|
||||
muc_autocomplete(ProfWin *window, const char *const input, gboolean previous)
|
||||
{
|
||||
if (window->type == WIN_MUC) {
|
||||
ProfMucWin *mucwin = (ProfMucWin*)window;
|
||||
@@ -686,7 +686,7 @@ muc_autocomplete(ProfWin *window, const char *const input)
|
||||
}
|
||||
}
|
||||
|
||||
char *result = autocomplete_complete(chat_room->nick_ac, search_str, FALSE);
|
||||
char *result = autocomplete_complete(chat_room->nick_ac, search_str, FALSE, previous);
|
||||
if (result) {
|
||||
GString *replace_with = g_string_new(chat_room->autocomplete_prefix);
|
||||
g_string_append(replace_with, result);
|
||||
|
||||
@@ -120,10 +120,10 @@ char* muc_roster_nick_change_complete(const char *const room, const char *const
|
||||
void muc_invites_add(const char *const room, const char *const password);
|
||||
void muc_invites_remove(const char *const room);
|
||||
gint muc_invites_count(void);
|
||||
GSList* muc_invites(void);
|
||||
GList* muc_invites(void);
|
||||
gboolean muc_invites_contain(const char *const room);
|
||||
void muc_invites_reset_ac(void);
|
||||
char* muc_invites_find(const char *const search_str);
|
||||
char* muc_invites_find(const char *const search_str, gboolean previous);
|
||||
void muc_invites_clear(void);
|
||||
char* muc_invite_password(const char *const room);
|
||||
|
||||
@@ -133,7 +133,7 @@ char* muc_subject(const char *const room);
|
||||
void muc_pending_broadcasts_add(const char *const room, const char *const message);
|
||||
GList* muc_pending_broadcasts(const char *const room);
|
||||
|
||||
char* muc_autocomplete(ProfWin *window, const char *const input);
|
||||
char* muc_autocomplete(ProfWin *window, const char *const input, gboolean previous);
|
||||
void muc_autocomplete_reset(const char *const room);
|
||||
|
||||
gboolean muc_requires_config(const char *const room);
|
||||
|
||||
@@ -141,7 +141,7 @@ presence_subscription(const char *const jid, const jabber_subscr_t action)
|
||||
xmpp_stanza_release(presence);
|
||||
}
|
||||
|
||||
GSList*
|
||||
GList*
|
||||
presence_get_subscription_requests(void)
|
||||
{
|
||||
return autocomplete_create_list(sub_requests_ac);
|
||||
@@ -160,9 +160,9 @@ presence_clear_sub_requests(void)
|
||||
}
|
||||
|
||||
char*
|
||||
presence_sub_request_find(const char *const search_str)
|
||||
presence_sub_request_find(const char *const search_str, gboolean previous)
|
||||
{
|
||||
return autocomplete_complete(sub_requests_ac, search_str, TRUE);
|
||||
return autocomplete_complete(sub_requests_ac, search_str, TRUE, previous);
|
||||
}
|
||||
|
||||
gboolean
|
||||
@@ -170,16 +170,16 @@ presence_sub_request_exists(const char *const bare_jid)
|
||||
{
|
||||
gboolean result = FALSE;
|
||||
|
||||
GSList *requests = autocomplete_create_list(sub_requests_ac);
|
||||
GSList *curr = requests;
|
||||
GList *requests = autocomplete_create_list(sub_requests_ac);
|
||||
GList *curr = requests;
|
||||
while (curr) {
|
||||
if (strcmp(curr->data, bare_jid) == 0) {
|
||||
result = TRUE;
|
||||
break;
|
||||
}
|
||||
curr = g_slist_next(curr);
|
||||
curr = g_list_next(curr);
|
||||
}
|
||||
g_slist_free_full(requests, free);
|
||||
g_list_free_full(requests, free);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -472,19 +472,19 @@ roster_has_pending_subscriptions(void)
|
||||
}
|
||||
|
||||
char*
|
||||
roster_contact_autocomplete(const char *const search_str)
|
||||
roster_contact_autocomplete(const char *const search_str, gboolean previous)
|
||||
{
|
||||
assert(roster != NULL);
|
||||
|
||||
return autocomplete_complete(roster->name_ac, search_str, TRUE);
|
||||
return autocomplete_complete(roster->name_ac, search_str, TRUE, previous);
|
||||
}
|
||||
|
||||
char*
|
||||
roster_fulljid_autocomplete(const char *const search_str)
|
||||
roster_fulljid_autocomplete(const char *const search_str, gboolean previous)
|
||||
{
|
||||
assert(roster != NULL);
|
||||
|
||||
return autocomplete_complete(roster->fulljid_ac, search_str, TRUE);
|
||||
return autocomplete_complete(roster->fulljid_ac, search_str, TRUE, previous);
|
||||
}
|
||||
|
||||
GSList*
|
||||
@@ -526,7 +526,7 @@ roster_get_group(const char *const group, roster_ord_t order)
|
||||
return result;
|
||||
}
|
||||
|
||||
GSList*
|
||||
GList*
|
||||
roster_get_groups(void)
|
||||
{
|
||||
assert(roster != NULL);
|
||||
@@ -535,19 +535,19 @@ roster_get_groups(void)
|
||||
}
|
||||
|
||||
char*
|
||||
roster_group_autocomplete(const char *const search_str)
|
||||
roster_group_autocomplete(const char *const search_str, gboolean previous)
|
||||
{
|
||||
assert(roster != NULL);
|
||||
|
||||
return autocomplete_complete(roster->groups_ac, search_str, TRUE);
|
||||
return autocomplete_complete(roster->groups_ac, search_str, TRUE, previous);
|
||||
}
|
||||
|
||||
char*
|
||||
roster_barejid_autocomplete(const char *const search_str)
|
||||
roster_barejid_autocomplete(const char *const search_str, gboolean previous)
|
||||
{
|
||||
assert(roster != NULL);
|
||||
|
||||
return autocomplete_complete(roster->barejid_ac, search_str, TRUE);
|
||||
return autocomplete_complete(roster->barejid_ac, search_str, TRUE, previous);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
||||
@@ -62,12 +62,12 @@ char* roster_barejid_from_name(const char *const name);
|
||||
GSList* roster_get_contacts(roster_ord_t order);
|
||||
GSList* roster_get_contacts_online(void);
|
||||
gboolean roster_has_pending_subscriptions(void);
|
||||
char* roster_contact_autocomplete(const char *const search_str);
|
||||
char* roster_fulljid_autocomplete(const char *const search_str);
|
||||
char* roster_contact_autocomplete(const char *const search_str, gboolean previous);
|
||||
char* roster_fulljid_autocomplete(const char *const search_str, gboolean previous);
|
||||
GSList* roster_get_group(const char *const group, roster_ord_t order);
|
||||
GSList* roster_get_groups(void);
|
||||
char* roster_group_autocomplete(const char *const search_str);
|
||||
char* roster_barejid_autocomplete(const char *const search_str);
|
||||
GList* roster_get_groups(void);
|
||||
char* roster_group_autocomplete(const char *const search_str, gboolean previous);
|
||||
char* roster_barejid_autocomplete(const char *const search_str, gboolean previous);
|
||||
GSList* roster_get_contacts_by_presence(const char *const presence);
|
||||
char* roster_get_msg_display_name(const char *const barejid, const char *const resource);
|
||||
|
||||
|
||||
@@ -147,10 +147,10 @@ void message_send_gone(const char *const jid);
|
||||
void message_send_invite(const char *const room, const char *const contact, const char *const reason);
|
||||
|
||||
void presence_subscription(const char *const jid, const jabber_subscr_t action);
|
||||
GSList* presence_get_subscription_requests(void);
|
||||
GList* presence_get_subscription_requests(void);
|
||||
gint presence_sub_request_count(void);
|
||||
void presence_reset_sub_request_search(void);
|
||||
char* presence_sub_request_find(const char *const search_str);
|
||||
char* presence_sub_request_find(const char *const search_str, gboolean previous);
|
||||
void presence_join_room(const char *const room, const char *const nick, const char *const passwd);
|
||||
void presence_change_room_nick(const char *const room, const char *const nick);
|
||||
void presence_leave_chat_room(const char *const room_jid);
|
||||
@@ -194,7 +194,7 @@ gboolean bookmark_update(const char *jid, const char *nick, const char *password
|
||||
gboolean bookmark_remove(const char *jid);
|
||||
gboolean bookmark_join(const char *jid);
|
||||
GList* bookmark_get_list(void);
|
||||
char* bookmark_find(const char *const search_str);
|
||||
char* bookmark_find(const char *const search_str, gboolean previous);
|
||||
void bookmark_autocomplete_reset(void);
|
||||
gboolean bookmark_exists(const char *const room);
|
||||
|
||||
@@ -207,7 +207,7 @@ void roster_send_remove(const char *const barejid);
|
||||
GList* blocked_list(void);
|
||||
gboolean blocked_add(char *jid);
|
||||
gboolean blocked_remove(char *jid);
|
||||
char* blocked_ac_find(const char *const search_str);
|
||||
char* blocked_ac_find(const char *const search_str, gboolean previous);
|
||||
void blocked_ac_reset(void);
|
||||
|
||||
void form_destroy(DataForm *form);
|
||||
|
||||
Reference in New Issue
Block a user