annotate libpurple/protocols/oscar/visibility.c @ 31588:06ed9020b784

jabber: Treat empty <group/> elements as "Buddies", not "" This ultimately led to duplicates in the list, because we had one entry in the GSList as "", and one as NULL, both of which are invalid group names, which resulted in the core blithely replacing them with "Buddies" and generating duplicates. I've tested with and without, and can reproduce the issues without the change. Log: <item subscription='both' name='person' jid='person@example.com'><group></group><group></group></item> (19:32:23) jabber: jabber_roster_parse(): Removing person@example.com from group 'Buddies' on the local list (19:32:23) GLib: g_string_append: assertion `val != NULL' failed (19:32:23) jabber: jabber_roster_parse(): Adding person@example.com to groups: , (19:32:23) g_log: purple_find_group: assertion `(name != NULL) && (*name != '\0')' failed (19:32:23) g_log: purple_group_new: assertion `name != NULL' failed (19:32:23) g_log: purple_blist_add_group: assertion `group != NULL' failed (19:32:23) g_log: purple_find_group: assertion `(name != NULL) && (*name != '\0')' failed (19:32:23) g_log: purple_group_new: assertion `*name != '\0'' failed (19:32:23) g_log: purple_blist_add_group: assertion `group != NULL' failed Since I had to look it up, purple_blist_add_buddy replaces (group == NULL) with "Buddies".
author Paul Aurich <paul@darkrain42.org>
date Wed, 11 May 2011 01:58:03 +0000
parents 1ade51ed363c
children 8d6630912021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30372
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
1 /*
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
2 * Purple's oscar protocol plugin
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
3 * This file is the legal property of its developers.
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
4 * Please see the AUTHORS file distributed alongside this file.
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
5 *
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
6 * This library is free software; you can redistribute it and/or
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
7 * modify it under the terms of the GNU Lesser General Public
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
8 * License as published by the Free Software Foundation; either
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
9 * version 2 of the License, or (at your option) any later version.
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
10 *
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
11 * This library is distributed in the hope that it will be useful,
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
14 * Lesser General Public License for more details.
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
15 *
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
16 * You should have received a copy of the GNU Lesser General Public
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
17 * License along with this library; if not, write to the Free Software
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
30577
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
19 */
30372
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
20
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
21 #include "visibility.h"
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
22
30938
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
23 /* Translators: This string is a menu option that, if selected, will cause
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
24 you to appear online to the chosen user even when your status is set to
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
25 Invisible. */
30375
ab7e28b1b478 Gettextized the code and rephrased some of the messages slightly.
ivan.komarov@soc.pidgin.im
parents: 30374
diff changeset
26 #define APPEAR_ONLINE N_("Appear Online")
30938
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
27
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
28 /* Translators: This string is a menu option that, if selected, will cause
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
29 you to appear offline to the chosen user when your status is set to
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
30 Invisible (this is the default). */
30375
ab7e28b1b478 Gettextized the code and rephrased some of the messages slightly.
ivan.komarov@soc.pidgin.im
parents: 30374
diff changeset
31 #define DONT_APPEAR_ONLINE N_("Don't Appear Online")
30938
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
32
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
33 /* Translators: This string is a menu option that, if selected, will cause
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
34 you to always appear offline to the chosen user (even when your status
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
35 isn't Invisible). */
30375
ab7e28b1b478 Gettextized the code and rephrased some of the messages slightly.
ivan.komarov@soc.pidgin.im
parents: 30374
diff changeset
36 #define APPEAR_OFFLINE N_("Appear Offline")
30938
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
37
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
38 /* Translators: This string is a menu option that, if selected, will cause
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
39 you to appear offline to the chosen user if you are invisible, and
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
40 appear online to the chosen user if you are not invisible (this is the
1ade51ed363c Add comments for translators
Mark Doliner <mark@kingant.net>
parents: 30578
diff changeset
41 default). */
30375
ab7e28b1b478 Gettextized the code and rephrased some of the messages slightly.
ivan.komarov@soc.pidgin.im
parents: 30374
diff changeset
42 #define DONT_APPEAR_OFFLINE N_("Don't Appear Offline")
ab7e28b1b478 Gettextized the code and rephrased some of the messages slightly.
ivan.komarov@soc.pidgin.im
parents: 30374
diff changeset
43
30374
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
44 static guint16
30380
2d4dd38c5db5 Two small fixes Mark suggested:
ivan.komarov@soc.pidgin.im
parents: 30378
diff changeset
45 get_buddy_list_type(OscarData *od)
30372
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
46 {
30374
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
47 PurpleAccount *account = purple_connection_get_account(od->gc);
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
48 return purple_account_is_status_active(account, OSCAR_STATUS_ID_INVISIBLE) ? AIM_SSI_TYPE_PERMIT : AIM_SSI_TYPE_DENY;
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
49 }
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
50
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
51 static gboolean
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
52 is_buddy_on_list(OscarData *od, const char *bname)
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
53 {
30380
2d4dd38c5db5 Two small fixes Mark suggested:
ivan.komarov@soc.pidgin.im
parents: 30378
diff changeset
54 return aim_ssi_itemlist_finditem(od->ssi.local, NULL, bname, get_buddy_list_type(od)) != NULL;
30374
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
55 }
30372
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
56
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
57 static void
30374
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
58 visibility_cb(PurpleBlistNode *node, gpointer whatever)
30372
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
59 {
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
60 PurpleBuddy *buddy = PURPLE_BUDDY(node);
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
61 const char* bname = purple_buddy_get_name(buddy);
30374
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
62 OscarData *od = purple_connection_get_protocol_data(purple_account_get_connection(purple_buddy_get_account(buddy)));
30380
2d4dd38c5db5 Two small fixes Mark suggested:
ivan.komarov@soc.pidgin.im
parents: 30378
diff changeset
63 guint16 list_type = get_buddy_list_type(od);
30372
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
64
30374
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
65 if (!is_buddy_on_list(od, bname)) {
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
66 aim_ssi_add_to_private_list(od, bname, list_type);
30372
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
67 } else {
30374
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
68 aim_ssi_del_from_private_list(od, bname, list_type);
30372
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
69 }
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
70 }
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
71
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
72 PurpleMenuAction *
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
73 create_visibility_menu_item(OscarData *od, const char *bname)
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
74 {
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
75 PurpleAccount *account = purple_connection_get_account(od->gc);
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
76 gboolean invisible = purple_account_is_status_active(account, OSCAR_STATUS_ID_INVISIBLE);
30374
48fe4720d795 Removed callback data that was causing a segfault in Finch, because
ivan.komarov@soc.pidgin.im
parents: 30373
diff changeset
77 gboolean on_list = is_buddy_on_list(od, bname);
30375
ab7e28b1b478 Gettextized the code and rephrased some of the messages slightly.
ivan.komarov@soc.pidgin.im
parents: 30374
diff changeset
78 const gchar *label;
30372
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
79
30375
ab7e28b1b478 Gettextized the code and rephrased some of the messages slightly.
ivan.komarov@soc.pidgin.im
parents: 30374
diff changeset
80 if (invisible) {
ab7e28b1b478 Gettextized the code and rephrased some of the messages slightly.
ivan.komarov@soc.pidgin.im
parents: 30374
diff changeset
81 label = on_list ? _(DONT_APPEAR_ONLINE) : _(APPEAR_ONLINE);
ab7e28b1b478 Gettextized the code and rephrased some of the messages slightly.
ivan.komarov@soc.pidgin.im
parents: 30374
diff changeset
82 } else {
ab7e28b1b478 Gettextized the code and rephrased some of the messages slightly.
ivan.komarov@soc.pidgin.im
parents: 30374
diff changeset
83 label = on_list ? _(DONT_APPEAR_OFFLINE) : _(APPEAR_OFFLINE);
ab7e28b1b478 Gettextized the code and rephrased some of the messages slightly.
ivan.komarov@soc.pidgin.im
parents: 30374
diff changeset
84 }
ab7e28b1b478 Gettextized the code and rephrased some of the messages slightly.
ivan.komarov@soc.pidgin.im
parents: 30374
diff changeset
85 return purple_menu_action_new(label, PURPLE_CALLBACK(visibility_cb), NULL, NULL);
30372
5bfef3338383 Added a way to add a user to the (In)Visible list via the context menu.
ivan.komarov@soc.pidgin.im
parents:
diff changeset
86 }
30373
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
87
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
88 static void
30577
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
89 show_private_list(PurplePluginAction *action, guint16 list_type, const gchar *title, const gchar *list_description, const gchar *menu_action_name)
30373
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
90 {
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
91 PurpleConnection *gc = (PurpleConnection *) action->context;
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
92 OscarData *od = purple_connection_get_protocol_data(gc);
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
93 PurpleAccount *account = purple_connection_get_account(gc);
30577
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
94 GSList *buddies, *filtered_buddies, *cur;
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
95 gchar *text, *secondary;
30373
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
96
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
97 buddies = purple_find_buddies(account, NULL);
30577
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
98 filtered_buddies = NULL;
30373
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
99 for (cur = buddies; cur != NULL; cur = cur->next) {
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
100 PurpleBuddy *buddy;
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
101 const gchar *bname;
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
102
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
103 buddy = cur->data;
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
104 bname = purple_buddy_get_name(buddy);
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
105 if (aim_ssi_itemlist_finditem(od->ssi.local, NULL, bname, list_type)) {
30577
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
106 filtered_buddies = g_slist_prepend(filtered_buddies, buddy);
30373
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
107 }
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
108 }
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
109
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
110 g_slist_free(buddies);
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
111
30577
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
112 filtered_buddies = g_slist_reverse(filtered_buddies);
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
113 text = oscar_format_buddies(filtered_buddies, _("you have no buddies on this list"));
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
114 g_slist_free(filtered_buddies);
30373
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
115
30577
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
116 secondary = g_strdup_printf(_("You can add a buddy to this list "
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
117 "by right-clicking on them and "
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
118 "selecting \"%s\""), menu_action_name);
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
119 purple_notify_formatted(gc, title, list_description, secondary, text, NULL, NULL);
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
120 g_free(secondary);
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
121 g_free(text);
30373
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
122 }
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
123
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
124 void
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
125 oscar_show_visible_list(PurplePluginAction *action)
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
126 {
30577
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
127 show_private_list(action, AIM_SSI_TYPE_PERMIT, _("Visible List"),
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
128 _("These buddies will see "
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
129 "your status when you switch "
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
130 "to \"Invisible\""),
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
131 _(APPEAR_ONLINE));
30373
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
132 }
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
133
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
134 void
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
135 oscar_show_invisible_list(PurplePluginAction *action)
4e804413b12b Added a way to view the Visible/Invisible lists.
ivan.komarov@soc.pidgin.im
parents: 30372
diff changeset
136 {
30577
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
137 show_private_list(action, AIM_SSI_TYPE_DENY, _("Invisible List"),
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
138 _("These buddies will always see you as offline"),
7b761c8601f7 disapproval of revision 'eca3adf7cdd9217fcf670611fb705385fcfaa48d'
ivan.komarov@soc.pidgin.im
parents: 30379
diff changeset
139 _(APPEAR_OFFLINE));
30379
242bcf6b1258 Applied and slightly modified Sadrul's patch (http://pidgin.im/~sadrul/pp/icq-list.patch.txt)
ivan.komarov@soc.pidgin.im
parents: 30378
diff changeset
140 }