Mercurial > pidgin
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 |
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 } |