annotate libpurple/protocols/msn/msn.c @ 31410:b1022aa66b8a

Call msn_transaction_destroy from msn_cmdproc_send_trans. This way, it always owns in some way the transaction after being called.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Sat, 27 Nov 2010 07:08:24 +0000
parents b4285ea42b6e
children 2812bbd3fc18
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2 * @file msn.c The MSN protocol plugin
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3 *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
4 * purple
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
5 *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
6 * Purple is the legal property of its developers, whose names are too numerous
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 * to list here. Please refer to the COPYRIGHT file distributed with this
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
8 * source distribution.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
10 * This program is free software; you can redistribute it and/or modify
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 * it under the terms of the GNU General Public License as published by
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 * the Free Software Foundation; either version 2 of the License, or
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 * (at your option) any later version.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
15 * This program is distributed in the hope that it will be useful,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 * GNU General Public License for more details.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
20 * You should have received a copy of the GNU General Public License
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
21 * along with this program; if not, write to the Free Software
19680
44b4e8bd759b The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19465
diff changeset
22 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
23 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
24 #define PHOTO_SUPPORT 1
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
25
31195
575d1af924af Add internal here so it brings config.h that make it possible to load the plugin. Fixes a regresion introduced in 7ab10ac51ae5537fc0c3eeca18c24dcadf63728f.
masca@cpw.pidgin.im
parents: 31191
diff changeset
26 #include "internal.h"
575d1af924af Add internal here so it brings config.h that make it possible to load the plugin. Fixes a regresion introduced in 7ab10ac51ae5537fc0c3eeca18c24dcadf63728f.
masca@cpw.pidgin.im
parents: 31191
diff changeset
27
31180
a99b6dcdb60d Remove unnecesary includes from msn.h.
masca@cpw.pidgin.im
parents: 31179
diff changeset
28 #include "debug.h"
a99b6dcdb60d Remove unnecesary includes from msn.h.
masca@cpw.pidgin.im
parents: 31179
diff changeset
29 #include "request.h"
a99b6dcdb60d Remove unnecesary includes from msn.h.
masca@cpw.pidgin.im
parents: 31179
diff changeset
30
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
31 #include "accountopt.h"
23504
69af5301e1a7 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@hxbc.us>
parents: 23501
diff changeset
32 #include "contact.h"
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
33 #include "msg.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
34 #include "page.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
35 #include "pluginpref.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
36 #include "prefs.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
37 #include "session.h"
22887
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
38 #include "smiley.h"
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39 #include "state.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
40 #include "util.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41 #include "cmds.h"
15624
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
42 #include "core.h"
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
43 #include "prpl.h"
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
44 #include "msnutils.h"
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
45 #include "version.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
46
31191
e8e4c4207d30 A little header cleanup.
masca@cpw.pidgin.im
parents: 31183
diff changeset
47 #include "error.h"
24142
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
48 #include "msg.h"
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
49 #include "switchboard.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
50 #include "notification.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
51 #include "slplink.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
52
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
53 #if PHOTO_SUPPORT
23745
80ddf59e1585 A similar size limit for MSN buddy icon retrieval from arbitrary urls.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23736
diff changeset
54 #define MAX_HTTP_BUDDYICON_BYTES (200 * 1024)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
55 #include "imgstore.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
56 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
57
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
58 typedef struct
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
59 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
60 PurpleConnection *gc;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
61 const char *passport;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
62
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
63 } MsnMobileData;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
64
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
65 typedef struct
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
66 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
67 PurpleConnection *gc;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
68 char *name;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
69
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
70 } MsnGetInfoData;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
72 typedef struct
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
73 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
74 MsnGetInfoData *info_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
75 char *stripped;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
76 char *url_buffer;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
77 PurpleNotifyUserInfo *user_info;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
78 char *photo_url_text;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
79
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
80 } MsnGetInfoStepTwoData;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
81
17072
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
82 typedef struct
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
83 {
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
84 PurpleConnection *gc;
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
85 const char *who;
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
86 char *msg;
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
87 PurpleMessageFlags flags;
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
88 time_t when;
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
89 } MsnIMData;
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
90
22887
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
91 typedef struct
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
92 {
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
93 char *smile;
28419
36c6601d650a It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28418
diff changeset
94 PurpleSmiley *ps;
22887
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
95 MsnObject *obj;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
96 } MsnEmoticon;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
97
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
98 typedef struct
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
99 {
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
100 PurpleConnection *pc;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
101 PurpleBuddy *buddy;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
102 PurpleGroup *group;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
103 } MsnAddReqData;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
104
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
105 static const char *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
106 msn_normalize(const PurpleAccount *account, const char *str)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
107 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
108 static char buf[BUF_LEN];
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
109 char *tmp;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
110
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
111 g_return_val_if_fail(str != NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
112
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
113 g_snprintf(buf, sizeof(buf), "%s%s", str,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
114 (strchr(str, '@') ? "" : "@hotmail.com"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
115
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
116 tmp = g_utf8_strdown(buf, -1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
117 strncpy(buf, tmp, sizeof(buf));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
118 g_free(tmp);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
119
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
120 return buf;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
121 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
122
19465
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
123 static gboolean
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
124 msn_send_attention(PurpleConnection *gc, const char *username, guint type)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
125 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
126 MsnMessage *msg;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
127 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
128 MsnSwitchBoard *swboard;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
129
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
130 msg = msn_message_new_nudge();
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
131 session = gc->proto_data;
19465
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
132 swboard = msn_session_get_swboard(session, username, MSN_SB_FLAG_IM);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
133
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
134 msn_switchboard_send_msg(swboard, msg, TRUE);
31393
b4285ea42b6e msn_message_destroy() calls msn_message_unref() if refcount>0. This is
Mark Doliner <mark@kingant.net>
parents: 31392
diff changeset
135 msn_message_unref(msg);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
136
19465
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
137 return TRUE;
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
138 }
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
139
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
140 static GList *
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
141 msn_attention_types(PurpleAccount *account)
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
142 {
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
143 static GList *list = NULL;
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
144
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
145 if (!list) {
22097
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22043
diff changeset
146 list = g_list_append(list, purple_attention_type_new("Nudge", _("Nudge"),
eab7d03edfcb This adds accessor and mutator API for the PurpleAttentionType struct.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22043
diff changeset
147 _("%s has nudged you!"), _("Nudging %s...")));
19465
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
148 }
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
149
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
150 return list;
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
151 }
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
152
23112
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
153 static GHashTable *
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
154 msn_get_account_text_table(PurpleAccount *unused)
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
155 {
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
156 GHashTable *table;
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
157
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
158 table = g_hash_table_new(g_str_hash, g_str_equal);
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
159
23182
e0bcb8cfda74 Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents: 23154
diff changeset
160 g_hash_table_insert(table, "login_label", (gpointer)_("Email Address..."));
23112
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
161
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
162 return table;
bb41bdce8981 Patch from Jaywalker to let prpls add some helpful text for some account
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23111
diff changeset
163 }
19465
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
164
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
165 static PurpleCmdRet
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
166 msn_cmd_nudge(PurpleConversation *conv, const gchar *cmd, gchar **args, gchar **error, void *data)
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
167 {
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
168 PurpleAccount *account = purple_conversation_get_account(conv);
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
169 PurpleConnection *gc = purple_account_get_connection(account);
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
170 const gchar *username;
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
171
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
172 username = purple_conversation_get_name(conv);
d9d9283680a4 In MSN prpl, use attention API. Can be disabled by undefining
Jeffrey Connelly <jaconnel@calpoly.edu>
parents: 18063
diff changeset
173
23751
797377cbd5bf Change the other prpls to use new purple_prpl_{send,got}_attention API.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23745
diff changeset
174 purple_prpl_send_attention(gc, username, MSN_NUDGE);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
175
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
176 return PURPLE_CMD_RET_OK;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
177 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
178
30312
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
179 struct public_alias_closure
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
180 {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
181 PurpleAccount *account;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
182 gpointer success_cb;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
183 gpointer failure_cb;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
184 };
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
185
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
186 static gboolean
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
187 set_public_alias_length_error(gpointer data)
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
188 {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
189 struct public_alias_closure *closure = data;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
190 PurpleSetPublicAliasFailureCallback failure_cb = closure->failure_cb;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
191
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
192 failure_cb(closure->account, _("Your new MSN friendly name is too long."));
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
193 g_free(closure);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
194
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
195 return FALSE;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
196 }
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
197
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
198 static void
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
199 prp_success_cb(MsnCmdProc *cmdproc, MsnCommand *cmd)
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
200 {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
201 const char *type, *friendlyname;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
202 struct public_alias_closure *closure;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
203
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
204 g_return_if_fail(cmd->param_count >= 3);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
205 type = cmd->params[1];
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
206 g_return_if_fail(!strcmp(type, "MFN"));
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
207
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
208 closure = cmd->trans->data;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
209 friendlyname = purple_url_decode(cmd->params[2]);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
210
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
211 msn_update_contact(cmdproc->session, "Me", MSN_UPDATE_DISPLAY, friendlyname);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
212
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
213 purple_connection_set_display_name(
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
214 purple_account_get_connection(closure->account),
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
215 friendlyname);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
216 purple_account_set_string(closure->account, "display-name", friendlyname);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
217
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
218 if (closure->success_cb) {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
219 PurpleSetPublicAliasSuccessCallback success_cb = closure->success_cb;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
220 success_cb(closure->account, friendlyname);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
221 }
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
222 }
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
223
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
224 static void
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
225 prp_error_cb(MsnCmdProc *cmdproc, MsnTransaction *trans, int error)
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
226 {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
227 struct public_alias_closure *closure = trans->data;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
228 PurpleSetPublicAliasFailureCallback failure_cb = closure->failure_cb;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
229 gboolean debug;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
230 const char *error_text;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
231
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
232 error_text = msn_error_get_text(error, &debug);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
233 failure_cb(closure->account, error_text);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
234 }
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
235
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
236 static void
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
237 prp_timeout_cb(MsnCmdProc *cmdproc, MsnTransaction *trans)
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
238 {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
239 struct public_alias_closure *closure = trans->data;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
240 PurpleSetPublicAliasFailureCallback failure_cb = closure->failure_cb;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
241 failure_cb(closure->account, _("Connection Timeout"));
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
242 }
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
243
19797
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
244 void
30312
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
245 msn_set_public_alias(PurpleConnection *pc, const char *alias,
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
246 PurpleSetPublicAliasSuccessCallback success_cb,
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
247 PurpleSetPublicAliasFailureCallback failure_cb)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
248 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
249 MsnCmdProc *cmdproc;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
250 MsnSession *session;
31147
4d7dfeae29c6 msn: Delete msn_cmdproc_send since it just have duplicated code from
masca@cpw.pidgin.im
parents: 31143
diff changeset
251 MsnTransaction *trans;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
252 PurpleAccount *account;
30312
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
253 const char *real_alias;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
254 struct public_alias_closure *closure;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
255
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
256 session = purple_connection_get_protocol_data(pc);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
257 cmdproc = session->notification->cmdproc;
30312
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
258 account = purple_connection_get_account(pc);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
259
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
260 if (alias && *alias)
27558
8accf7a2264c The MSN client and server strips leading and trailing whitespace, so do the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27477
diff changeset
261 {
30312
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
262 char *tmp = g_strdup(alias);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
263 real_alias = purple_url_encode(g_strstrip(tmp));
27558
8accf7a2264c The MSN client and server strips leading and trailing whitespace, so do the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27477
diff changeset
264 g_free(tmp);
8accf7a2264c The MSN client and server strips leading and trailing whitespace, so do the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27477
diff changeset
265 }
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
266 else
30312
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
267 real_alias = "";
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
268
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
269 if (strlen(real_alias) > BUDDY_ALIAS_MAXLEN)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
270 {
30312
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
271 if (failure_cb) {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
272 struct public_alias_closure *closure =
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
273 g_new0(struct public_alias_closure, 1);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
274 closure->account = account;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
275 closure->failure_cb = failure_cb;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
276 purple_timeout_add(0, set_public_alias_length_error, closure);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
277 } else {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
278 purple_notify_error(pc, NULL,
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
279 _("Your new MSN friendly name is too long."),
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
280 NULL);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
281 }
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
282 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
283 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
284
30312
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
285 if (*real_alias == '\0') {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
286 real_alias = purple_url_encode(purple_account_get_username(account));
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
287 }
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
288
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
289 closure = g_new0(struct public_alias_closure, 1);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
290 closure->account = account;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
291 closure->success_cb = success_cb;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
292 closure->failure_cb = failure_cb;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
293
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
294 trans = msn_transaction_new(cmdproc, "PRP", "MFN %s", real_alias);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
295 msn_transaction_set_data(trans, closure);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
296 msn_transaction_set_data_free(trans, g_free);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
297 msn_transaction_add_cb(trans, "PRP", prp_success_cb);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
298 if (failure_cb) {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
299 msn_transaction_set_error_cb(trans, prp_error_cb);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
300 msn_transaction_set_timeout_cb(trans, prp_timeout_cb);
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
301 }
30312
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
302 msn_cmdproc_send_trans(cmdproc, trans);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
303 }
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
304
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
305 static gboolean
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
306 get_public_alias_cb(gpointer data)
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
307 {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
308 struct public_alias_closure *closure = data;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
309 PurpleGetPublicAliasSuccessCallback success_cb = closure->success_cb;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
310 const char *alias;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
311
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
312 alias = purple_account_get_string(closure->account, "display-name",
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
313 purple_account_get_username(closure->account));
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
314 success_cb(closure->account, alias);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
315 g_free(closure);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
316
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
317 return FALSE;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
318 }
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
319
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
320 static void
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
321 msn_get_public_alias(PurpleConnection *pc,
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
322 PurpleGetPublicAliasSuccessCallback success_cb,
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
323 PurpleGetPublicAliasFailureCallback failure_cb)
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
324 {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
325 struct public_alias_closure *closure = g_new0(struct public_alias_closure, 1);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
326 PurpleAccount *account = purple_connection_get_account(pc);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
327
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
328 closure->account = account;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
329 closure->success_cb = success_cb;
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
330 purple_timeout_add(0, get_public_alias_cb, closure);
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
331 }
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
332
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
333 static void
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
334 msn_act_id(PurpleConnection *gc, const char *entry)
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
335 {
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
336 msn_set_public_alias(gc, entry, NULL, NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
337 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
338
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
339 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
340 msn_set_prp(PurpleConnection *gc, const char *type, const char *entry)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
341 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
342 MsnCmdProc *cmdproc;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
343 MsnSession *session;
31147
4d7dfeae29c6 msn: Delete msn_cmdproc_send since it just have duplicated code from
masca@cpw.pidgin.im
parents: 31143
diff changeset
344 MsnTransaction *trans;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
345
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
346 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
347 cmdproc = session->notification->cmdproc;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
348
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
349 if (entry == NULL || *entry == '\0')
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
350 {
31147
4d7dfeae29c6 msn: Delete msn_cmdproc_send since it just have duplicated code from
masca@cpw.pidgin.im
parents: 31143
diff changeset
351 trans = msn_transaction_new(cmdproc, "PRP", "%s", type);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
352 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
353 else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
354 {
31147
4d7dfeae29c6 msn: Delete msn_cmdproc_send since it just have duplicated code from
masca@cpw.pidgin.im
parents: 31143
diff changeset
355 trans = msn_transaction_new(cmdproc, "PRP", "%s %s", type,
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
356 purple_url_encode(entry));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
357 }
31153
59cf1be8eaa7 Fix a few little things.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31149
diff changeset
358 msn_cmdproc_send_trans(cmdproc, trans);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
359 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
360
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
361 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
362 msn_set_home_phone_cb(PurpleConnection *gc, const char *entry)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
363 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
364 msn_set_prp(gc, "PHH", entry);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
365 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
366
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
367 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
368 msn_set_work_phone_cb(PurpleConnection *gc, const char *entry)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
369 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
370 msn_set_prp(gc, "PHW", entry);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
371 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
372
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
373 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
374 msn_set_mobile_phone_cb(PurpleConnection *gc, const char *entry)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
375 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
376 msn_set_prp(gc, "PHM", entry);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
377 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
378
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
379 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
380 enable_msn_pages_cb(PurpleConnection *gc)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
381 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
382 msn_set_prp(gc, "MOB", "Y");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
383 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
384
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
385 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
386 disable_msn_pages_cb(PurpleConnection *gc)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
387 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
388 msn_set_prp(gc, "MOB", "N");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
389 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
390
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
391 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
392 send_to_mobile(PurpleConnection *gc, const char *who, const char *entry)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
393 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
394 MsnTransaction *trans;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
395 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
396 MsnCmdProc *cmdproc;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
397 MsnPage *page;
28414
e7a2e2208f88 Display the full message when there are errors sending a MSN Mobile message
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27604
diff changeset
398 MsnMessage *msg;
22518
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
399 MsnUser *user;
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
400 char *payload = NULL;
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
401 const char *mobile_number = NULL;
22798
05cb3f04c01e This cleans up a bunch of warnings that stem from the fact that size_t and
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22518
diff changeset
402 gsize payload_len;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
403
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
404 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
405 cmdproc = session->notification->cmdproc;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
406
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
407 page = msn_page_new();
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
408 msn_page_set_body(page, entry);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
409
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
410 payload = msn_page_gen_payload(page, &payload_len);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
411
22518
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
412 if ((user = msn_userlist_find_user(session->userlist, who)) &&
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
413 (mobile_number = msn_user_get_mobile_phone(user)) &&
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
414 mobile_number[0] == '+') {
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
415 /* if msn_user_get_mobile_phone() has a + in front, it's a number
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
416 that from the buddy's contact card */
22798
05cb3f04c01e This cleans up a bunch of warnings that stem from the fact that size_t and
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22518
diff changeset
417 trans = msn_transaction_new(cmdproc, "PGD", "tel:%s 1 %" G_GSIZE_FORMAT,
22518
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
418 mobile_number, payload_len);
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
419 } else {
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
420 /* otherwise we send to whatever phone number the buddy registered
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
421 with msn */
22798
05cb3f04c01e This cleans up a bunch of warnings that stem from the fact that size_t and
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22518
diff changeset
422 trans = msn_transaction_new(cmdproc, "PGD", "%s 1 %" G_GSIZE_FORMAT,
05cb3f04c01e This cleans up a bunch of warnings that stem from the fact that size_t and
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22518
diff changeset
423 who, payload_len);
22518
6aa076a2ea6f Another patch from Maiku that improves the way we send mobile messages, this
Ka-Hing Cheung <khc@hxbc.us>
parents: 22433
diff changeset
424 }
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
425
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
426 msn_transaction_set_payload(trans, payload, payload_len);
20989
2097b1664fa3 Fix some leaks and prevent some unnecessary allocations and frees.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 20957
diff changeset
427 g_free(payload);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
428
28414
e7a2e2208f88 Display the full message when there are errors sending a MSN Mobile message
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27604
diff changeset
429 msg = msn_message_new_plain(entry);
e7a2e2208f88 Display the full message when there are errors sending a MSN Mobile message
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27604
diff changeset
430 msn_transaction_set_data(trans, msg);
e7a2e2208f88 Display the full message when there are errors sending a MSN Mobile message
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27604
diff changeset
431
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
432 msn_page_destroy(page);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
433
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
434 msn_cmdproc_send_trans(cmdproc, trans);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
435 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
436
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
437 static void
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
438 send_to_mobile_cb(MsnMobileData *data, const char *entry)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
439 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
440 send_to_mobile(data->gc, data->passport, entry);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
441 g_free(data);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
442 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
443
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
444 static void
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
445 close_mobile_page_cb(MsnMobileData *data, const char *entry)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
446 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
447 g_free(data);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
448 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
449
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
450 /* -- */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
451
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
452 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
453 msn_show_set_friendly_name(PurplePluginAction *action)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
454 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
455 PurpleConnection *gc;
29207
5259ca10b641 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
456 PurpleAccount *account;
5259ca10b641 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
457 char *tmp;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
458
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
459 gc = (PurpleConnection *) action->context;
29207
5259ca10b641 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
460 account = purple_connection_get_account(gc);
5259ca10b641 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
461
5259ca10b641 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
462 tmp = g_strdup_printf(_("Set friendly name for %s."),
5259ca10b641 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
463 purple_account_get_username(account));
31165
e167de25e795 Give the Set Friendly Name window a better title
Mark Doliner <mark@kingant.net>
parents: 31164
diff changeset
464 purple_request_input(gc, _("Set Friendly Name"), tmp,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
465 _("This is the name that other MSN buddies will "
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
466 "see you as."),
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
467 purple_connection_get_display_name(gc), FALSE, FALSE, NULL,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
468 _("OK"), G_CALLBACK(msn_act_id),
16442
08db93bbd798 Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents: 15823
diff changeset
469 _("Cancel"), NULL,
29207
5259ca10b641 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
470 account, NULL, NULL,
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
471 gc);
29207
5259ca10b641 Show the name of the account in the "Set Friendly Name" dialog.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
472 g_free(tmp);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
473 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
474
31126
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
475 typedef struct MsnLocationData {
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
476 PurpleAccount *account;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
477 MsnSession *session;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
478 PurpleRequestFieldGroup *group;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
479 } MsnLocationData;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
480
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
481 static void
31126
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
482 update_endpoint_cb(MsnLocationData *data, PurpleRequestFields *fields)
31123
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
483 {
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
484 PurpleAccount *account;
31126
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
485 MsnSession *session;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
486 const char *old_name;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
487 const char *name;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
488 GList *others;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
489
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
490 session = data->session;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
491 account = data->account;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
492
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
493 /* Update the current location's name */
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
494 old_name = purple_account_get_string(account, "endpoint-name", NULL);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
495 name = purple_request_fields_get_string(fields, "endpoint-name");
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
496 if (!g_str_equal(old_name, name)) {
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
497 purple_account_set_string(account, "endpoint-name", name);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
498 msn_notification_send_uux_private_endpointdata(session);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
499 }
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
500
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
501 /* Sign out other locations */
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
502 for (others = purple_request_field_group_get_fields(data->group);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
503 others;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
504 others = g_list_next(others)) {
31127
fe607234b0d8 When looping through the request fields, don't try to disconnect a field if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31126
diff changeset
505 PurpleRequestField *field = others->data;
fe607234b0d8 When looping through the request fields, don't try to disconnect a field if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31126
diff changeset
506 if (purple_request_field_get_type(field) != PURPLE_REQUEST_FIELD_BOOLEAN)
fe607234b0d8 When looping through the request fields, don't try to disconnect a field if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31126
diff changeset
507 continue;
31128
d80d32644492 Fix this inverted logic. Disconnect the selected endpoints as said in the field label.
masca@cpw.pidgin.im
parents: 31127
diff changeset
508 if (purple_request_field_bool_get_value(field)) {
31127
fe607234b0d8 When looping through the request fields, don't try to disconnect a field if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31126
diff changeset
509 const char *id = purple_request_field_get_id(field);
31126
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
510 char *user;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
511 purple_debug_info("msn", "Disconnecting Endpoint %s\n", id);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
512
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
513 user = g_strdup_printf("%s;%s", purple_account_get_username(account), id);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
514 msn_notification_send_uun(session, user, MSN_UNIFIED_NOTIFICATION_MPOP, "goawyplzthxbye");
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
515 g_free(user);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
516 }
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
517 }
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
518
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
519 g_free(data);
31123
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
520 }
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
521
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
522 static void
31126
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
523 msn_show_locations(PurplePluginAction *action)
31123
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
524 {
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
525 PurpleConnection *pc;
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
526 PurpleAccount *account;
31126
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
527 MsnSession *session;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
528 PurpleRequestFields *fields;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
529 PurpleRequestFieldGroup *group;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
530 PurpleRequestField *field;
31392
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
531 gboolean have_other_endpoints;
31166
2a5dbea6ab6b Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <mark@kingant.net>
parents: 31165
diff changeset
532 GSList *l;
31126
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
533 MsnLocationData *data;
31123
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
534
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
535 pc = (PurpleConnection *)action->context;
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
536 account = purple_connection_get_account(pc);
31126
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
537 session = purple_connection_get_protocol_data(pc);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
538
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
539 fields = purple_request_fields_new();
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
540
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
541 group = purple_request_field_group_new(_("This Location"));
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
542 purple_request_fields_add_group(fields, group);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
543 field = purple_request_field_label_new("endpoint-label", _("This is the name that identifies this location"));
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
544 purple_request_field_group_add_field(group, field);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
545 field = purple_request_field_string_new("endpoint-name",
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
546 _("Name"),
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
547 purple_account_get_string(account, "endpoint-name", NULL),
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
548 FALSE);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
549 purple_request_field_set_required(field, TRUE);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
550 purple_request_field_group_add_field(group, field);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
551
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
552 group = purple_request_field_group_new(_("Other Locations"));
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
553 purple_request_fields_add_group(fields, group);
31392
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
554
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
555 have_other_endpoints = FALSE;
31166
2a5dbea6ab6b Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <mark@kingant.net>
parents: 31165
diff changeset
556 for (l = session->user->endpoints; l; l = l->next) {
2a5dbea6ab6b Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <mark@kingant.net>
parents: 31165
diff changeset
557 MsnUserEndpoint *ep = l->data;
2a5dbea6ab6b Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <mark@kingant.net>
parents: 31165
diff changeset
558
31392
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
559 if (ep->id[0] != '\0' && strncasecmp(ep->id + 1, session->guid, 36) == 0)
31166
2a5dbea6ab6b Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <mark@kingant.net>
parents: 31165
diff changeset
560 /* Don't add myself to the list */
2a5dbea6ab6b Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <mark@kingant.net>
parents: 31165
diff changeset
561 continue;
2a5dbea6ab6b Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <mark@kingant.net>
parents: 31165
diff changeset
562
31392
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
563 if (!have_other_endpoints) {
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
564 /* We do in fact have an endpoint other than ourselves... let's
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
565 add a label */
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
566 field = purple_request_field_label_new("others-label",
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
567 _("You can sign out from other locations here"));
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
568 purple_request_field_group_add_field(group, field);
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
569 }
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
570
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
571 have_other_endpoints = TRUE;
31166
2a5dbea6ab6b Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <mark@kingant.net>
parents: 31165
diff changeset
572 field = purple_request_field_bool_new(ep->id, ep->name, FALSE);
2a5dbea6ab6b Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <mark@kingant.net>
parents: 31165
diff changeset
573 purple_request_field_group_add_field(group, field);
2a5dbea6ab6b Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <mark@kingant.net>
parents: 31165
diff changeset
574 }
31392
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
575 if (!have_other_endpoints) {
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
576 /* TODO: Due to limitations in our current request field API, the
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
577 following string will show up with a trailing colon. This should
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
578 be fixed either by adding an "include_colon" boolean, or creating
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
579 a separate purple_request_field_label_new_without_colon function,
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
580 or by never automatically adding the colon and requiring that
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
581 callers add the colon themselves. */
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
582 field = purple_request_field_label_new("others-label", _("You are not signed in from any other locations."));
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
583 purple_request_field_group_add_field(group, field);
a328691c761a * Don't include ourselves in the list of other endpoints that can be
Mark Doliner <mark@kingant.net>
parents: 31385
diff changeset
584 }
31166
2a5dbea6ab6b Use a linked list to store MsnUserEndpoints instead of a hash table.
Mark Doliner <mark@kingant.net>
parents: 31165
diff changeset
585
31126
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
586 data = g_new0(MsnLocationData, 1);
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
587 data->account = account;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
588 data->session = session;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
589 data->group = group;
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
590
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
591 purple_request_fields(pc, NULL, NULL, NULL,
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
592 fields,
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
593 _("OK"), G_CALLBACK(update_endpoint_cb),
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
594 _("Cancel"), G_CALLBACK(g_free),
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
595 account, NULL, NULL,
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
596 data);
31123
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
597 }
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
598
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
599 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
600 msn_show_set_home_phone(PurplePluginAction *action)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
601 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
602 PurpleConnection *gc;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
603 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
604
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
605 gc = (PurpleConnection *) action->context;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
606 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
607
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
608 purple_request_input(gc, NULL, _("Set your home phone number."), NULL,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
609 msn_user_get_home_phone(session->user), FALSE, FALSE, NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
610 _("OK"), G_CALLBACK(msn_set_home_phone_cb),
16442
08db93bbd798 Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents: 15823
diff changeset
611 _("Cancel"), NULL,
08db93bbd798 Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents: 15823
diff changeset
612 purple_connection_get_account(gc), NULL, NULL,
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
613 gc);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
614 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
615
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
616 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
617 msn_show_set_work_phone(PurplePluginAction *action)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
618 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
619 PurpleConnection *gc;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
620 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
621
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
622 gc = (PurpleConnection *) action->context;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
623 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
624
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
625 purple_request_input(gc, NULL, _("Set your work phone number."), NULL,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
626 msn_user_get_work_phone(session->user), FALSE, FALSE, NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
627 _("OK"), G_CALLBACK(msn_set_work_phone_cb),
16442
08db93bbd798 Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents: 15823
diff changeset
628 _("Cancel"), NULL,
08db93bbd798 Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents: 15823
diff changeset
629 purple_connection_get_account(gc), NULL, NULL,
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
630 gc);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
631 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
632
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
633 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
634 msn_show_set_mobile_phone(PurplePluginAction *action)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
635 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
636 PurpleConnection *gc;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
637 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
638
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
639 gc = (PurpleConnection *) action->context;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
640 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
641
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
642 purple_request_input(gc, NULL, _("Set your mobile phone number."), NULL,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
643 msn_user_get_mobile_phone(session->user), FALSE, FALSE, NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
644 _("OK"), G_CALLBACK(msn_set_mobile_phone_cb),
16442
08db93bbd798 Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents: 15823
diff changeset
645 _("Cancel"), NULL,
08db93bbd798 Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents: 15823
diff changeset
646 purple_connection_get_account(gc), NULL, NULL,
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
647 gc);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
648 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
649
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
650 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
651 msn_show_set_mobile_pages(PurplePluginAction *action)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
652 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
653 PurpleConnection *gc;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
654
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
655 gc = (PurpleConnection *) action->context;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
656
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
657 purple_request_action(gc, NULL, _("Allow MSN Mobile pages?"),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
658 _("Do you want to allow or disallow people on "
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
659 "your buddy list to send you MSN Mobile pages "
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
660 "to your cell phone or other mobile device?"),
22138
8515997d66e9 Minor improvements to the default_action used in purple_action_request
Mark Doliner <mark@kingant.net>
parents: 22103
diff changeset
661 PURPLE_DEFAULT_ACTION_NONE,
16442
08db93bbd798 Added account, who, and conversation parameters to the request API calls, and updated all code to match. I can't compile the Perl module, so I'd appreciate it if someone who knows it would verify that this doesn't break Perl.
Evan Schoenberg <evan.s@dreskin.net>
parents: 15823
diff changeset
662 purple_connection_get_account(gc), NULL, NULL,
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
663 gc, 3,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
664 _("Allow"), G_CALLBACK(enable_msn_pages_cb),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
665 _("Disallow"), G_CALLBACK(disable_msn_pages_cb),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
666 _("Cancel"), NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
667 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
668
23572
25aec47d9671 Disable the MSN blocked text dialog for now because it doesn't always
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23564
diff changeset
669 /* QuLogic: Disabled until confirmed correct. */
25aec47d9671 Disable the MSN blocked text dialog for now because it doesn't always
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23564
diff changeset
670 #if 0
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
671 static void
23522
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
672 msn_show_blocked_text(PurplePluginAction *action)
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
673 {
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
674 PurpleConnection *pc = (PurpleConnection *) action->context;
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
675 MsnSession *session;
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
676 char *title;
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
677
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
678 session = pc->proto_data;
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
679
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
680 title = g_strdup_printf(_("Blocked Text for %s"), session->account->username);
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
681 if (session->blocked_text == NULL) {
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
682 purple_notify_formatted(pc, title, title, NULL, _("No text is blocked for this account."), NULL, NULL);
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
683 } else {
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
684 char *blocked_text;
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
685 blocked_text = g_strdup_printf(_("MSN servers are currently blocking the following regular expressions:<br/>%s"),
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
686 session->blocked_text);
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
687
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
688 purple_notify_formatted(pc, title, title, NULL, blocked_text, NULL, NULL);
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
689 g_free(blocked_text);
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
690 }
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
691 g_free(title);
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
692 }
23572
25aec47d9671 Disable the MSN blocked text dialog for now because it doesn't always
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23564
diff changeset
693 #endif
23522
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
694
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
695 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
696 msn_show_hotmail_inbox(PurplePluginAction *action)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
697 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
698 PurpleConnection *gc;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
699 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
700
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
701 gc = (PurpleConnection *) action->context;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
702 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
703
23656
b2609fca4943 Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23655
diff changeset
704 if (!session->passport_info.email_enabled) {
b2609fca4943 Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23655
diff changeset
705 purple_notify_error(gc, NULL,
b2609fca4943 Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23655
diff changeset
706 _("This account does not have email enabled."), NULL);
b2609fca4943 Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23655
diff changeset
707 return;
b2609fca4943 Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23655
diff changeset
708 }
b2609fca4943 Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23655
diff changeset
709
23599
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
710 /** apparently the correct value is 777, use 750 as a failsafe */
23657
7f4b697c6947 Use a URL to open MSN Hotmail inbox instead of a temporary file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23656
diff changeset
711 if ((session->passport_info.mail_url == NULL)
7f4b697c6947 Use a URL to open MSN Hotmail inbox instead of a temporary file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23656
diff changeset
712 || (time (NULL) - session->passport_info.mail_timestamp >= 750)) {
23599
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
713 MsnTransaction *trans;
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
714 MsnCmdProc *cmdproc;
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
715
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
716 cmdproc = session->notification->cmdproc;
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
717
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
718 trans = msn_transaction_new(cmdproc, "URL", "%s", "INBOX");
23656
b2609fca4943 Use "EmailEnabled" from the MSN profile message to determine whether
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23655
diff changeset
719 msn_transaction_set_data(trans, GUINT_TO_POINTER(TRUE));
23599
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
720
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
721 msn_cmdproc_send_trans(cmdproc, trans);
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
722
23657
7f4b697c6947 Use a URL to open MSN Hotmail inbox instead of a temporary file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23656
diff changeset
723 } else
7f4b697c6947 Use a URL to open MSN Hotmail inbox instead of a temporary file.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23656
diff changeset
724 purple_notify_uri(gc, session->passport_info.mail_url);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
725 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
726
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
727 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
728 show_send_to_mobile_cb(PurpleBlistNode *node, gpointer ignored)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
729 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
730 PurpleBuddy *buddy;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
731 PurpleConnection *gc;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
732 MsnMobileData *data;
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
733 PurpleAccount *account;
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
734 const char *name;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
735
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
736 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
737
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
738 buddy = (PurpleBuddy *) node;
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
739 account = purple_buddy_get_account(buddy);
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
740 gc = purple_account_get_connection(account);
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
741 name = purple_buddy_get_name(buddy);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
742
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
743 data = g_new0(MsnMobileData, 1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
744 data->gc = gc;
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
745 data->passport = name;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
746
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
747 purple_request_input(gc, NULL, _("Send a mobile message."), NULL,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
748 NULL, TRUE, FALSE, NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
749 _("Page"), G_CALLBACK(send_to_mobile_cb),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
750 _("Close"), G_CALLBACK(close_mobile_page_cb),
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
751 account, name, NULL,
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
752 data);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
753 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
754
16848
133932a97faa Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@gmail.com>
parents: 16675
diff changeset
755 static gboolean
133932a97faa Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@gmail.com>
parents: 16675
diff changeset
756 msn_offline_message(const PurpleBuddy *buddy) {
23887
b664b3924a52 correctly say we support offline messages for all buddies, this was never
Ka-Hing Cheung <khc@hxbc.us>
parents: 23797
diff changeset
757 return TRUE;
16848
133932a97faa Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@gmail.com>
parents: 16675
diff changeset
758 }
133932a97faa Make MSN mobile buddies offline, mobile, and offline-messagable. Fixes #215
Sean Egan <seanegan@gmail.com>
parents: 16675
diff changeset
759
20459
46437bdf316b In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20456
diff changeset
760 void
46437bdf316b In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20456
diff changeset
761 msn_send_privacy(PurpleConnection *gc)
46437bdf316b In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20456
diff changeset
762 {
23730
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
763 PurpleAccount *account;
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
764 MsnSession *session;
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
765 MsnCmdProc *cmdproc;
31147
4d7dfeae29c6 msn: Delete msn_cmdproc_send since it just have duplicated code from
masca@cpw.pidgin.im
parents: 31143
diff changeset
766 MsnTransaction *trans;
23730
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
767
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
768 account = purple_connection_get_account(gc);
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
769 session = gc->proto_data;
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
770 cmdproc = session->notification->cmdproc;
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
771
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
772 if (account->perm_deny == PURPLE_PRIVACY_ALLOW_ALL ||
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
773 account->perm_deny == PURPLE_PRIVACY_DENY_USERS)
31147
4d7dfeae29c6 msn: Delete msn_cmdproc_send since it just have duplicated code from
masca@cpw.pidgin.im
parents: 31143
diff changeset
774 trans = msn_transaction_new(cmdproc, "BLP", "%s", "AL");
23730
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
775 else
31147
4d7dfeae29c6 msn: Delete msn_cmdproc_send since it just have duplicated code from
masca@cpw.pidgin.im
parents: 31143
diff changeset
776 trans = msn_transaction_new(cmdproc, "BLP", "%s", "BL");
4d7dfeae29c6 msn: Delete msn_cmdproc_send since it just have duplicated code from
masca@cpw.pidgin.im
parents: 31143
diff changeset
777
4d7dfeae29c6 msn: Delete msn_cmdproc_send since it just have duplicated code from
masca@cpw.pidgin.im
parents: 31143
diff changeset
778 msn_cmdproc_send_trans(cmdproc, trans);
20459
46437bdf316b In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20456
diff changeset
779 }
46437bdf316b In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20456
diff changeset
780
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
781 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
782 initiate_chat_cb(PurpleBlistNode *node, gpointer data)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
783 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
784 PurpleBuddy *buddy;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
785 PurpleConnection *gc;
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
786 PurpleAccount *account;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
787
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
788 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
789 MsnSwitchBoard *swboard;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
790
23736
8ba3d6905252 When opening MSN chats, use "Local alias" in preference to "Display
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23730
diff changeset
791 const char *alias;
8ba3d6905252 When opening MSN chats, use "Local alias" in preference to "Display
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23730
diff changeset
792
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
793 g_return_if_fail(PURPLE_BLIST_NODE_IS_BUDDY(node));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
794
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
795 buddy = (PurpleBuddy *) node;
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
796 account = purple_buddy_get_account(buddy);
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
797 gc = purple_account_get_connection(account);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
798
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
799 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
800
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
801 swboard = msn_switchboard_new(session);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
802 msn_switchboard_request(swboard);
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
803 msn_switchboard_request_add_user(swboard, purple_buddy_get_name(buddy));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
804
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
805 /* TODO: This might move somewhere else, after USR might be */
22043
23fef20a0ef2 Use a unique chat id across all sessions for multi-user chats, probably
Stu Tomlinson <stu@nosnilmot.com>
parents: 22000
diff changeset
806 swboard->chat_id = msn_switchboard_get_chat_id();
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
807 swboard->conv = serv_got_joined_chat(gc, swboard->chat_id, "MSN Chat");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
808 swboard->flag = MSN_SB_FLAG_IM;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
809
23736
8ba3d6905252 When opening MSN chats, use "Local alias" in preference to "Display
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23730
diff changeset
810 /* Local alias > Display name > Username */
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
811 if ((alias = purple_account_get_alias(account)) == NULL)
23736
8ba3d6905252 When opening MSN chats, use "Local alias" in preference to "Display
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23730
diff changeset
812 if ((alias = purple_connection_get_display_name(gc)) == NULL)
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
813 alias = purple_account_get_username(account);
23736
8ba3d6905252 When opening MSN chats, use "Local alias" in preference to "Display
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23730
diff changeset
814
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
815 purple_conv_chat_add_user(PURPLE_CONV_CHAT(swboard->conv),
23736
8ba3d6905252 When opening MSN chats, use "Local alias" in preference to "Display
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23730
diff changeset
816 alias, NULL, PURPLE_CBFLAGS_NONE, TRUE);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
817 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
818
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
819 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
820 t_msn_xfer_init(PurpleXfer *xfer)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
821 {
31269
210feb895031 Move file request up in the stack.
masca@cpw.pidgin.im
parents: 31195
diff changeset
822 msn_request_ft(xfer);
30174
b0bc67f42027 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30089
diff changeset
823 }
b0bc67f42027 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30089
diff changeset
824
b0bc67f42027 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30089
diff changeset
825 static void
b0bc67f42027 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30089
diff changeset
826 t_msn_xfer_cancel_send(PurpleXfer *xfer)
b0bc67f42027 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30089
diff changeset
827 {
b0bc67f42027 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30089
diff changeset
828 MsnSlpLink *slplink = xfer->data;
b0bc67f42027 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30089
diff changeset
829 msn_slplink_unref(slplink);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
830 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
831
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
832 static PurpleXfer*
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
833 msn_new_xfer(PurpleConnection *gc, const char *who)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
834 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
835 MsnSession *session;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
836 PurpleXfer *xfer;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
837
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
838 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
839
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
840 xfer = purple_xfer_new(gc->account, PURPLE_XFER_SEND, who);
19797
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
841
24355
63558ea6fac6 It's an error if purple_xfer_new fails, so use a g_return_val_if_fail
Mark Doliner <mark@kingant.net>
parents: 24142
diff changeset
842 g_return_val_if_fail(xfer != NULL, NULL);
63558ea6fac6 It's an error if purple_xfer_new fails, so use a g_return_val_if_fail
Mark Doliner <mark@kingant.net>
parents: 24142
diff changeset
843
30174
b0bc67f42027 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30089
diff changeset
844 xfer->data = msn_slplink_ref(msn_session_get_slplink(session, who));
24355
63558ea6fac6 It's an error if purple_xfer_new fails, so use a g_return_val_if_fail
Mark Doliner <mark@kingant.net>
parents: 24142
diff changeset
845
63558ea6fac6 It's an error if purple_xfer_new fails, so use a g_return_val_if_fail
Mark Doliner <mark@kingant.net>
parents: 24142
diff changeset
846 purple_xfer_set_init_fnc(xfer, t_msn_xfer_init);
30174
b0bc67f42027 Fix a possible use-after-free.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30089
diff changeset
847 purple_xfer_set_cancel_send_fnc(xfer, t_msn_xfer_cancel_send);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
848
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
849 return xfer;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
850 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
851
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
852 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
853 msn_send_file(PurpleConnection *gc, const char *who, const char *file)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
854 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
855 PurpleXfer *xfer = msn_new_xfer(gc, who);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
856
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
857 if (file)
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
858 purple_xfer_request_accepted(xfer, file);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
859 else
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
860 purple_xfer_request(xfer);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
861 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
862
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
863 static gboolean
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
864 msn_can_receive_file(PurpleConnection *gc, const char *who)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
865 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
866 PurpleAccount *account;
23661
6659ba7b3941 Fix a crash when the user isn't in your list.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23657
diff changeset
867 gchar *normal;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
868 gboolean ret;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
869
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
870 account = purple_connection_get_account(gc);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
871
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
872 normal = g_strdup(msn_normalize(account, purple_account_get_username(account)));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
873 ret = strcmp(normal, msn_normalize(account, who));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
874 g_free(normal);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
875
23654
46da06b6b4ce Disable sending files to MSN contacts using the web messenger. Not sure
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23605
diff changeset
876 if (ret) {
23661
6659ba7b3941 Fix a crash when the user isn't in your list.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 23657
diff changeset
877 MsnSession *session = gc->proto_data;
23673
7a71457cdd32 Don't crash if MsnSession is NULL when checking for ability to send a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23661
diff changeset
878 if (session) {
7a71457cdd32 Don't crash if MsnSession is NULL when checking for ability to send a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23661
diff changeset
879 MsnUser *user = msn_userlist_find_user(session->userlist, who);
28837
019c8be6b52d Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 28790
diff changeset
880 if (user) {
23673
7a71457cdd32 Don't crash if MsnSession is NULL when checking for ability to send a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23661
diff changeset
881 /* Include these too: MSN_CLIENT_CAP_MSNMOBILE|MSN_CLIENT_CAP_MSNDIRECT ? */
28837
019c8be6b52d Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 28790
diff changeset
882 if ((user->clientid & MSN_CLIENT_CAP_WEBMSGR) ||
019c8be6b52d Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 28790
diff changeset
883 user->networkid == MSN_NETWORK_YAHOO)
019c8be6b52d Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 28790
diff changeset
884 ret = FALSE;
019c8be6b52d Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 28790
diff changeset
885 else
019c8be6b52d Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 28790
diff changeset
886 ret = TRUE;
019c8be6b52d Cannot send a file to a Yahoo! user on MSN.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 28790
diff changeset
887 }
23673
7a71457cdd32 Don't crash if MsnSession is NULL when checking for ability to send a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23661
diff changeset
888 } else
7a71457cdd32 Don't crash if MsnSession is NULL when checking for ability to send a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23661
diff changeset
889 ret = FALSE;
23654
46da06b6b4ce Disable sending files to MSN contacts using the web messenger. Not sure
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23605
diff changeset
890 }
46da06b6b4ce Disable sending files to MSN contacts using the web messenger. Not sure
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23605
diff changeset
891
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
892 return ret;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
893 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
894
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
895 /**************************************************************************
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
896 * Protocol Plugin ops
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
897 **************************************************************************/
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
898
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
899 static const char *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
900 msn_list_icon(PurpleAccount *a, PurpleBuddy *b)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
901 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
902 return "msn";
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
903 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
904
23524
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
905 static const char *
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
906 msn_list_emblems(PurpleBuddy *b)
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
907 {
25290
8d562557ed6f Some more PurpleBuddy::proto_data related changes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24294
diff changeset
908 MsnUser *user = purple_buddy_get_protocol_data(b);
23524
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
909
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
910 if (user != NULL) {
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
911 if (user->clientid & MSN_CLIENT_CAP_BOT)
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
912 return "bot";
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
913 if (user->clientid & MSN_CLIENT_CAP_WIN_MOBILE)
23655
8218a2c209f1 On MSN, use "external" and "mobile" for Web messenger and mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23654
diff changeset
914 return "mobile";
23524
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
915 #if 0
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
916 /* XXX: Since we don't support this, there's no point in showing it just yet */
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
917 if (user->clientid & MSN_CLIENT_CAP_SCHANNEL)
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
918 return "secure";
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
919 #endif
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
920 if (user->clientid & MSN_CLIENT_CAP_WEBMSGR)
23655
8218a2c209f1 On MSN, use "external" and "mobile" for Web messenger and mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23654
diff changeset
921 return "external";
23524
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
922 if (user->networkid == MSN_NETWORK_YAHOO)
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
923 return "yahoo";
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
924 }
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
925
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
926 return NULL;
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
927 }
ad565744246e Add support for emblems in MSN protocol. Emblems include bots, mobile
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23522
diff changeset
928
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
929 /*
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
930 * Set the User status text
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
931 */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
932 static char *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
933 msn_status_text(PurpleBuddy *buddy)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
934 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
935 PurplePresence *presence;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
936 PurpleStatus *status;
20570
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
937 const char *msg;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
938
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
939 presence = purple_buddy_get_presence(buddy);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
940 status = purple_presence_get_active_status(presence);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
941
24931
3e39e4652c36 xmpp does this!
Ka-Hing Cheung <khc@hxbc.us>
parents: 24674
diff changeset
942 /* Official client says media takes precedence over message */
3e39e4652c36 xmpp does this!
Ka-Hing Cheung <khc@hxbc.us>
parents: 24674
diff changeset
943 /* I say message take precedence over media! Plus prpl-jabber agrees
3e39e4652c36 xmpp does this!
Ka-Hing Cheung <khc@hxbc.us>
parents: 24674
diff changeset
944 too */
3e39e4652c36 xmpp does this!
Ka-Hing Cheung <khc@hxbc.us>
parents: 24674
diff changeset
945 msg = purple_status_get_attr_string(status, "message");
3e39e4652c36 xmpp does this!
Ka-Hing Cheung <khc@hxbc.us>
parents: 24674
diff changeset
946 if (msg && *msg)
3e39e4652c36 xmpp does this!
Ka-Hing Cheung <khc@hxbc.us>
parents: 24674
diff changeset
947 return g_markup_escape_text(msg, -1);
3e39e4652c36 xmpp does this!
Ka-Hing Cheung <khc@hxbc.us>
parents: 24674
diff changeset
948
20570
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
949 if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_TUNE)) {
24455
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
950 const char *title, *game, *office;
20570
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
951 char *media, *esc;
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
952 status = purple_presence_get_status(presence, "tune");
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
953 title = purple_status_get_attr_string(status, PURPLE_TUNE_TITLE);
24455
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
954
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
955 game = purple_status_get_attr_string(status, "game");
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
956 office = purple_status_get_attr_string(status, "office");
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
957
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
958 if (title && *title) {
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
959 const char *artist = purple_status_get_attr_string(status, PURPLE_TUNE_ARTIST);
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
960 const char *album = purple_status_get_attr_string(status, PURPLE_TUNE_ALBUM);
27592
4cddfd2d06be Use purple_util_format_song_info in MSN/XMPP for the buddy list status text.
Paul Aurich <paul@darkrain42.org>
parents: 27477
diff changeset
961 media = purple_util_format_song_info(title, artist, album, NULL);
27604
8cfc45425ac7 Don't double-escape media.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27603
diff changeset
962 return media;
24455
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
963 }
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
964 else if (game && *game)
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
965 media = g_strdup_printf("Playing %s", game);
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
966 else if (office && *office)
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
967 media = g_strdup_printf("Editing %s", office);
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
968 else
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
969 return NULL;
20570
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
970 esc = g_markup_escape_text(media, -1);
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
971 g_free(media);
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
972 return esc;
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
973 }
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
974
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
975 return NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
976 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
977
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
978 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
979 msn_tooltip_text(PurpleBuddy *buddy, PurpleNotifyUserInfo *user_info, gboolean full)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
980 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
981 MsnUser *user;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
982 PurplePresence *presence = purple_buddy_get_presence(buddy);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
983 PurpleStatus *status = purple_presence_get_active_status(presence);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
984
25290
8d562557ed6f Some more PurpleBuddy::proto_data related changes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24294
diff changeset
985 user = purple_buddy_get_protocol_data(buddy);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
986
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
987 if (purple_presence_is_online(presence))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
988 {
20570
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
989 const char *psm, *name;
24455
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
990 const char *mediatype = NULL;
20570
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
991 char *currentmedia = NULL;
19797
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
992 char *tmp;
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
993
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
994 psm = purple_status_get_attr_string(status, "message");
20570
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
995 if (purple_presence_is_status_primitive_active(presence, PURPLE_STATUS_TUNE)) {
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
996 PurpleStatus *tune = purple_presence_get_status(presence, "tune");
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
997 const char *title = purple_status_get_attr_string(tune, PURPLE_TUNE_TITLE);
24455
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
998 const char *game = purple_status_get_attr_string(tune, "game");
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
999 const char *office = purple_status_get_attr_string(tune, "office");
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1000 if (title && *title) {
24456
7a5f6ddd11b1 Only get the artist and album if we are setting a Music mediatype.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24455
diff changeset
1001 const char *artist = purple_status_get_attr_string(tune, PURPLE_TUNE_ARTIST);
7a5f6ddd11b1 Only get the artist and album if we are setting a Music mediatype.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24455
diff changeset
1002 const char *album = purple_status_get_attr_string(tune, PURPLE_TUNE_ALBUM);
24455
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1003 mediatype = _("Now Listening");
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1004 currentmedia = purple_util_format_song_info(title, artist, album, NULL);
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1005 } else if (game && *game) {
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1006 mediatype = _("Playing a game");
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1007 currentmedia = g_strdup(game);
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1008 } else if (office && *office) {
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1009 mediatype = _("Working");
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1010 currentmedia = g_strdup(office);
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1011 }
20570
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
1012 }
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1013
21139
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1014 if (!purple_status_is_available(status)) {
20502
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1015 name = purple_status_get_name(status);
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1016 } else {
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1017 name = NULL;
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1018 }
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1019
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1020 if (name != NULL && *name) {
21139
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1021 char *tmp2;
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1022
23797
35f7b7c62995 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1023 tmp2 = g_markup_escape_text(name, -1);
21139
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1024 if (purple_presence_is_idle(presence)) {
23797
35f7b7c62995 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1025 char *idle;
35f7b7c62995 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1026 char *tmp3;
35f7b7c62995 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1027 /* Never know what those translations might end up like... */
35f7b7c62995 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1028 idle = g_markup_escape_text(_("Idle"), -1);
35f7b7c62995 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1029 tmp3 = g_strdup_printf("%s/%s", tmp2, idle);
35f7b7c62995 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1030 g_free(idle);
35f7b7c62995 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1031 g_free(tmp2);
35f7b7c62995 Remove calls to g_markup_escape_text. Not only does this help with old
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23796
diff changeset
1032 tmp2 = tmp3;
21139
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1033 }
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
1034
20502
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1035 if (psm != NULL && *psm) {
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1036 tmp = g_markup_escape_text(psm, -1);
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1037 purple_notify_user_info_add_pair(user_info, tmp2, tmp);
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1038 g_free(tmp);
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1039 } else {
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1040 purple_notify_user_info_add_pair(user_info, _("Status"), tmp2);
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1041 }
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1042
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1043 g_free(tmp2);
b5a2938b4549 Fixes #2502, now we show the status name in the tooltip instead of "Status"
Ka-Hing Cheung <khc@hxbc.us>
parents: 20488
diff changeset
1044 } else {
20567
b4a141f9294a don't show empty "Status: " anymore, which fixes a glib runtime warning
Ka-Hing Cheung <khc@hxbc.us>
parents: 20554
diff changeset
1045 if (psm != NULL && *psm) {
b4a141f9294a don't show empty "Status: " anymore, which fixes a glib runtime warning
Ka-Hing Cheung <khc@hxbc.us>
parents: 20554
diff changeset
1046 tmp = g_markup_escape_text(psm, -1);
21139
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1047 if (purple_presence_is_idle(presence)) {
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1048 purple_notify_user_info_add_pair(user_info, _("Idle"), tmp);
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1049 } else {
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1050 purple_notify_user_info_add_pair(user_info, _("Status"), tmp);
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1051 }
20567
b4a141f9294a don't show empty "Status: " anymore, which fixes a glib runtime warning
Ka-Hing Cheung <khc@hxbc.us>
parents: 20554
diff changeset
1052 g_free(tmp);
21139
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1053 } else {
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1054 if (purple_presence_is_idle(presence)) {
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1055 purple_notify_user_info_add_pair(user_info, _("Status"),
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1056 _("Idle"));
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1057 } else {
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1058 purple_notify_user_info_add_pair(user_info, _("Status"),
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1059 purple_status_get_name(status));
0df8263c21b8 show the idle status on tooltip as well, Fixes #3744
Ka-Hing Cheung <khc@hxbc.us>
parents: 21113
diff changeset
1060 }
20567
b4a141f9294a don't show empty "Status: " anymore, which fixes a glib runtime warning
Ka-Hing Cheung <khc@hxbc.us>
parents: 20554
diff changeset
1061 }
19797
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
1062 }
20463
0b04a7d90470 removed "PSM:" label and move the message to "Status:" to be consistent with
Ka-Hing Cheung <khc@hxbc.us>
parents: 20462
diff changeset
1063
19797
60bc06498746 Committing khc's msnp14 changes from Trac Ticket #148. --rlaager
Ka-Hing Cheung <khc@hxbc.us>
parents: 15823
diff changeset
1064 if (currentmedia) {
24455
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1065 purple_notify_user_info_add_pair(user_info, mediatype, currentmedia);
20570
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
1066 g_free(currentmedia);
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1067 }
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1068 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1069
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1070 /* XXX: This is being shown in non-full tooltips because the
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1071 * XXX: blocked icon overlay isn't always accurate for MSN.
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1072 * XXX: This can die as soon as purple_privacy_check() knows that
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1073 * XXX: this prpl always honors both the allow and deny lists. */
21026
27c72bd82a81 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <stu@nosnilmot.com>
parents: 21000
diff changeset
1074 /* While the above comment may be strictly correct (the privacy API needs
27c72bd82a81 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <stu@nosnilmot.com>
parents: 21000
diff changeset
1075 * rewriteing), purple_privacy_check() is going to be more accurate at
27c72bd82a81 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <stu@nosnilmot.com>
parents: 21000
diff changeset
1076 * indicating whether a particular buddy is going to be able to message
27c72bd82a81 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <stu@nosnilmot.com>
parents: 21000
diff changeset
1077 * you, which is the important information that this is trying to convey.
27c72bd82a81 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <stu@nosnilmot.com>
parents: 21000
diff changeset
1078 */
27c72bd82a81 We really don't need to display Blocked: status in the tooltip for every
Stu Tomlinson <stu@nosnilmot.com>
parents: 21000
diff changeset
1079 if (full && user)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1080 {
22259
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1081 const char *phone;
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1082
23978
0a4aa7df352b We can't have ./configure lying to you, can we?
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23887
diff changeset
1083 purple_notify_user_info_add_pair(user_info, _("Has you"),
0a4aa7df352b We can't have ./configure lying to you, can we?
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23887
diff changeset
1084 ((user->list_op & (1 << MSN_LIST_RL)) ? _("Yes") : _("No")));
0a4aa7df352b We can't have ./configure lying to you, can we?
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23887
diff changeset
1085
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1086 purple_notify_user_info_add_pair(user_info, _("Blocked"),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1087 ((user->list_op & (1 << MSN_LIST_BL)) ? _("Yes") : _("No")));
22259
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1088
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1089 phone = msn_user_get_home_phone(user);
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1090 if (phone != NULL)
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1091 purple_notify_user_info_add_pair(user_info, _("Home Phone Number"), phone);
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1092
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1093 phone = msn_user_get_work_phone(user);
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1094 if (phone != NULL)
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1095 purple_notify_user_info_add_pair(user_info, _("Work Phone Number"), phone);
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1096
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1097 phone = msn_user_get_mobile_phone(user);
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1098 if (phone != NULL)
6e5d37105189 Display buddies' phone numbers in the tooltip for MSN buddies if we have
Stu Tomlinson <stu@nosnilmot.com>
parents: 22138
diff changeset
1099 purple_notify_user_info_add_pair(user_info, _("Mobile Phone Number"), phone);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1100 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1101 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1102
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1103 static GList *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1104 msn_status_types(PurpleAccount *account)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1105 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1106 PurpleStatusType *status;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1107 GList *types = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1108
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1109 status = purple_status_type_new_with_attrs(
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1110 PURPLE_STATUS_AVAILABLE, NULL, NULL, TRUE, TRUE, FALSE,
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1111 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1112 NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1113 types = g_list_append(types, status);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1114
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1115 status = purple_status_type_new_with_attrs(
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1116 PURPLE_STATUS_AWAY, NULL, NULL, TRUE, TRUE, FALSE,
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1117 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1118 NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1119 types = g_list_append(types, status);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1120
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1121 status = purple_status_type_new_with_attrs(
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1122 PURPLE_STATUS_AWAY, "brb", _("Be Right Back"), TRUE, TRUE, FALSE,
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1123 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1124 NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1125 types = g_list_append(types, status);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1126
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1127 status = purple_status_type_new_with_attrs(
20437
8e722e947e00 Patch from Pse to use the same status primitives as im.pidgin.pidgin for
Stu Tomlinson <stu@nosnilmot.com>
parents: 20425
diff changeset
1128 PURPLE_STATUS_UNAVAILABLE, "busy", _("Busy"), TRUE, TRUE, FALSE,
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1129 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1130 NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1131 types = g_list_append(types, status);
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1132 status = purple_status_type_new_with_attrs(
20437
8e722e947e00 Patch from Pse to use the same status primitives as im.pidgin.pidgin for
Stu Tomlinson <stu@nosnilmot.com>
parents: 20425
diff changeset
1133 PURPLE_STATUS_UNAVAILABLE, "phone", _("On the Phone"), TRUE, TRUE, FALSE,
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1134 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1135 NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1136 types = g_list_append(types, status);
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1137 status = purple_status_type_new_with_attrs(
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1138 PURPLE_STATUS_AWAY, "lunch", _("Out to Lunch"), TRUE, TRUE, FALSE,
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1139 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1140 NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1141 types = g_list_append(types, status);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1142
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1143 status = purple_status_type_new_full(PURPLE_STATUS_INVISIBLE,
25050
b5c82724598c For some reason, all these statuses were set to saveable=FALSE. With the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24943
diff changeset
1144 NULL, NULL, TRUE, TRUE, FALSE);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1145 types = g_list_append(types, status);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1146
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1147 status = purple_status_type_new_full(PURPLE_STATUS_OFFLINE,
25050
b5c82724598c For some reason, all these statuses were set to saveable=FALSE. With the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24943
diff changeset
1148 NULL, NULL, TRUE, TRUE, FALSE);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1149 types = g_list_append(types, status);
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
1150
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1151 status = purple_status_type_new_full(PURPLE_STATUS_MOBILE,
15541
d74985add99f This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
1152 "mobile", NULL, FALSE, FALSE, TRUE);
d74985add99f This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
1153 types = g_list_append(types, status);
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
1154
20570
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
1155 status = purple_status_type_new_with_attrs(PURPLE_STATUS_TUNE,
24409
3a3d36791a47 I don't know why we'd want the TUNE status to be saveable.
Richard Laager <rlaager@wiktel.com>
parents: 24374
diff changeset
1156 "tune", NULL, FALSE, TRUE, TRUE,
30089
29df7408df03 Eliminate the name collisions on "Title". I have a few qualms:
Paul Aurich <paul@darkrain42.org>
parents: 29874
diff changeset
1157 PURPLE_TUNE_ARTIST, _("Tune Artist"), purple_value_new(PURPLE_TYPE_STRING),
29df7408df03 Eliminate the name collisions on "Title". I have a few qualms:
Paul Aurich <paul@darkrain42.org>
parents: 29874
diff changeset
1158 PURPLE_TUNE_ALBUM, _("Tune Album"), purple_value_new(PURPLE_TYPE_STRING),
29df7408df03 Eliminate the name collisions on "Title". I have a few qualms:
Paul Aurich <paul@darkrain42.org>
parents: 29874
diff changeset
1159 PURPLE_TUNE_TITLE, _("Tune Title"), purple_value_new(PURPLE_TYPE_STRING),
24455
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1160 "game", _("Game Title"), purple_value_new(PURPLE_TYPE_STRING),
e344426d7c28 Add the Games and Office media to MSN as attributes tacked on to the tune
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24451
diff changeset
1161 "office", _("Office Title"), purple_value_new(PURPLE_TYPE_STRING),
20570
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
1162 NULL);
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
1163 types = g_list_append(types, status);
5913725cbcd6 Use an independant status type for 'current media' stuff, instead of using
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20567
diff changeset
1164
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1165 return types;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1166 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1167
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1168 static GList *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1169 msn_actions(PurplePlugin *plugin, gpointer context)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1170 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1171 GList *m = NULL;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1172 PurplePluginAction *act;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1173
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1174 act = purple_plugin_action_new(_("Set Friendly Name..."),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1175 msn_show_set_friendly_name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1176 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1177 m = g_list_append(m, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1178
31126
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
1179 act = purple_plugin_action_new(_("View Locations..."),
3d34a0870920 Add a dialog listing the other endpoints from which users can sign them out
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31123
diff changeset
1180 msn_show_locations);
31123
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
1181 m = g_list_append(m, act);
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
1182 m = g_list_append(m, NULL);
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
1183
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1184 act = purple_plugin_action_new(_("Set Home Phone Number..."),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1185 msn_show_set_home_phone);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1186 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1187
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1188 act = purple_plugin_action_new(_("Set Work Phone Number..."),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1189 msn_show_set_work_phone);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1190 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1191
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1192 act = purple_plugin_action_new(_("Set Mobile Phone Number..."),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1193 msn_show_set_mobile_phone);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1194 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1195 m = g_list_append(m, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1196
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1197 #if 0
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1198 act = purple_plugin_action_new(_("Enable/Disable Mobile Devices..."),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1199 msn_show_set_mobile_support);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1200 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1201 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1202
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1203 act = purple_plugin_action_new(_("Allow/Disallow Mobile Pages..."),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1204 msn_show_set_mobile_pages);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1205 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1206
23572
25aec47d9671 Disable the MSN blocked text dialog for now because it doesn't always
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23564
diff changeset
1207 /* QuLogic: Disabled until confirmed correct. */
25aec47d9671 Disable the MSN blocked text dialog for now because it doesn't always
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23564
diff changeset
1208 #if 0
23522
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
1209 m = g_list_append(m, NULL);
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
1210 act = purple_plugin_action_new(_("View Blocked Text..."),
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
1211 msn_show_blocked_text);
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
1212 m = g_list_append(m, act);
23572
25aec47d9671 Disable the MSN blocked text dialog for now because it doesn't always
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23564
diff changeset
1213 #endif
23522
fd124c21ebb7 Properly parse (most of) the MSN GCF command. Provides a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23517
diff changeset
1214
23599
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
1215 m = g_list_append(m, NULL);
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
1216 act = purple_plugin_action_new(_("Open Hotmail Inbox"),
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
1217 msn_show_hotmail_inbox);
ab70eae012f5 Fixup MSN mailbox handling based on a patch from Felipe, plus various
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23572
diff changeset
1218 m = g_list_append(m, act);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1219
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1220 return m;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1221 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1222
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1223 static GList *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1224 msn_buddy_menu(PurpleBuddy *buddy)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1225 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1226 MsnUser *user;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1227
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1228 GList *m = NULL;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1229 PurpleMenuAction *act;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1230
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1231 g_return_val_if_fail(buddy != NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1232
25290
8d562557ed6f Some more PurpleBuddy::proto_data related changes.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 24294
diff changeset
1233 user = purple_buddy_get_protocol_data(buddy);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1234
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1235 if (user != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1236 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1237 if (user->mobile)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1238 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1239 act = purple_menu_action_new(_("Send to Mobile"),
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1240 PURPLE_CALLBACK(show_send_to_mobile_cb),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1241 NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1242 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1243 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1244 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1245
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
1246 if (g_ascii_strcasecmp(purple_buddy_get_name(buddy),
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
1247 purple_account_get_username(purple_buddy_get_account(buddy))))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1248 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1249 act = purple_menu_action_new(_("Initiate _Chat"),
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1250 PURPLE_CALLBACK(initiate_chat_cb),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1251 NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1252 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1253 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1254
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1255 return m;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1256 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1257
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1258 static GList *
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1259 msn_blist_node_menu(PurpleBlistNode *node)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1260 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1261 if(PURPLE_BLIST_NODE_IS_BUDDY(node))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1262 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1263 return msn_buddy_menu((PurpleBuddy *) node);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1264 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1265 else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1266 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1267 return NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1268 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1269 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1270
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1271 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1272 msn_login(PurpleAccount *account)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1273 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1274 PurpleConnection *gc;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1275 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1276 const char *username;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1277 const char *host;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1278 gboolean http_method = FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1279 int port;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1280
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1281 gc = purple_account_get_connection(account);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1282
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1283 if (!purple_ssl_is_supported())
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1284 {
23730
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
1285 purple_connection_error_reason(gc,
21358
ba41f2a60253 Rename:
Will Thompson <will.thompson@collabora.co.uk>
parents: 21355
diff changeset
1286 PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1287 _("SSL support is needed for MSN. Please install a supported "
21819
1162bf342def Stu says this was unnecessary, that it is already there.
Luke Schierer <lschiere@pidgin.im>
parents: 21815
diff changeset
1288 "SSL library."));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1289 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1290 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1291
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1292 http_method = purple_account_get_bool(account, "http_method", FALSE);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1293
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
1294 if (http_method)
20277
c37128d87d5a Merged MSN_HTTPCONN_SERVER fix
Evan Schoenberg <evan.s@dreskin.net>
parents: 20044
diff changeset
1295 host = purple_account_get_string(account, "http_method_server", MSN_HTTPCONN_SERVER);
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
1296 else
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
1297 host = purple_account_get_string(account, "server", MSN_SERVER);
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1298 port = purple_account_get_int(account, "port", MSN_PORT);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1299
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1300 session = msn_session_new(account);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1301
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1302 gc->proto_data = session;
23133
9aa105267f46 Show the custom smileys only on accounts that support it. References
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23131
diff changeset
1303 gc->flags |= PURPLE_CONNECTION_HTML | PURPLE_CONNECTION_FORMATTING_WBFO | PURPLE_CONNECTION_NO_BGCOLOR |
9aa105267f46 Show the custom smileys only on accounts that support it. References
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23131
diff changeset
1304 PURPLE_CONNECTION_NO_FONTSIZE | PURPLE_CONNECTION_NO_URLDESC | PURPLE_CONNECTION_ALLOW_CUSTOM_SMILEY;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1305
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1306 msn_session_set_login_step(session, MSN_LOGIN_STEP_START);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1307
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1308 /* Hmm, I don't like this. */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1309 /* XXX shx: Me neither */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1310 username = msn_normalize(account, purple_account_get_username(account));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1311
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1312 if (strcmp(username, purple_account_get_username(account)))
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1313 purple_account_set_username(account, username);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1314
29049
23f6f80f45ed Due to a server change, the friendly name on MSN was being changed to the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29028
diff changeset
1315 username = purple_account_get_string(account, "display-name", NULL);
23f6f80f45ed Due to a server change, the friendly name on MSN was being changed to the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29028
diff changeset
1316 purple_connection_set_display_name(gc, username);
23f6f80f45ed Due to a server change, the friendly name on MSN was being changed to the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29028
diff changeset
1317
31123
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
1318 if (purple_account_get_string(account, "endpoint-name", NULL) == NULL) {
31164
8e765543dc8b Don't hardcode "Pidgin" as the name of this endpoint. Instead, grab the
Mark Doliner <mark@kingant.net>
parents: 31160
diff changeset
1319 GHashTable *ui_info = purple_core_get_ui_info();
8e765543dc8b Don't hardcode "Pidgin" as the name of this endpoint. Instead, grab the
Mark Doliner <mark@kingant.net>
parents: 31160
diff changeset
1320 const gchar *ui_name = ui_info ? g_hash_table_lookup(ui_info, "name") : NULL;
8e765543dc8b Don't hardcode "Pidgin" as the name of this endpoint. Instead, grab the
Mark Doliner <mark@kingant.net>
parents: 31160
diff changeset
1321 purple_account_set_string(account, "endpoint-name",
8e765543dc8b Don't hardcode "Pidgin" as the name of this endpoint. Instead, grab the
Mark Doliner <mark@kingant.net>
parents: 31160
diff changeset
1322 ui_name && *ui_name ? ui_name : PACKAGE_NAME);
31123
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
1323 }
dd430f788bdc Allow setting the name of the current location. The default is still Pidgin
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29049
diff changeset
1324
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1325 if (!msn_session_connect(session, host, port, http_method))
23730
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
1326 purple_connection_error_reason(gc,
21358
ba41f2a60253 Rename:
Will Thompson <will.thompson@collabora.co.uk>
parents: 21355
diff changeset
1327 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
27463
f541583e31bd More uniformity among disconnect error messages
Mark Doliner <mark@kingant.net>
parents: 27219
diff changeset
1328 _("Unable to connect"));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1329 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1330
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1331 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1332 msn_close(PurpleConnection *gc)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1333 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1334 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1335
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1336 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1337
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1338 g_return_if_fail(session != NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1339
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1340 msn_session_destroy(session);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1341
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1342 gc->proto_data = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1343 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1344
17072
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
1345 static gboolean
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
1346 msn_send_me_im(gpointer data)
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
1347 {
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
1348 MsnIMData *imdata = data;
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
1349 serv_got_im(imdata->gc, imdata->who, imdata->msg, imdata->flags, imdata->when);
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
1350 g_free(imdata->msg);
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
1351 g_free(imdata);
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
1352 return FALSE;
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
1353 }
cb4380df3005 In MSN we fake sending messages to yourself. This had a small bug in that
Stu Tomlinson <stu@nosnilmot.com>
parents: 17065
diff changeset
1354
22887
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1355 static GString*
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1356 msn_msg_emoticon_add(GString *current, MsnEmoticon *emoticon)
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1357 {
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1358 MsnObject *obj;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1359 char *strobj;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1360
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1361 if (emoticon == NULL)
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1362 return current;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1363
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1364 obj = emoticon->obj;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1365
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1366 if (!obj)
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1367 return current;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1368
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1369 strobj = msn_object_to_string(obj);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1370
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1371 if (current)
28418
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
1372 g_string_append_printf(current, "\t%s\t%s", emoticon->smile, strobj);
22887
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1373 else {
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1374 current = g_string_new("");
28418
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
1375 g_string_printf(current, "%s\t%s", emoticon->smile, strobj);
22887
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1376 }
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1377
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1378 g_free(strobj);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1379
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1380 return current;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1381 }
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1382
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1383 static void
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1384 msn_send_emoticons(MsnSwitchBoard *swboard, GString *body)
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1385 {
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1386 MsnMessage *msg;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1387
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1388 g_return_if_fail(body != NULL);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1389
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1390 msg = msn_message_new(MSN_MSG_SLP);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1391 msn_message_set_content_type(msg, "text/x-mms-emoticon");
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1392 msn_message_set_flag(msg, 'N');
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1393 msn_message_set_bin_data(msg, body->str, body->len);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1394
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1395 msn_switchboard_send_msg(swboard, msg, TRUE);
31393
b4285ea42b6e msn_message_destroy() calls msn_message_unref() if refcount>0. This is
Mark Doliner <mark@kingant.net>
parents: 31392
diff changeset
1396 msn_message_unref(msg);
22887
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1397 }
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1398
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1399 static void msn_emoticon_destroy(MsnEmoticon *emoticon)
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1400 {
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1401 if (emoticon->obj)
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1402 msn_object_destroy(emoticon->obj);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1403 g_free(emoticon->smile);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1404 g_free(emoticon);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1405 }
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1406
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1407 static GSList* msn_msg_grab_emoticons(const char *msg, const char *username)
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1408 {
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1409 GSList *list;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1410 GList *smileys;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1411 PurpleSmiley *smiley;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1412 PurpleStoredImage *img;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1413 char *ptr;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1414 MsnEmoticon *emoticon;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1415 int length;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1416
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1417 list = NULL;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1418 smileys = purple_smileys_get_all();
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1419 length = strlen(msg);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1420
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1421 for (; smileys; smileys = g_list_delete_link(smileys, smileys)) {
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1422 smiley = smileys->data;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1423
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1424 ptr = g_strstr_len(msg, length, purple_smiley_get_shortcut(smiley));
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1425
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1426 if (!ptr)
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1427 continue;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1428
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1429 img = purple_smiley_get_stored_image(smiley);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1430
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1431 emoticon = g_new0(MsnEmoticon, 1);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1432 emoticon->smile = g_strdup(purple_smiley_get_shortcut(smiley));
28419
36c6601d650a It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28418
diff changeset
1433 emoticon->ps = smiley;
22887
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1434 emoticon->obj = msn_object_new_from_image(img,
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1435 purple_imgstore_get_filename(img),
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1436 username, MSN_OBJECT_EMOTICON);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1437
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1438 purple_imgstore_unref(img);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1439 list = g_slist_prepend(list, emoticon);
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1440 }
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1441
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1442 return list;
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1443 }
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1444
24142
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1445 void
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1446 msn_send_im_message(MsnSession *session, MsnMessage *msg)
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1447 {
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1448 MsnEmoticon *smile;
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1449 GSList *smileys;
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1450 GString *emoticons = NULL;
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1451 const char *username = purple_account_get_username(session->account);
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1452 MsnSwitchBoard *swboard = msn_session_get_swboard(session, msg->remote_user, MSN_SB_FLAG_IM);
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1453
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1454 smileys = msn_msg_grab_emoticons(msg->body, username);
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1455 while (smileys) {
28419
36c6601d650a It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28418
diff changeset
1456 smile = (MsnEmoticon *)smileys->data;
24142
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1457 emoticons = msn_msg_emoticon_add(emoticons, smile);
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1458 msn_emoticon_destroy(smile);
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1459 smileys = g_slist_delete_link(smileys, smileys);
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1460 }
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1461
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1462 if (emoticons) {
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1463 msn_send_emoticons(swboard, emoticons);
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1464 g_string_free(emoticons, TRUE);
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1465 }
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1466
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1467 msn_switchboard_send_msg(swboard, msg, TRUE);
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1468 }
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1469
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1470 static int
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1471 msn_send_im(PurpleConnection *gc, const char *who, const char *message,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1472 PurpleMessageFlags flags)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1473 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1474 PurpleAccount *account;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1475 PurpleBuddy *buddy = purple_find_buddy(gc->account, who);
23533
8aa7e01bc4d5 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23529
diff changeset
1476 MsnSession *session;
8aa7e01bc4d5 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23529
diff changeset
1477 MsnSwitchBoard *swboard;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1478 MsnMessage *msg;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1479 char *msgformat;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1480 char *msgtext;
25056
b0c75121cf66 After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25050
diff changeset
1481 size_t msglen;
22887
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1482 const char *username;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1483
23730
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
1484 purple_debug_info("msn", "send IM {%s} to %s\n", message, who);
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1485 account = purple_connection_get_account(gc);
22887
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1486 username = purple_account_get_username(account);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1487
23533
8aa7e01bc4d5 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23529
diff changeset
1488 session = gc->proto_data;
8aa7e01bc4d5 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23529
diff changeset
1489 swboard = msn_session_find_swboard(session, who);
8aa7e01bc4d5 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23529
diff changeset
1490
24132
eeccedae4de5 Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23978
diff changeset
1491 if (!strncmp("tel:+", who, 5)) {
eeccedae4de5 Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23978
diff changeset
1492 char *text = purple_markup_strip_html(message);
eeccedae4de5 Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23978
diff changeset
1493 send_to_mobile(gc, who, text);
eeccedae4de5 Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23978
diff changeset
1494 g_free(text);
eeccedae4de5 Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23978
diff changeset
1495 return 1;
eeccedae4de5 Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23978
diff changeset
1496 }
eeccedae4de5 Patch from Maiku to allow replying to a mobile contact that isn't on
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23978
diff changeset
1497
15541
d74985add99f This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
1498 if (buddy) {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1499 PurplePresence *p = purple_buddy_get_presence(buddy);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1500 if (purple_presence_is_status_primitive_active(p, PURPLE_STATUS_MOBILE)) {
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1501 char *text = purple_markup_strip_html(message);
15541
d74985add99f This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
1502 send_to_mobile(gc, who, text);
d74985add99f This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
1503 g_free(text);
15591
1d0d25848c5d Get rid of a minor compile warning
Mark Doliner <mark@kingant.net>
parents: 15541
diff changeset
1504 return 1;
15541
d74985add99f This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
1505 }
d74985add99f This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
1506 }
d74985add99f This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
1507
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1508 msn_import_html(message, &msgformat, &msgtext);
25056
b0c75121cf66 After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25050
diff changeset
1509 msglen = strlen(msgtext);
b0c75121cf66 After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25050
diff changeset
1510 if (msglen == 0) {
b0c75121cf66 After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25050
diff changeset
1511 /* Stuff like <hr> will be ignored. Don't send an empty message
b0c75121cf66 After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25050
diff changeset
1512 if that's all there is. */
b0c75121cf66 After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25050
diff changeset
1513 g_free(msgtext);
b0c75121cf66 After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25050
diff changeset
1514 g_free(msgformat);
b0c75121cf66 After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25050
diff changeset
1515
b0c75121cf66 After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25050
diff changeset
1516 return 0;
b0c75121cf66 After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25050
diff changeset
1517 }
b0c75121cf66 After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25050
diff changeset
1518
23730
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
1519 if (msn_user_is_online(account, who) ||
23533
8aa7e01bc4d5 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23529
diff changeset
1520 msn_user_is_yahoo(account, who) ||
23730
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
1521 swboard != NULL) {
23533
8aa7e01bc4d5 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23529
diff changeset
1522 /*User online or have a swboard open because it's invisible
8aa7e01bc4d5 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23529
diff changeset
1523 * and sent us a message,then send Online Instant Message*/
8aa7e01bc4d5 An MSN patch from Masca to check if there's a SB available before
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23529
diff changeset
1524
25056
b0c75121cf66 After parsing the message text for HTML formatting, don't try to send it if
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25050
diff changeset
1525 if (msglen + strlen(msgformat) + strlen(VERSION) > 1564)
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1526 {
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1527 g_free(msgformat);
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1528 g_free(msgtext);
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1529
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1530 return -E2BIG;
15541
d74985add99f This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
1531 }
d74985add99f This is my attempt at MSN mobile status, but I suspect MSN mobile status doesn't exist. If it's confirmed that it doesn't, I'll revert this. But I want to keep it for posterity, in case it does exist
Sean Egan <seanegan@gmail.com>
parents: 15463
diff changeset
1532
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1533 msg = msn_message_new_plain(msgtext);
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1534 msg->remote_user = g_strdup(who);
31132
33b4ae796648 Rename "attribute" to "header" in a bunch of places. The SLP protocol
Mark Doliner <mark@kingant.net>
parents: 31130
diff changeset
1535 msn_message_set_header(msg, "X-MMS-IM-Format", msgformat);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1536
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1537 g_free(msgformat);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1538 g_free(msgtext);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1539
23564
7bceac816e19 The great MSN debug message cleanup! Threw in a few whitespace fixes,
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23550
diff changeset
1540 purple_debug_info("msn", "prepare to send online Message\n");
22887
b65997110933 The patch to msn to allow sending custom smileys. Doesn't send all the custom smileys correctly at the moment. References #1187.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 22259
diff changeset
1541 if (g_ascii_strcasecmp(who, username))
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1542 {
24451
82452077f0db Don't request an acknowledgement on an auto-response message and don't set a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24409
diff changeset
1543 if (flags & PURPLE_MESSAGE_AUTO_RESP) {
82452077f0db Don't request an acknowledgement on an auto-response message and don't set a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24409
diff changeset
1544 msn_message_set_flag(msg, 'U');
82452077f0db Don't request an acknowledgement on an auto-response message and don't set a
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24409
diff changeset
1545 }
23730
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
1546 if (msn_user_is_yahoo(account, who)) {
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1547 /*we send the online and offline Message to Yahoo User via UBM*/
23564
7bceac816e19 The great MSN debug message cleanup! Threw in a few whitespace fixes,
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23550
diff changeset
1548 purple_debug_info("msn", "send to Yahoo User\n");
23730
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
1549 uum_send_msg(session, msg);
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
1550 } else {
23564
7bceac816e19 The great MSN debug message cleanup! Threw in a few whitespace fixes,
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23550
diff changeset
1551 purple_debug_info("msn", "send via switchboard\n");
24142
fb722b8b4c74 attempts to resend message on switchboard error once, tested by maually
Ka-Hing Cheung <khc@hxbc.us>
parents: 24132
diff changeset
1552 msn_send_im_message(session, msg);
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1553 }
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1554 }
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1555 else
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1556 {
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1557 char *body_str, *body_enc, *pre, *post;
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1558 const char *format;
20413
fd7b501cc9c8 fix up broken merge
Ka-Hing Cheung <khc@hxbc.us>
parents: 20412
diff changeset
1559 MsnIMData *imdata = g_new0(MsnIMData, 1);
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1560 /*
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1561 * In MSN, you can't send messages to yourself, so
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1562 * we'll fake like we received it ;)
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1563 */
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1564 body_str = msn_message_to_string(msg);
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1565 body_enc = g_markup_escape_text(body_str, -1);
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1566 g_free(body_str);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1567
31132
33b4ae796648 Rename "attribute" to "header" in a bunch of places. The SLP protocol
Mark Doliner <mark@kingant.net>
parents: 31130
diff changeset
1568 format = msn_message_get_header_value(msg, "X-MMS-IM-Format");
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1569 msn_parse_format(format, &pre, &post);
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1570 body_str = g_strdup_printf("%s%s%s", pre ? pre : "",
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1571 body_enc ? body_enc : "", post ? post : "");
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1572 g_free(body_enc);
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1573 g_free(pre);
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1574 g_free(post);
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1575
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1576 serv_got_typing_stopped(gc, who);
20413
fd7b501cc9c8 fix up broken merge
Ka-Hing Cheung <khc@hxbc.us>
parents: 20412
diff changeset
1577 imdata->gc = gc;
fd7b501cc9c8 fix up broken merge
Ka-Hing Cheung <khc@hxbc.us>
parents: 20412
diff changeset
1578 imdata->who = who;
fd7b501cc9c8 fix up broken merge
Ka-Hing Cheung <khc@hxbc.us>
parents: 20412
diff changeset
1579 imdata->msg = body_str;
27095
1b47eb4abf96 Turn off the send-flag for messages we send to ourselves in MSN.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 26434
diff changeset
1580 imdata->flags = flags & ~PURPLE_MESSAGE_SEND;
20413
fd7b501cc9c8 fix up broken merge
Ka-Hing Cheung <khc@hxbc.us>
parents: 20412
diff changeset
1581 imdata->when = time(NULL);
20856
306f3c0bccd4 Prevent null pointer deref to fix CID 349. I don't think this is possible, but I suppose it may happen with a different UI.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 20775
diff changeset
1582 purple_timeout_add(0, msn_send_me_im, imdata);
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1583 }
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1584
31393
b4285ea42b6e msn_message_destroy() calls msn_message_unref() if refcount>0. This is
Mark Doliner <mark@kingant.net>
parents: 31392
diff changeset
1585 msn_message_unref(msg);
23495
b82a17934604 fixed a memleak or 3, or maybe 4, or 5. Some of these applies to the p14
Ka-Hing Cheung <khc@hxbc.us>
parents: 21560
diff changeset
1586 } else {
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1587 /*send Offline Instant Message,only to MSN Passport User*/
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1588 char *friendname;
20425
5048651671e1 Revert a bunch of whitespace changes so reviewing a diff against
Stu Tomlinson <stu@nosnilmot.com>
parents: 20422
diff changeset
1589
23564
7bceac816e19 The great MSN debug message cleanup! Threw in a few whitespace fixes,
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23550
diff changeset
1590 purple_debug_info("msn", "prepare to send offline Message\n");
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1591
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
1592 friendname = msn_encode_mime(account->username);
20534
7e69275a4eef oim migrated to new soap code, quadruply duplicated message!
Ka-Hing Cheung <khc@hxbc.us>
parents: 20524
diff changeset
1593 msn_oim_prep_send_msg_info(session->oim,
7e69275a4eef oim migrated to new soap code, quadruply duplicated message!
Ka-Hing Cheung <khc@hxbc.us>
parents: 20524
diff changeset
1594 purple_account_get_username(account),
23496
aa25bb450139 oops, sending the format data probably isn't very useful. Unless you try
Ka-Hing Cheung <khc@hxbc.us>
parents: 23495
diff changeset
1595 friendname, who, msgtext);
20534
7e69275a4eef oim migrated to new soap code, quadruply duplicated message!
Ka-Hing Cheung <khc@hxbc.us>
parents: 20524
diff changeset
1596 msn_oim_send_msg(session->oim);
23495
b82a17934604 fixed a memleak or 3, or maybe 4, or 5. Some of these applies to the p14
Ka-Hing Cheung <khc@hxbc.us>
parents: 21560
diff changeset
1597
b82a17934604 fixed a memleak or 3, or maybe 4, or 5. Some of these applies to the p14
Ka-Hing Cheung <khc@hxbc.us>
parents: 21560
diff changeset
1598 g_free(msgformat);
b82a17934604 fixed a memleak or 3, or maybe 4, or 5. Some of these applies to the p14
Ka-Hing Cheung <khc@hxbc.us>
parents: 21560
diff changeset
1599 g_free(msgtext);
20534
7e69275a4eef oim migrated to new soap code, quadruply duplicated message!
Ka-Hing Cheung <khc@hxbc.us>
parents: 20524
diff changeset
1600 g_free(friendname);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1601 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1602
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1603 return 1;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1604 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1605
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1606 static unsigned int
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1607 msn_send_typing(PurpleConnection *gc, const char *who, PurpleTypingState state)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1608 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1609 PurpleAccount *account;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1610 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1611 MsnSwitchBoard *swboard;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1612 MsnMessage *msg;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1613
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1614 account = purple_connection_get_account(gc);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1615 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1616
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1617 /*
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1618 * TODO: I feel like this should be "if (state != PURPLE_TYPING)"
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1619 * but this is how it was before, and I don't want to break
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1620 * anything. --KingAnt
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1621 */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1622 if (state == PURPLE_NOT_TYPING)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1623 return 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1624
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1625 if (!g_ascii_strcasecmp(who, purple_account_get_username(account)))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1626 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1627 /* We'll just fake it, since we're sending to ourself. */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1628 serv_got_typing(gc, who, MSN_TYPING_RECV_TIMEOUT, PURPLE_TYPING);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1629
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1630 return MSN_TYPING_SEND_TIMEOUT;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1631 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1632
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1633 swboard = msn_session_find_swboard(session, who);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1634
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1635 if (swboard == NULL || !msn_switchboard_can_send(swboard))
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1636 return 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1637
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1638 swboard->flag |= MSN_SB_FLAG_IM;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1639
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1640 msg = msn_message_new(MSN_MSG_TYPING);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1641 msn_message_set_content_type(msg, "text/x-msmsgscontrol");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1642 msn_message_set_flag(msg, 'U');
31132
33b4ae796648 Rename "attribute" to "header" in a bunch of places. The SLP protocol
Mark Doliner <mark@kingant.net>
parents: 31130
diff changeset
1643 msn_message_set_header(msg, "TypingUser",
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1644 purple_account_get_username(account));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1645 msn_message_set_bin_data(msg, "\r\n", 2);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1646
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1647 msn_switchboard_send_msg(swboard, msg, FALSE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1648
31393
b4285ea42b6e msn_message_destroy() calls msn_message_unref() if refcount>0. This is
Mark Doliner <mark@kingant.net>
parents: 31392
diff changeset
1649 msn_message_unref(msg);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1650
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1651 return MSN_TYPING_SEND_TIMEOUT;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1652 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1653
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1654 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1655 msn_set_status(PurpleAccount *account, PurpleStatus *status)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1656 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1657 PurpleConnection *gc;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1658 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1659
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1660 gc = purple_account_get_connection(account);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1661
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1662 if (gc != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1663 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1664 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1665 msn_change_status(session);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1666 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1667 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1668
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1669 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1670 msn_set_idle(PurpleConnection *gc, int idle)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1671 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1672 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1673
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1674 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1675
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1676 msn_change_status(session);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1677 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1678
25918
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1679 /*
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1680 * Actually adds a buddy once we have the response from FQY
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1681 */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1682 static void
25918
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1683 add_pending_buddy(MsnSession *session,
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1684 const char *who,
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1685 MsnNetwork network,
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1686 MsnUser *user)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1687 {
25918
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1688 char *group;
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1689
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1690 g_return_if_fail(user != NULL);
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1691
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1692 group = msn_user_remove_pending_group(user);
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1693
27477
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1694 if (network != MSN_NETWORK_UNKNOWN) {
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1695 MsnUserList *userlist = session->userlist;
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1696 MsnUser *user2 = msn_userlist_find_user(userlist, who);
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1697 if (user2 != NULL) {
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1698 /* User already in userlist, so just update it. */
31179
417899347f8a Remove msn_user_destroy in favor of msn_user_unref.
masca@cpw.pidgin.im
parents: 31173
diff changeset
1699 msn_user_unref(user);
27477
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1700 user = user2;
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1701 } else {
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1702 msn_userlist_add_user(userlist, user);
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1703 }
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1704
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1705 msn_user_set_network(user, network);
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1706 msn_userlist_add_buddy(userlist, who, group);
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1707 }
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1708 else
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1709 {
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1710 PurpleBuddy * buddy = purple_find_buddy(session->account, who);
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1711 gchar *buf;
28645
77a007e0de1f Concordance between "Usernames" and "addresses"
Paul Aurich <paul@darkrain42.org>
parents: 28419
diff changeset
1712 buf = g_strdup_printf(_("Unable to add the buddy %s because the username is invalid. Usernames must be valid email addresses."), who);
27477
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1713 if (!purple_conv_present_error(who, session->account, buf))
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1714 purple_notify_error(purple_account_get_connection(session->account), NULL, _("Unable to Add"), buf);
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1715 g_free(buf);
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1716
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1717 /* Remove from local list */
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1718 purple_blist_remove_buddy(buddy);
31179
417899347f8a Remove msn_user_destroy in favor of msn_user_unref.
masca@cpw.pidgin.im
parents: 31173
diff changeset
1719 msn_user_unref(user);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1720 }
25918
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1721 g_free(group);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1722 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1723
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1724 static void
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1725 finish_auth_request(MsnAddReqData *data, char *msg)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1726 {
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1727 PurpleConnection *pc;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1728 PurpleBuddy *buddy;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1729 PurpleGroup *group;
27477
d375ef85519f Add some checks before attempting to add a buddy on MSN. Also, if the FQY
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27463
diff changeset
1730 PurpleAccount *account;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1731 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1732 MsnUserList *userlist;
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1733 const char *who, *gname;
24674
f3950234b164 If the MSN user is in the userlist already, then check whether we know the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24625
diff changeset
1734 MsnUser *user;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1735
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1736 pc = data->pc;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1737 buddy = data->buddy;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1738 group = data->group;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1739 g_free(data);
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1740
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1741 account = purple_connection_get_account(pc);
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1742 session = pc->proto_data;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1743 userlist = session->userlist;
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1744
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1745 who = msn_normalize(account, purple_buddy_get_name(buddy));
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
1746 gname = group ? purple_group_get_name(group) : NULL;
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
1747 purple_debug_info("msn", "Add user:%s to group:%s\n", who, gname ? gname : "(null)");
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1748 if (!session->logged_in)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1749 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1750 purple_debug_error("msn", "msn_add_buddy called before connected\n");
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1751
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1752 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1753 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1754
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1755 /* XXX - Would group ever be NULL here? I don't think so...
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1756 * shx: Yes it should; MSN handles non-grouped buddies, and this is only
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1757 * internal. */
24674
f3950234b164 If the MSN user is in the userlist already, then check whether we know the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24625
diff changeset
1758 user = msn_userlist_find_user(userlist, who);
f3950234b164 If the MSN user is in the userlist already, then check whether we know the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24625
diff changeset
1759 if ((user != NULL) && (user->networkid != MSN_NETWORK_UNKNOWN)) {
f3950234b164 If the MSN user is in the userlist already, then check whether we know the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24625
diff changeset
1760 /* We already know this buddy and their network. This function knows
f3950234b164 If the MSN user is in the userlist already, then check whether we know the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24625
diff changeset
1761 what to do with users already in the list and stuff... */
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1762 msn_user_set_invite_message(user, msg);
25368
1260a3fb60f4 propagate from branch 'im.pidgin.pidgin' (head b8d6086aef6b2e65d86e8ce60220ab7f460d5079)
Richard Laager <rlaager@wiktel.com>
parents: 24625 25365
diff changeset
1763 msn_userlist_add_buddy(userlist, who, gname);
24463
4fd22591e3f0 Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24456
diff changeset
1764 } else {
25172
fd5eedf131b4 Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25056
diff changeset
1765 char **tokens;
fd5eedf131b4 Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25056
diff changeset
1766 char *fqy;
24463
4fd22591e3f0 Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24456
diff changeset
1767 /* We need to check the network for this buddy first */
25918
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1768 user = msn_user_new(userlist, who, NULL);
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1769 msn_user_set_invite_message(user, msg);
27145
4c651771840d Add a data parameter for FQY callbacks and remove the pending users list
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27144
diff changeset
1770 msn_user_set_pending_group(user, gname);
25918
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1771 msn_user_set_network(user, MSN_NETWORK_UNKNOWN);
25172
fd5eedf131b4 Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25056
diff changeset
1772 tokens = g_strsplit(who, "@", 2);
fd5eedf131b4 Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25056
diff changeset
1773 fqy = g_strdup_printf("<ml><d n=\"%s\"><c n=\"%s\"/></d></ml>",
fd5eedf131b4 Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25056
diff changeset
1774 tokens[1],
fd5eedf131b4 Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25056
diff changeset
1775 tokens[0]);
fd5eedf131b4 Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25056
diff changeset
1776 msn_notification_send_fqy(session, fqy, strlen(fqy),
25918
c384d62009c0 *** Plucked rev b932d4f94f9c771877b6a8a6a1d7dd3ea9c08005 (qulogic@pidgin.im):
Ka-Hing Cheung <khc@hxbc.us>
parents: 25172
diff changeset
1777 (MsnFqyCb)add_pending_buddy, user);
25172
fd5eedf131b4 Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25056
diff changeset
1778 g_free(fqy);
fd5eedf131b4 Generalize the FQY command so it can be used by different callbacks based
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 25056
diff changeset
1779 g_strfreev(tokens);
24463
4fd22591e3f0 Send FQY as the first thing when adding a buddy so that we know what network
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 24456
diff changeset
1780 }
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1781 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1782
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1783 static void
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1784 cancel_auth_request(MsnAddReqData *data, char *msg)
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1785 {
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1786 /* Remove from local list */
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1787 purple_blist_remove_buddy(data->buddy);
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1788
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1789 g_free(data);
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1790 }
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1791
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1792 static void
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1793 msn_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group)
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1794 {
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1795 const char *bname;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1796 MsnAddReqData *data;
29225
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1797 MsnSession *session;
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1798 MsnUser *user;
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1799
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1800 bname = purple_buddy_get_name(buddy);
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1801
28790
c3f79073c9be The MSN servers are a bit more strict about what's allowed in emails than
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28645
diff changeset
1802 if (!msn_email_is_valid(bname)) {
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1803 gchar *buf;
28645
77a007e0de1f Concordance between "Usernames" and "addresses"
Paul Aurich <paul@darkrain42.org>
parents: 28419
diff changeset
1804 buf = g_strdup_printf(_("Unable to add the buddy %s because the username is invalid. Usernames must be valid email addresses."), bname);
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1805 if (!purple_conv_present_error(bname, purple_connection_get_account(gc), buf))
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1806 purple_notify_error(gc, NULL, _("Unable to Add"), buf);
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1807 g_free(buf);
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1808
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1809 /* Remove from local list */
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1810 purple_blist_remove_buddy(buddy);
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1811
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1812 return;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1813 }
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1814
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1815 data = g_new0(MsnAddReqData, 1);
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1816 data->pc = gc;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1817 data->buddy = buddy;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1818 data->group = group;
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1819
29225
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1820 session = purple_connection_get_protocol_data(gc);
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1821 user = msn_userlist_find_user(session->userlist, bname);
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1822 if (user && user->authorized) {
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1823 finish_auth_request(data, NULL);
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1824 } else {
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1825 purple_request_input(gc, NULL, _("Authorization Request Message:"),
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1826 NULL, _("Please authorize me!"), TRUE, FALSE, NULL,
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1827 _("_OK"), G_CALLBACK(finish_auth_request),
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1828 _("_Cancel"), G_CALLBACK(cancel_auth_request),
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1829 purple_connection_get_account(gc), bname, NULL,
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1830 data);
42b47f88f6e1 Don't bother asking for an authorization message for users that added us to
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 29207
diff changeset
1831 }
27564
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1832 }
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1833
3698c7f4d803 On MSN, pop up an "invite message" request similar to oscar, and send that
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 27558
diff changeset
1834 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1835 msn_rem_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1836 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1837 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1838 MsnUserList *userlist;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1839
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1840 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1841 userlist = session->userlist;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1842
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1843 if (!session->logged_in)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1844 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1845
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1846 /* XXX - Does buddy->name need to be msn_normalize'd here? --KingAnt */
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
1847 msn_userlist_rem_buddy(userlist, purple_buddy_get_name(buddy));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1848 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1849
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1850 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1851 msn_add_permit(PurpleConnection *gc, const char *who)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1852 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1853 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1854 MsnUserList *userlist;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1855 MsnUser *user;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1856
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1857 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1858 userlist = session->userlist;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1859 user = msn_userlist_find_user(userlist, who);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1860
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1861 if (!session->logged_in)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1862 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1863
20486
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1864 if (user != NULL && user->list_op & MSN_LIST_BL_OP) {
20481
eb93710aec4d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20477
diff changeset
1865 msn_userlist_rem_buddy_from_list(userlist, who, MSN_LIST_BL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1866
20486
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1867 /* delete contact from Block list and add it to Allow in the callback */
23504
69af5301e1a7 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@hxbc.us>
parents: 23501
diff changeset
1868 msn_del_contact_from_list(session, NULL, who, MSN_LIST_BL);
20486
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1869 } else {
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1870 /* just add the contact to Allow list */
23504
69af5301e1a7 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@hxbc.us>
parents: 23501
diff changeset
1871 msn_add_contact_to_list(session, NULL, who, MSN_LIST_AL);
20486
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1872 }
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1873
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1874
20481
eb93710aec4d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20477
diff changeset
1875 msn_userlist_add_buddy_to_list(userlist, who, MSN_LIST_AL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1876 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1877
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1878 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1879 msn_add_deny(PurpleConnection *gc, const char *who)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1880 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1881 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1882 MsnUserList *userlist;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1883 MsnUser *user;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1884
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1885 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1886 userlist = session->userlist;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1887 user = msn_userlist_find_user(userlist, who);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1888
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1889 if (!session->logged_in)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1890 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1891
20486
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1892 if (user != NULL && user->list_op & MSN_LIST_AL_OP) {
20481
eb93710aec4d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20477
diff changeset
1893 msn_userlist_rem_buddy_from_list(userlist, who, MSN_LIST_AL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1894
20486
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1895 /* delete contact from Allow list and add it to Block in the callback */
23504
69af5301e1a7 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@hxbc.us>
parents: 23501
diff changeset
1896 msn_del_contact_from_list(session, NULL, who, MSN_LIST_AL);
20486
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1897 } else {
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1898 /* just add the contact to Block list */
23504
69af5301e1a7 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@hxbc.us>
parents: 23501
diff changeset
1899 msn_add_contact_to_list(session, NULL, who, MSN_LIST_BL);
20486
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1900 }
ff4ae9dde291 Make block/unblock work right, as well as being add by a buddy. Finally fixes #723
Carlos Silva <typ0@pidgin.im>
parents: 20484
diff changeset
1901
20481
eb93710aec4d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20477
diff changeset
1902 msn_userlist_add_buddy_to_list(userlist, who, MSN_LIST_BL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1903 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1904
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1905 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1906 msn_rem_permit(PurpleConnection *gc, const char *who)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1907 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1908 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1909 MsnUserList *userlist;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1910 MsnUser *user;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1911
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1912 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1913 userlist = session->userlist;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1914
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1915 if (!session->logged_in)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1916 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1917
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1918 user = msn_userlist_find_user(userlist, who);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1919
20481
eb93710aec4d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20477
diff changeset
1920 msn_userlist_rem_buddy_from_list(userlist, who, MSN_LIST_AL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1921
23504
69af5301e1a7 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@hxbc.us>
parents: 23501
diff changeset
1922 msn_del_contact_from_list(session, NULL, who, MSN_LIST_AL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1923
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1924 if (user != NULL && user->list_op & MSN_LIST_RL_OP)
20481
eb93710aec4d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20477
diff changeset
1925 msn_userlist_add_buddy_to_list(userlist, who, MSN_LIST_BL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1926 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1927
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1928 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1929 msn_rem_deny(PurpleConnection *gc, const char *who)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1930 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1931 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1932 MsnUserList *userlist;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1933 MsnUser *user;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1934
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1935 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1936 userlist = session->userlist;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1937
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1938 if (!session->logged_in)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1939 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1940
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1941 user = msn_userlist_find_user(userlist, who);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1942
20481
eb93710aec4d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20477
diff changeset
1943 msn_userlist_rem_buddy_from_list(userlist, who, MSN_LIST_BL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1944
23504
69af5301e1a7 killing MsnContact which just wraps MsnSession
Ka-Hing Cheung <khc@hxbc.us>
parents: 23501
diff changeset
1945 msn_del_contact_from_list(session, NULL, who, MSN_LIST_BL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1946
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1947 if (user != NULL && user->list_op & MSN_LIST_RL_OP)
20481
eb93710aec4d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20477
diff changeset
1948 msn_userlist_add_buddy_to_list(userlist, who, MSN_LIST_AL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1949 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1950
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1951 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1952 msn_set_permit_deny(PurpleConnection *gc)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1953 {
20459
46437bdf316b In the initial ADL listing, send the commands in the correct sequence as required by the server: BLP, ADL and PRP. When the server acknowledges this initial ADL, send CHG with status information
Carlos Silva <typ0@pidgin.im>
parents: 20456
diff changeset
1954 msn_send_privacy(gc);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1955 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1956
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1957 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1958 msn_chat_invite(PurpleConnection *gc, int id, const char *msg,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1959 const char *who)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1960 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1961 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1962 MsnSwitchBoard *swboard;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1963
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1964 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1965
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1966 swboard = msn_session_find_swboard_with_id(session, id);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1967
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1968 if (swboard == NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1969 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1970 /* if we have no switchboard, everyone else left the chat already */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1971 swboard = msn_switchboard_new(session);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1972 msn_switchboard_request(swboard);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1973 swboard->chat_id = id;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1974 swboard->conv = purple_find_chat(gc, id);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1975 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1976
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1977 swboard->flag |= MSN_SB_FLAG_IM;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1978
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1979 msn_switchboard_request_add_user(swboard, who);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1980 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1981
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1982 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1983 msn_chat_leave(PurpleConnection *gc, int id)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1984 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1985 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1986 MsnSwitchBoard *swboard;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
1987 PurpleConversation *conv;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1988
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1989 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1990
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1991 swboard = msn_session_find_swboard_with_id(session, id);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1992
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1993 /* if swboard is NULL we were the only person left anyway */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1994 if (swboard == NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1995 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1996
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1997 conv = swboard->conv;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1998
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1999 msn_switchboard_release(swboard, MSN_SB_FLAG_IM);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2000
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2001 /* If other switchboards managed to associate themselves with this
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2002 * conv, make sure they know it's gone! */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2003 if (conv != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2004 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2005 while ((swboard = msn_session_find_swboard_with_conv(session, conv)) != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2006 swboard->conv = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2007 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2008 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2009
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2010 static int
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2011 msn_chat_send(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2012 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2013 PurpleAccount *account;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2014 MsnSession *session;
28418
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2015 const char *username;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2016 MsnSwitchBoard *swboard;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2017 MsnMessage *msg;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2018 char *msgformat;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2019 char *msgtext;
28417
ea7e54c4d7fd Check for empty messages before sending them in chats. This is the same
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28414
diff changeset
2020 size_t msglen;
28418
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2021 MsnEmoticon *smile;
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2022 GSList *smileys;
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2023 GString *emoticons = NULL;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2024
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2025 account = purple_connection_get_account(gc);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2026 session = gc->proto_data;
28418
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2027 username = purple_account_get_username(account);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2028 swboard = msn_session_find_swboard_with_id(session, id);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2029
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2030 if (swboard == NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2031 return -EINVAL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2032
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2033 if (!swboard->ready)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2034 return 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2035
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2036 swboard->flag |= MSN_SB_FLAG_IM;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2037
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2038 msn_import_html(message, &msgformat, &msgtext);
28417
ea7e54c4d7fd Check for empty messages before sending them in chats. This is the same
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28414
diff changeset
2039 msglen = strlen(msgtext);
ea7e54c4d7fd Check for empty messages before sending them in chats. This is the same
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28414
diff changeset
2040
ea7e54c4d7fd Check for empty messages before sending them in chats. This is the same
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28414
diff changeset
2041 if ((msglen == 0) || (msglen + strlen(msgformat) + strlen(VERSION) > 1564))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2042 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2043 g_free(msgformat);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2044 g_free(msgtext);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2045
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2046 return -E2BIG;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2047 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2048
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2049 msg = msn_message_new_plain(msgtext);
31132
33b4ae796648 Rename "attribute" to "header" in a bunch of places. The SLP protocol
Mark Doliner <mark@kingant.net>
parents: 31130
diff changeset
2050 msn_message_set_header(msg, "X-MMS-IM-Format", msgformat);
28418
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2051
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2052 smileys = msn_msg_grab_emoticons(msg->body, username);
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2053 while (smileys) {
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2054 smile = (MsnEmoticon *)smileys->data;
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2055 emoticons = msn_msg_emoticon_add(emoticons, smile);
28419
36c6601d650a It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28418
diff changeset
2056 if (purple_conv_custom_smiley_add(swboard->conv, smile->smile,
36c6601d650a It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28418
diff changeset
2057 "sha1", purple_smiley_get_checksum(smile->ps),
36c6601d650a It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28418
diff changeset
2058 FALSE)) {
36c6601d650a It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28418
diff changeset
2059 gconstpointer data;
36c6601d650a It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28418
diff changeset
2060 size_t len;
36c6601d650a It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28418
diff changeset
2061 data = purple_smiley_get_data(smile->ps, &len);
36c6601d650a It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28418
diff changeset
2062 purple_conv_custom_smiley_write(swboard->conv, smile->smile, data, len);
36c6601d650a It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28418
diff changeset
2063 purple_conv_custom_smiley_close(swboard->conv, smile->smile);
36c6601d650a It seems I need to write the smiley to the conversation for it to show up
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28418
diff changeset
2064 }
28418
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2065 msn_emoticon_destroy(smile);
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2066 smileys = g_slist_delete_link(smileys, smileys);
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2067 }
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2068
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2069 if (emoticons) {
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2070 msn_send_emoticons(swboard, emoticons);
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2071 g_string_free(emoticons, TRUE);
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2072 }
afe6ce7cc64f Send proper emoticon messages in MSN chats. Apparently, this never worked
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 28417
diff changeset
2073
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2074 msn_switchboard_send_msg(swboard, msg, FALSE);
31393
b4285ea42b6e msn_message_destroy() calls msn_message_unref() if refcount>0. This is
Mark Doliner <mark@kingant.net>
parents: 31392
diff changeset
2075 msn_message_unref(msg);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2076
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2077 g_free(msgformat);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2078 g_free(msgtext);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2079
23154
caa533b62902 When calling serv_got_chat_in() after sending a group chat message (to let
Evan Schoenberg <evan.s@dreskin.net>
parents: 23144
diff changeset
2080 serv_got_chat_in(gc, id, purple_account_get_username(account), flags,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2081 message, time(NULL));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2082
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2083 return 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2084 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2085
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2086 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2087 msn_keepalive(PurpleConnection *gc)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2088 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2089 MsnSession *session;
31148
f7ee91763c6b msn: Remove msn_cmdproc_send_quick in favor of msn_cmdproc_send_trans
masca@cpw.pidgin.im
parents: 31147
diff changeset
2090 MsnTransaction *trans;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2091
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2092 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2093
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2094 if (!session->http_method)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2095 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2096 MsnCmdProc *cmdproc;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2097
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2098 cmdproc = session->notification->cmdproc;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2099
31149
54c8aeecab4c We need a way to send commands without transaction ID
masca@cpw.pidgin.im
parents: 31148
diff changeset
2100 trans = msn_transaction_new(cmdproc, "PNG", NULL);
31154
c316749944c1 I don't really like this name.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31153
diff changeset
2101 msn_transaction_set_saveable(trans, FALSE);
31148
f7ee91763c6b msn: Remove msn_cmdproc_send_quick in favor of msn_cmdproc_send_trans
masca@cpw.pidgin.im
parents: 31147
diff changeset
2102 msn_cmdproc_send_trans(cmdproc, trans);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2103 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2104 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2105
23517
70de4e2246ec Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23509
diff changeset
2106 static void msn_alias_buddy(PurpleConnection *pc, const char *name, const char *alias)
70de4e2246ec Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23509
diff changeset
2107 {
70de4e2246ec Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23509
diff changeset
2108 MsnSession *session;
70de4e2246ec Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23509
diff changeset
2109
70de4e2246ec Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23509
diff changeset
2110 session = pc->proto_data;
70de4e2246ec Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23509
diff changeset
2111
70de4e2246ec Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23509
diff changeset
2112 msn_update_contact(session, name, MSN_UPDATE_ALIAS, alias);
70de4e2246ec Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23509
diff changeset
2113 }
70de4e2246ec Add real server-side aliasing to MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23509
diff changeset
2114
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2115 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2116 msn_group_buddy(PurpleConnection *gc, const char *who,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2117 const char *old_group_name, const char *new_group_name)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2118 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2119 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2120 MsnUserList *userlist;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2121
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2122 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2123 userlist = session->userlist;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2124
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2125 msn_userlist_move_buddy(userlist, who, old_group_name, new_group_name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2126 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2127
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2128 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2129 msn_rename_group(PurpleConnection *gc, const char *old_name,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2130 PurpleGroup *group, GList *moved_buddies)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2131 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2132 MsnSession *session;
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2133 const char *gname;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2134
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2135 session = gc->proto_data;
23300
5cdd93dac7a2 Delete trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 23182
diff changeset
2136
20481
eb93710aec4d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20477
diff changeset
2137 g_return_if_fail(session != NULL);
eb93710aec4d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20477
diff changeset
2138 g_return_if_fail(session->userlist != NULL);
23300
5cdd93dac7a2 Delete trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 23182
diff changeset
2139
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2140 gname = purple_group_get_name(group);
20481
eb93710aec4d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20477
diff changeset
2141 if (msn_userlist_find_group_with_name(session->userlist, old_name) != NULL)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2142 {
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2143 msn_contact_rename_group(session, old_name, gname);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2144 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2145 else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2146 {
20481
eb93710aec4d Make buddy and group management actually work, add some SOAP templates, redesign some parts of code and separate some bigger functions into its smaller tasks which are completely unrelated to each other
Carlos Silva <typ0@pidgin.im>
parents: 20477
diff changeset
2147 /* not found */
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2148 msn_add_group(session, NULL, gname);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2149 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2150 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2151
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2152 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2153 msn_convo_closed(PurpleConnection *gc, const char *who)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2154 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2155 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2156 MsnSwitchBoard *swboard;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2157 PurpleConversation *conv;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2158
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2159 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2160
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2161 swboard = msn_session_find_swboard(session, who);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2162
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2163 /*
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2164 * Don't perform an assertion here. If swboard is NULL, then the
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2165 * switchboard was either closed by the other party, or the person
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2166 * is talking to himself.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2167 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2168 if (swboard == NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2169 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2170
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2171 conv = swboard->conv;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2172
17247
d63075ed73c9 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 17197
diff changeset
2173 /* If we release the switchboard here, it may still have messages
d63075ed73c9 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 17197
diff changeset
2174 pending ACK which would result in incorrect unsent message errors.
d63075ed73c9 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 17197
diff changeset
2175 Just let it timeout... This is *so* going to screw with people who
d63075ed73c9 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 17197
diff changeset
2176 use dumb clients that report "User has closed the conversation window" */
d63075ed73c9 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 17197
diff changeset
2177 /* msn_switchboard_release(swboard, MSN_SB_FLAG_IM); */
d63075ed73c9 When closing IM windows on MSN, don't release the switchboard connection
Stu Tomlinson <stu@nosnilmot.com>
parents: 17197
diff changeset
2178 swboard->conv = NULL;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2179
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2180 /* If other switchboards managed to associate themselves with this
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2181 * conv, make sure they know it's gone! */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2182 if (conv != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2183 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2184 while ((swboard = msn_session_find_swboard_with_conv(session, conv)) != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2185 swboard->conv = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2186 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2187 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2188
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2189 static void
16390
4fc51a87ce42 Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents: 16375
diff changeset
2190 msn_set_buddy_icon(PurpleConnection *gc, PurpleStoredImage *img)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2191 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2192 MsnSession *session;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2193 MsnUser *user;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2194
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2195 session = gc->proto_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2196 user = session->user;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2197
16390
4fc51a87ce42 Updates for the account buddy icon stuff. This doesn't yet work fully (and maybe not even partly), but it compiles.
Richard Laager <rlaager@wiktel.com>
parents: 16375
diff changeset
2198 msn_user_set_buddy_icon(user, img);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2199
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2200 msn_change_status(session);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2201 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2202
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2203 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2204 msn_remove_group(PurpleConnection *gc, PurpleGroup *group)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2205 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2206 MsnSession *session;
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2207 const char *gname;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2208
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2209 session = gc->proto_data;
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2210 gname = purple_group_get_name(group);
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2211
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2212 purple_debug_info("msn", "Remove group %s\n", gname);
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
2213 /*we can't delete the default group*/
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2214 if(!strcmp(gname, MSN_INDIVIDUALS_GROUP_NAME)||
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2215 !strcmp(gname, MSN_NON_IM_GROUP_NAME))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2216 {
23564
7bceac816e19 The great MSN debug message cleanup! Threw in a few whitespace fixes,
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23550
diff changeset
2217 purple_debug_info("msn", "This group can't be removed, returning.\n");
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
2218 return ;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2219 }
23300
5cdd93dac7a2 Delete trailing whitespace
Mark Doliner <mark@kingant.net>
parents: 23182
diff changeset
2220
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2221 msn_del_group(session, gname);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2222 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2223
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2224 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2225 * Extract info text from info_data and add it to user_info
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2226 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2227 static gboolean
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2228 msn_tooltip_extract_info_text(PurpleNotifyUserInfo *user_info, MsnGetInfoData *info_data)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2229 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2230 PurpleBuddy *b;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2231
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2232 b = purple_find_buddy(purple_connection_get_account(info_data->gc),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2233 info_data->name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2234
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2235 if (b)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2236 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2237 char *tmp;
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2238 const char *alias;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2239
25294
8aa7d8bcbc7d Alias foo. I think blist.h structs are now completely hidden.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 25290
diff changeset
2240 alias = purple_buddy_get_local_buddy_alias(b);
8aa7d8bcbc7d Alias foo. I think blist.h structs are now completely hidden.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 25290
diff changeset
2241 if (alias && alias[0])
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2242 {
25294
8aa7d8bcbc7d Alias foo. I think blist.h structs are now completely hidden.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 25290
diff changeset
2243 char *aliastext = g_markup_escape_text(alias, -1);
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2244 purple_notify_user_info_add_pair(user_info, _("Alias"), aliastext);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2245 g_free(aliastext);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2246 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2247
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2248 if ((alias = purple_buddy_get_server_alias(b)) != NULL)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2249 {
24120
16734635febf Start hiding blist.h internals in prpls.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23978
diff changeset
2250 char *nicktext = g_markup_escape_text(alias, -1);
24615
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2251 tmp = g_strdup_printf("<font sml=\"msn\">%s</font>", nicktext);
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2252 purple_notify_user_info_add_pair(user_info, _("Nickname"), tmp);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2253 g_free(tmp);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2254 g_free(nicktext);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2255 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2256
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2257 /* Add the tooltip information */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2258 msn_tooltip_text(b, user_info, TRUE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2259
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2260 return TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2261 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2262
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2263 return FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2264 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2265
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2266 #if PHOTO_SUPPORT
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2267
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2268 static char *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2269 msn_get_photo_url(const char *url_text)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2270 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2271 char *p, *q;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2272
20425
5048651671e1 Revert a bunch of whitespace changes so reviewing a diff against
Stu Tomlinson <stu@nosnilmot.com>
parents: 20422
diff changeset
2273 if ((p = strstr(url_text, PHOTO_URL)) != NULL)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2274 {
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
2275 p += strlen(PHOTO_URL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2276 }
23730
5aba1f0f36b0 Fix up some whitespace problems.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23673
diff changeset
2277 if (p && (strncmp(p, "http://", strlen("http://")) == 0) && ((q = strchr(p, '"')) != NULL))
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2278 return g_strndup(p, q - p);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2279
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2280 return NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2281 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2282
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2283 static void msn_got_photo(PurpleUtilFetchUrlData *url_data, gpointer data,
23529
46d8edad1647 Fix up a typo between the declaration and definition of msn_got_photo.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23524
diff changeset
2284 const gchar *url_text, gsize len, const gchar *error_message);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2285
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2286 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2287
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2288 #if 0
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2289 static char *msn_info_date_reformat(const char *field, size_t len)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2290 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2291 char *tmp = g_strndup(field, len);
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2292 time_t t = purple_str_to_time(tmp, FALSE, NULL, NULL, NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2293
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2294 g_free(tmp);
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2295 return g_strdup(purple_date_format_short(localtime(&t)));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2296 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2297 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2298
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2299 #define MSN_GOT_INFO_GET_FIELD(a, b) \
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2300 found = purple_markup_extract_info_field(stripped, stripped_len, user_info, \
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2301 "\n" a ":", 0, "\n", 0, "Undisclosed", b, 0, NULL, NULL); \
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2302 if (found) \
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2303 sect_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2304
17665
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2305 #define MSN_GOT_INFO_GET_FIELD_NO_SEARCH(a, b) \
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2306 found = purple_markup_extract_info_field(stripped, stripped_len, user_info, \
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2307 "\n" a ":", 0, "\n", 0, "Undisclosed", b, 0, NULL, msn_info_strip_search_link); \
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2308 if (found) \
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2309 sect_info = TRUE;
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2310
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2311 static char *
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2312 msn_info_strip_search_link(const char *field, size_t len)
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2313 {
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2314 const char *c;
20554
11d09a5f7b46 Compile\!
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 20544
diff changeset
2315 if ((c = strstr(field, " (http://")) == NULL)
17665
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2316 return g_strndup(field, len);
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2317 return g_strndup(field, c - field);
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2318 }
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2319
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2320 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2321 msn_got_info(PurpleUtilFetchUrlData *url_data, gpointer data,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2322 const gchar *url_text, size_t len, const gchar *error_message)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2323 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2324 MsnGetInfoData *info_data = (MsnGetInfoData *)data;
30748
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2325 MsnSession *session;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2326 PurpleNotifyUserInfo *user_info;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2327 char *stripped, *p, *q, *tmp;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2328 char *user_url = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2329 gboolean found;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2330 gboolean has_tooltip_text = FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2331 gboolean has_info = FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2332 gboolean sect_info = FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2333 gboolean has_contact_info = FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2334 char *url_buffer;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2335 int stripped_len;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2336 #if PHOTO_SUPPORT
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2337 char *photo_url_text = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2338 MsnGetInfoStepTwoData *info2_data = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2339 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2340
20394
4a099e4d0d09 propagate from branch 'im.pidgin.pidgin' (head 98b6b547b29ea1192b73cc4e1de1e674edef4328)
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
2341 purple_debug_info("msn", "In msn_got_info,url_text:{%s}\n",url_text);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2342
30748
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2343 session = purple_connection_get_protocol_data(info_data->gc);
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2344 session->url_datas = g_slist_remove(session->url_datas, url_data);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2345
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2346 user_info = purple_notify_user_info_new();
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2347 has_tooltip_text = msn_tooltip_extract_info_text(user_info, info_data);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2348
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2349 if (error_message != NULL || url_text == NULL || strcmp(url_text, "") == 0)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2350 {
24615
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2351 purple_notify_user_info_add_pair(user_info,
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2352 _("Error retrieving profile"), NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2353
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2354 purple_notify_userinfo(info_data->gc, info_data->name, user_info, NULL, NULL);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2355 purple_notify_user_info_destroy(user_info);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2356
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2357 g_free(info_data->name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2358 g_free(info_data);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2359 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2360 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2361
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2362 url_buffer = g_strdup(url_text);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2363
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2364 /* If they have a homepage link, MSN masks it such that we need to
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2365 * fetch the url out before purple_markup_strip_html() nukes it */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2366 /* I don't think this works with the new spaces profiles - Stu 3/2/06 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2367 if ((p = strstr(url_text,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2368 "Take a look at my </font><A class=viewDesc title=\"")) != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2369 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2370 p += 50;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2371
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2372 if ((q = strchr(p, '"')) != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2373 user_url = g_strndup(p, q - p);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2374 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2375
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2376 /*
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2377 * purple_markup_strip_html() doesn't strip out character entities like &nbsp;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2378 * and &#183;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2379 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2380 while ((p = strstr(url_buffer, "&nbsp;")) != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2381 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2382 *p = ' '; /* Turn &nbsp;'s into ordinary blanks */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2383 p += 1;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2384 memmove(p, p + 5, strlen(p + 5));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2385 url_buffer[strlen(url_buffer) - 5] = '\0';
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2386 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2387
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2388 while ((p = strstr(url_buffer, "&#183;")) != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2389 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2390 memmove(p, p + 6, strlen(p + 6));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2391 url_buffer[strlen(url_buffer) - 6] = '\0';
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2392 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2393
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2394 /* Nuke the nasty \r's that just get in the way */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2395 purple_str_strip_char(url_buffer, '\r');
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2396
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2397 /* MSN always puts in &#39; for apostrophes...replace them */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2398 while ((p = strstr(url_buffer, "&#39;")) != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2399 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2400 *p = '\'';
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2401 memmove(p + 1, p + 5, strlen(p + 5));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2402 url_buffer[strlen(url_buffer) - 4] = '\0';
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2403 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2404
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2405 /* Nuke the html, it's easier than trying to parse the horrid stuff */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2406 stripped = purple_markup_strip_html(url_buffer);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2407 stripped_len = strlen(stripped);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2408
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2409 purple_debug_misc("msn", "stripped = %p\n", stripped);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2410 purple_debug_misc("msn", "url_buffer = %p\n", url_buffer);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2411
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2412 /* General section header */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2413 if (has_tooltip_text)
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2414 purple_notify_user_info_add_section_break(user_info);
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
2415
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2416 purple_notify_user_info_add_section_header(user_info, _("General"));
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
2417
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2418 /* Extract their Name and put it in */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2419 MSN_GOT_INFO_GET_FIELD("Name", _("Name"));
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
2420
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2421 /* General */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2422 MSN_GOT_INFO_GET_FIELD("Nickname", _("Nickname"));
17665
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2423 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Age", _("Age"));
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2424 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Gender", _("Gender"));
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2425 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Occupation", _("Occupation"));
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2426 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Location", _("Location"));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2427
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2428 /* Extract their Interests and put it in */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2429 found = purple_markup_extract_info_field(stripped, stripped_len, user_info,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2430 "\nInterests\t", 0, " (/default.aspx?page=searchresults", 0,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2431 "Undisclosed", _("Hobbies and Interests") /* _("Interests") */,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2432 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2433
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2434 if (found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2435 sect_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2436
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2437 MSN_GOT_INFO_GET_FIELD("More about me", _("A Little About Me"));
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
2438
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2439 if (sect_info)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2440 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2441 has_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2442 sect_info = FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2443 }
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
2444 else
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2445 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2446 /* Remove the section header */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2447 purple_notify_user_info_remove_last_item(user_info);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2448 if (has_tooltip_text)
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2449 purple_notify_user_info_remove_last_item(user_info);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2450 }
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
2451
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2452 /* Social */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2453 purple_notify_user_info_add_section_break(user_info);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2454 purple_notify_user_info_add_section_header(user_info, _("Social"));
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
2455
22433
616a76954a97 Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <stu@nosnilmot.com>
parents: 22259
diff changeset
2456 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Marital status", _("Marital Status"));
616a76954a97 Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <stu@nosnilmot.com>
parents: 22259
diff changeset
2457 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Interested in", _("Interests"));
616a76954a97 Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <stu@nosnilmot.com>
parents: 22259
diff changeset
2458 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Pets", _("Pets"));
616a76954a97 Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <stu@nosnilmot.com>
parents: 22259
diff changeset
2459 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Hometown", _("Hometown"));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2460 MSN_GOT_INFO_GET_FIELD("Places lived", _("Places Lived"));
22433
616a76954a97 Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <stu@nosnilmot.com>
parents: 22259
diff changeset
2461 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Fashion", _("Fashion"));
616a76954a97 Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <stu@nosnilmot.com>
parents: 22259
diff changeset
2462 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Humor", _("Humor"));
616a76954a97 Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <stu@nosnilmot.com>
parents: 22259
diff changeset
2463 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Music", _("Music"));
616a76954a97 Improve "Get Info" parsing on MSN - ignore all URLs in fields instead of
Stu Tomlinson <stu@nosnilmot.com>
parents: 22259
diff changeset
2464 MSN_GOT_INFO_GET_FIELD_NO_SEARCH("Favorite quote", _("Favorite Quote"));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2465
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2466 if (sect_info)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2467 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2468 has_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2469 sect_info = FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2470 }
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
2471 else
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2472 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2473 /* Remove the section header */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2474 purple_notify_user_info_remove_last_item(user_info);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2475 purple_notify_user_info_remove_last_item(user_info);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2476 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2477
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2478 /* Contact Info */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2479 /* Personal */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2480 purple_notify_user_info_add_section_break(user_info);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2481 purple_notify_user_info_add_section_header(user_info, _("Contact Info"));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2482 purple_notify_user_info_add_section_header(user_info, _("Personal"));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2483
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2484 MSN_GOT_INFO_GET_FIELD("Name", _("Name"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2485 MSN_GOT_INFO_GET_FIELD("Significant other", _("Significant Other"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2486 MSN_GOT_INFO_GET_FIELD("Home phone", _("Home Phone"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2487 MSN_GOT_INFO_GET_FIELD("Home phone 2", _("Home Phone 2"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2488 MSN_GOT_INFO_GET_FIELD("Home address", _("Home Address"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2489 MSN_GOT_INFO_GET_FIELD("Personal Mobile", _("Personal Mobile"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2490 MSN_GOT_INFO_GET_FIELD("Home fax", _("Home Fax"));
23182
e0bcb8cfda74 Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents: 23154
diff changeset
2491 MSN_GOT_INFO_GET_FIELD("Personal email", _("Personal Email"));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2492 MSN_GOT_INFO_GET_FIELD("Personal IM", _("Personal IM"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2493 MSN_GOT_INFO_GET_FIELD("Birthday", _("Birthday"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2494 MSN_GOT_INFO_GET_FIELD("Anniversary", _("Anniversary"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2495 MSN_GOT_INFO_GET_FIELD("Notes", _("Notes"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2496
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2497 if (sect_info)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2498 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2499 has_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2500 sect_info = FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2501 has_contact_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2502 }
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
2503 else
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2504 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2505 /* Remove the section header */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2506 purple_notify_user_info_remove_last_item(user_info);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2507 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2508
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2509 /* Business */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2510 purple_notify_user_info_add_section_header(user_info, _("Work"));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2511 MSN_GOT_INFO_GET_FIELD("Name", _("Name"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2512 MSN_GOT_INFO_GET_FIELD("Job title", _("Job Title"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2513 MSN_GOT_INFO_GET_FIELD("Company", _("Company"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2514 MSN_GOT_INFO_GET_FIELD("Department", _("Department"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2515 MSN_GOT_INFO_GET_FIELD("Profession", _("Profession"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2516 MSN_GOT_INFO_GET_FIELD("Work phone 1", _("Work Phone"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2517 MSN_GOT_INFO_GET_FIELD("Work phone 2", _("Work Phone 2"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2518 MSN_GOT_INFO_GET_FIELD("Work address", _("Work Address"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2519 MSN_GOT_INFO_GET_FIELD("Work mobile", _("Work Mobile"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2520 MSN_GOT_INFO_GET_FIELD("Work pager", _("Work Pager"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2521 MSN_GOT_INFO_GET_FIELD("Work fax", _("Work Fax"));
23182
e0bcb8cfda74 Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents: 23154
diff changeset
2522 MSN_GOT_INFO_GET_FIELD("Work email", _("Work Email"));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2523 MSN_GOT_INFO_GET_FIELD("Work IM", _("Work IM"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2524 MSN_GOT_INFO_GET_FIELD("Start date", _("Start Date"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2525 MSN_GOT_INFO_GET_FIELD("Notes", _("Notes"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2526
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2527 if (sect_info)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2528 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2529 has_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2530 sect_info = FALSE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2531 has_contact_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2532 }
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
2533 else
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2534 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2535 /* Remove the section header */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2536 purple_notify_user_info_remove_last_item(user_info);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2537 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2538
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2539 if (!has_contact_info)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2540 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2541 /* Remove the Contact Info section header */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2542 purple_notify_user_info_remove_last_item(user_info);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2543 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2544
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2545 #if 0 /* these probably don't show up any more */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2546 /*
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2547 * The fields, 'A Little About Me', 'Favorite Things', 'Hobbies
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2548 * and Interests', 'Favorite Quote', and 'My Homepage' may or may
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2549 * not appear, in any combination. However, they do appear in
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2550 * certain order, so we can successively search to pin down the
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2551 * distinct values.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2552 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2553
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2554 /* Check if they have A Little About Me */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2555 found = purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2556 " A Little About Me \n\n", 0, "Favorite Things", '\n', NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2557 _("A Little About Me"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2558
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2559 if (!found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2560 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2561 found = purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2562 " A Little About Me \n\n", 0, "Hobbies and Interests", '\n',
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2563 NULL, _("A Little About Me"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2564 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2565
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2566 if (!found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2567 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2568 found = purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2569 " A Little About Me \n\n", 0, "Favorite Quote", '\n', NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2570 _("A Little About Me"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2571 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2572
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2573 if (!found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2574 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2575 found = purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2576 " A Little About Me \n\n", 0, "My Homepage \n\nTake a look",
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2577 '\n',
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2578 NULL, _("A Little About Me"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2579 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2580
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2581 if (!found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2582 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2583 purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2584 " A Little About Me \n\n", 0, "last updated", '\n', NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2585 _("A Little About Me"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2586 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2587
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2588 if (found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2589 has_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2590
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2591 /* Check if they have Favorite Things */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2592 found = purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2593 " Favorite Things \n\n", 0, "Hobbies and Interests", '\n', NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2594 _("Favorite Things"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2595
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2596 if (!found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2597 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2598 found = purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2599 " Favorite Things \n\n", 0, "Favorite Quote", '\n', NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2600 _("Favorite Things"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2601 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2602
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2603 if (!found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2604 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2605 found = purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2606 " Favorite Things \n\n", 0, "My Homepage \n\nTake a look", '\n',
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2607 NULL, _("Favorite Things"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2608 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2609
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2610 if (!found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2611 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2612 purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2613 " Favorite Things \n\n", 0, "last updated", '\n', NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2614 _("Favorite Things"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2615 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2616
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2617 if (found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2618 has_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2619
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2620 /* Check if they have Hobbies and Interests */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2621 found = purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2622 " Hobbies and Interests \n\n", 0, "Favorite Quote", '\n', NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2623 _("Hobbies and Interests"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2624
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2625 if (!found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2626 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2627 found = purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2628 " Hobbies and Interests \n\n", 0, "My Homepage \n\nTake a look",
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2629 '\n', NULL, _("Hobbies and Interests"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2630 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2631
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2632 if (!found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2633 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2634 purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2635 " Hobbies and Interests \n\n", 0, "last updated", '\n', NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2636 _("Hobbies and Interests"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2637 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2638
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2639 if (found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2640 has_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2641
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2642 /* Check if they have Favorite Quote */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2643 found = purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2644 "Favorite Quote \n\n", 0, "My Homepage \n\nTake a look", '\n', NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2645 _("Favorite Quote"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2646
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2647 if (!found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2648 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2649 purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2650 "Favorite Quote \n\n", 0, "last updated", '\n', NULL,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2651 _("Favorite Quote"), 0, NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2652 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2653
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2654 if (found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2655 has_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2656
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2657 /* Extract the last updated date and put it in */
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2658 found = purple_markup_extract_info_field(stripped, stripped_len, s,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2659 " last updated:", 1, "\n", 0, NULL, _("Last Updated"), 0,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2660 NULL, msn_info_date_reformat);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2661
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2662 if (found)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2663 has_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2664 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2665
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2666 /* If we were able to fetch a homepage url earlier, stick it in there */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2667 if (user_url != NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2668 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2669 tmp = g_strdup_printf("<a href=\"%s\">%s</a>", user_url, user_url);
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2670 purple_notify_user_info_add_pair(user_info, _("Homepage"), tmp);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2671 g_free(tmp);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2672 g_free(user_url);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2673
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2674 has_info = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2675 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2676
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2677 if (!has_info)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2678 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2679 /* MSN doesn't actually distinguish between "unknown member" and
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2680 * a known member with an empty profile. Try to explain this fact.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2681 * Note that if we have a nonempty tooltip_text, we know the user
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2682 * exists.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2683 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2684 /* This doesn't work with the new spaces profiles - Stu 3/2/06
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2685 char *p = strstr(url_buffer, "Unknown Member </TITLE>");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2686 * This might not work for long either ... */
17665
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2687 /* Nope, it failed some time before 5/2/07 :(
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2688 char *p = strstr(url_buffer, "form id=\"SpacesSearch\" name=\"SpacesSearch\"");
17665
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2689 * Let's see how long this one holds out for ... */
02abb6713cf2 Improve parsing user info for MSN, Fixes #690
Stu Tomlinson <stu@nosnilmot.com>
parents: 17247
diff changeset
2690 char *p = strstr(url_buffer, "<form id=\"profile_form\" name=\"profile_form\" action=\"http&#58;&#47;&#47;spaces.live.com&#47;profile.aspx&#63;cid&#61;0\"");
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2691 PurpleBuddy *b = purple_find_buddy
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2692 (purple_connection_get_account(info_data->gc), info_data->name);
24615
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2693 purple_notify_user_info_add_pair(user_info,
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2694 _("Error retrieving profile"), NULL);
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2695 purple_notify_user_info_add_pair(user_info, NULL,
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2696 ((p && b) ? _("The user has not created a public profile.") :
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2697 (p ? _("MSN reported not being able to find the user's profile. "
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2698 "This either means that the user does not exist, "
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2699 "or that the user exists "
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2700 "but has not created a public profile.") :
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2701 _("Could not find " /* This should never happen */
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2702 "any information in the user's profile. "
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2703 "The user most likely does not exist."))));
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2704 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2705
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2706 /* put a link to the actual profile URL */
24615
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2707 purple_notify_user_info_add_section_break(user_info);
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2708 tmp = g_strdup_printf("<a href=\"%s%s\">%s</a>",
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2709 PROFILE_URL, info_data->name, _("View web profile"));
9fc3f5bf4455 Make our profile text a little cleaner and more uniform across the protocols.
Mark Doliner <mark@kingant.net>
parents: 24451
diff changeset
2710 purple_notify_user_info_add_pair(user_info, NULL, tmp);
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
2711 g_free(tmp);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2712
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2713 #if PHOTO_SUPPORT
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2714 /* Find the URL to the photo; must be before the marshalling [Bug 994207] */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2715 photo_url_text = msn_get_photo_url(url_text);
23564
7bceac816e19 The great MSN debug message cleanup! Threw in a few whitespace fixes,
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23550
diff changeset
2716 purple_debug_info("msn", "photo url:{%s}\n", photo_url_text ? photo_url_text : "(null)");
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2717
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2718 /* Marshall the existing state */
20989
2097b1664fa3 Fix some leaks and prevent some unnecessary allocations and frees.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 20957
diff changeset
2719 info2_data = g_new0(MsnGetInfoStepTwoData, 1);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2720 info2_data->info_data = info_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2721 info2_data->stripped = stripped;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2722 info2_data->url_buffer = url_buffer;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2723 info2_data->user_info = user_info;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2724 info2_data->photo_url_text = photo_url_text;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2725
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2726 /* Try to put the photo in there too, if there's one */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2727 if (photo_url_text)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2728 {
30748
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2729 url_data = purple_util_fetch_url_len(photo_url_text, FALSE, NULL, FALSE,
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2730 MAX_HTTP_BUDDYICON_BYTES,
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2731 msn_got_photo, info2_data);
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2732 session->url_datas = g_slist_prepend(session->url_datas, url_data);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2733 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2734 else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2735 {
30748
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2736 /* Finish the Get Info and show the user something */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2737 msn_got_photo(NULL, info2_data, NULL, 0, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2738 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2739 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2740
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2741 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2742 msn_got_photo(PurpleUtilFetchUrlData *url_data, gpointer user_data,
22798
05cb3f04c01e This cleans up a bunch of warnings that stem from the fact that size_t and
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22518
diff changeset
2743 const gchar *url_text, gsize len, const gchar *error_message)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2744 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2745 MsnGetInfoStepTwoData *info2_data = (MsnGetInfoStepTwoData *)user_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2746 int id = -1;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2747
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2748 /* Unmarshall the saved state */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2749 MsnGetInfoData *info_data = info2_data->info_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2750 char *stripped = info2_data->stripped;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2751 char *url_buffer = info2_data->url_buffer;
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2752 PurpleNotifyUserInfo *user_info = info2_data->user_info;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2753 char *photo_url_text = info2_data->photo_url_text;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2754
30748
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2755 if (url_data) {
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2756 MsnSession *session = purple_connection_get_protocol_data(info_data->gc);
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2757 session->url_datas = g_slist_remove(session->url_datas, url_data);
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2758 }
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2759
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2760 if (url_text && error_message)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2761 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2762 purple_debug_warning("msn", "invalid connection. ignoring buddy photo info.\n");
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2763 g_free(stripped);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2764 g_free(url_buffer);
20950
52deb2160496 Fix some (rather large) leakage.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 20856
diff changeset
2765 purple_notify_user_info_destroy(user_info);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2766 g_free(info_data->name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2767 g_free(info_data);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2768 g_free(photo_url_text);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2769 g_free(info2_data);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2770
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2771 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2772 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2773
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2774 /* Try to put the photo in there too, if there's one and is readable */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2775 if (user_data && url_text && len != 0)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2776 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2777 if (strstr(url_text, "400 Bad Request")
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2778 || strstr(url_text, "403 Forbidden")
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2779 || strstr(url_text, "404 Not Found"))
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2780 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2781
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2782 purple_debug_info("msn", "Error getting %s: %s\n",
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2783 photo_url_text, url_text);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2784 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2785 else
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2786 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2787 char buf[1024];
22798
05cb3f04c01e This cleans up a bunch of warnings that stem from the fact that size_t and
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 22518
diff changeset
2788 purple_debug_info("msn", "%s is %" G_GSIZE_FORMAT " bytes\n", photo_url_text, len);
16391
24bbd7e46bfe Change the imgstore and by extension, then the buddy icon code to take over
Richard Laager <rlaager@wiktel.com>
parents: 16390
diff changeset
2789 id = purple_imgstore_add_with_id(g_memdup(url_text, len), len, NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2790 g_snprintf(buf, sizeof(buf), "<img id=\"%d\"><br>", id);
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2791 purple_notify_user_info_prepend_pair(user_info, NULL, buf);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2792 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2793 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2794
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2795 /* We continue here from msn_got_info, as if nothing has happened */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2796 #endif
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2797 purple_notify_userinfo(info_data->gc, info_data->name, user_info, NULL, NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2798
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2799 g_free(stripped);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2800 g_free(url_buffer);
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2801 purple_notify_user_info_destroy(user_info);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2802 g_free(info_data->name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2803 g_free(info_data);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2804 #if PHOTO_SUPPORT
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2805 g_free(photo_url_text);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2806 g_free(info2_data);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2807 if (id != -1)
16375
391a79778f89 Rework the buddy icon subsystem to use the imgstore subsystem, and modify the
Richard Laager <rlaager@wiktel.com>
parents: 15823
diff changeset
2808 purple_imgstore_unref_by_id(id);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2809 #endif
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2810 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2811
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2812 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2813 msn_get_info(PurpleConnection *gc, const char *name)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2814 {
30748
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2815 MsnSession *session = purple_connection_get_protocol_data(gc);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2816 MsnGetInfoData *data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2817 char *url;
30748
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2818 PurpleUtilFetchUrlData *url_data;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2819
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2820 data = g_new0(MsnGetInfoData, 1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2821 data->gc = gc;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2822 data->name = g_strdup(name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2823
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2824 url = g_strdup_printf("%s%s", PROFILE_URL, name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2825
30748
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2826 url_data = purple_util_fetch_url(url, FALSE,
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2827 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)",
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2828 TRUE, msn_got_info, data);
ea96292336f0 Save and cancel-on-exit any URL requests, instead of checking the
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30425
diff changeset
2829 session->url_datas = g_slist_prepend(session->url_datas, url_data);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2830
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2831 g_free(url);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2832 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2833
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2834 static gboolean msn_load(PurplePlugin *plugin)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2835 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2836 msn_notification_init();
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2837 msn_switchboard_init();
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2838
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2839 return TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2840 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2841
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2842 static gboolean msn_unload(PurplePlugin *plugin)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2843 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2844 msn_notification_end();
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2845 msn_switchboard_end();
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2846
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2847 return TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2848 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2849
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2850 static PurpleAccount *find_acct(const char *prpl, const char *acct_id)
15624
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2851 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2852 PurpleAccount *acct = NULL;
15624
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2853
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2854 /* If we have a specific acct, use it */
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2855 if (acct_id) {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2856 acct = purple_accounts_find(acct_id, prpl);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2857 if (acct && !purple_account_is_connected(acct))
15624
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2858 acct = NULL;
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2859 } else { /* Otherwise find an active account for the protocol */
18063
926ccb104da0 disapproval of revision '1411afd7660760db59966c3a9f18e2adab8eb27e'
Richard Laager <rlaager@wiktel.com>
parents: 18058
diff changeset
2860 GList *l = purple_accounts_get_all();
15624
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2861 while (l) {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2862 if (!strcmp(prpl, purple_account_get_protocol_id(l->data))
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2863 && purple_account_is_connected(l->data)) {
15624
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2864 acct = l->data;
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2865 break;
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2866 }
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2867 l = l->next;
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2868 }
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2869 }
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2870
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2871 return acct;
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2872 }
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2873
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2874 static gboolean msn_uri_handler(const char *proto, const char *cmd, GHashTable *params)
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2875 {
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2876 char *acct_id = g_hash_table_lookup(params, "account");
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2877 PurpleAccount *acct;
15624
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2878
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2879 if (g_ascii_strcasecmp(proto, "msnim"))
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2880 return FALSE;
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2881
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2882 acct = find_acct("prpl-msn", acct_id);
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2883
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2884 if (!acct)
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2885 return FALSE;
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2886
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2887 /* msnim:chat?contact=user@domain.tld */
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2888 if (!g_ascii_strcasecmp(cmd, "Chat")) {
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2889 char *sname = g_hash_table_lookup(params, "contact");
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2890 if (sname) {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2891 PurpleConversation *conv = purple_find_conversation_with_account(
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2892 PURPLE_CONV_TYPE_IM, sname, acct);
15624
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2893 if (conv == NULL)
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2894 conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, acct, sname);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2895 purple_conversation_present(conv);
15624
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2896 }
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2897 /*else
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2898 **If pidgindialogs_im() was in the core, we could use it here.
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2899 * It is all purple_request_* based, but I'm not sure it really belongs in the core
15624
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2900 pidgindialogs_im();*/
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2901
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2902 return TRUE;
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2903 }
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2904 /* msnim:add?contact=user@domain.tld */
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2905 else if (!g_ascii_strcasecmp(cmd, "Add")) {
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2906 char *name = g_hash_table_lookup(params, "contact");
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2907 purple_blist_request_add_buddy(acct, name, NULL, NULL);
15624
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2908 return TRUE;
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2909 }
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2910
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2911 return FALSE;
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2912 }
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2913
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
2914
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2915 static PurplePluginProtocolInfo prpl_info =
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2916 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2917 OPT_PROTO_MAIL_CHECK,
30310
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2918 NULL, /* user_splits */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2919 NULL, /* protocol_options */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2920 {"png,gif", 0, 0, 96, 96, 0, PURPLE_ICON_SCALE_SEND}, /* icon_spec */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2921 msn_list_icon, /* list_icon */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2922 msn_list_emblems, /* list_emblems */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2923 msn_status_text, /* status_text */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2924 msn_tooltip_text, /* tooltip_text */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2925 msn_status_types, /* away_states */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2926 msn_blist_node_menu, /* blist_node_menu */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2927 NULL, /* chat_info */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2928 NULL, /* chat_info_defaults */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2929 msn_login, /* login */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2930 msn_close, /* close */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2931 msn_send_im, /* send_im */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2932 NULL, /* set_info */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2933 msn_send_typing, /* send_typing */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2934 msn_get_info, /* get_info */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2935 msn_set_status, /* set_away */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2936 msn_set_idle, /* set_idle */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2937 NULL, /* change_passwd */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2938 msn_add_buddy, /* add_buddy */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2939 NULL, /* add_buddies */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2940 msn_rem_buddy, /* remove_buddy */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2941 NULL, /* remove_buddies */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2942 msn_add_permit, /* add_permit */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2943 msn_add_deny, /* add_deny */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2944 msn_rem_permit, /* rem_permit */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2945 msn_rem_deny, /* rem_deny */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2946 msn_set_permit_deny, /* set_permit_deny */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2947 NULL, /* join_chat */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2948 NULL, /* reject chat invite */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2949 NULL, /* get_chat_name */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2950 msn_chat_invite, /* chat_invite */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2951 msn_chat_leave, /* chat_leave */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2952 NULL, /* chat_whisper */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2953 msn_chat_send, /* chat_send */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2954 msn_keepalive, /* keepalive */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2955 NULL, /* register_user */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2956 NULL, /* get_cb_info */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2957 NULL, /* get_cb_away */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2958 msn_alias_buddy, /* alias_buddy */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2959 msn_group_buddy, /* group_buddy */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2960 msn_rename_group, /* rename_group */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2961 NULL, /* buddy_free */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2962 msn_convo_closed, /* convo_closed */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2963 msn_normalize, /* normalize */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2964 msn_set_buddy_icon, /* set_buddy_icon */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2965 msn_remove_group, /* remove_group */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2966 NULL, /* get_cb_real_name */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2967 NULL, /* set_chat_topic */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2968 NULL, /* find_blist_chat */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2969 NULL, /* roomlist_get_list */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2970 NULL, /* roomlist_cancel */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2971 NULL, /* roomlist_expand_category */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2972 msn_can_receive_file, /* can_receive_file */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2973 msn_send_file, /* send_file */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2974 msn_new_xfer, /* new_xfer */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2975 msn_offline_message, /* offline_message */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2976 NULL, /* whiteboard_prpl_ops */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2977 NULL, /* send_raw */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2978 NULL, /* roomlist_room_serialize */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2979 NULL, /* unregister_user */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2980 msn_send_attention, /* send_attention */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2981 msn_attention_types, /* attention_types */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2982 sizeof(PurplePluginProtocolInfo), /* struct_size */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2983 msn_get_account_text_table, /* get_account_text_table */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2984 NULL, /* initiate_media */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2985 NULL, /* get_media_caps */
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30262
diff changeset
2986 NULL, /* get_moods */
30312
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
2987 msn_set_public_alias, /* set_public_alias */
ec89b1d8571a Implement [gs]et_public_alias in MSN.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30310
diff changeset
2988 msn_get_public_alias /* get_public_alias */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2989 };
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2990
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2991 static PurplePluginInfo info =
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2992 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2993 PURPLE_PLUGIN_MAGIC,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2994 PURPLE_MAJOR_VERSION,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
2995 PURPLE_MINOR_VERSION,
24373
ad685dadbaca Our in-tree prpls probably shouldn't list authors who don't work on
Mark Doliner <mark@kingant.net>
parents: 24371
diff changeset
2996 PURPLE_PLUGIN_PROTOCOL, /**< type */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2997 NULL, /**< ui_requirement */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2998 0, /**< flags */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2999 NULL, /**< dependencies */
24373
ad685dadbaca Our in-tree prpls probably shouldn't list authors who don't work on
Mark Doliner <mark@kingant.net>
parents: 24371
diff changeset
3000 PURPLE_PRIORITY_DEFAULT, /**< priority */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3001
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3002 "prpl-msn", /**< id */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3003 "MSN", /**< name */
21030
3cc856ca2338 Add a --with-extraversion option to ./configure so packagers can fine tune
Stu Tomlinson <stu@nosnilmot.com>
parents: 21026
diff changeset
3004 DISPLAY_VERSION, /**< version */
24374
75545fdf8944 String changes. I'm kind of blindly making changes to the qq strings
Mark Doliner <mark@kingant.net>
parents: 24373
diff changeset
3005 N_("Windows Live Messenger Protocol Plugin"), /**< summary */
75545fdf8944 String changes. I'm kind of blindly making changes to the qq strings
Mark Doliner <mark@kingant.net>
parents: 24373
diff changeset
3006 N_("Windows Live Messenger Protocol Plugin"), /**< description */
24373
ad685dadbaca Our in-tree prpls probably shouldn't list authors who don't work on
Mark Doliner <mark@kingant.net>
parents: 24371
diff changeset
3007 NULL, /**< author */
ad685dadbaca Our in-tree prpls probably shouldn't list authors who don't work on
Mark Doliner <mark@kingant.net>
parents: 24371
diff changeset
3008 PURPLE_WEBSITE, /**< homepage */
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3009
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3010 msn_load, /**< load */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3011 msn_unload, /**< unload */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3012 NULL, /**< destroy */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3013
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3014 NULL, /**< ui_info */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3015 &prpl_info, /**< extra_info */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3016 NULL, /**< prefs_info */
16675
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16483
diff changeset
3017 msn_actions,
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16483
diff changeset
3018
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16483
diff changeset
3019 /* padding */
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16483
diff changeset
3020 NULL,
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16483
diff changeset
3021 NULL,
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16483
diff changeset
3022 NULL,
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16483
diff changeset
3023 NULL
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3024 };
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3025
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3026 static void
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
3027 init_plugin(PurplePlugin *plugin)
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3028 {
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
3029 PurpleAccountOption *option;
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3030
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
3031 option = purple_account_option_string_new(_("Server"), "server",
23550
efa4534fd23a Clean up some #define's in msn.h and various supporting changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23533
diff changeset
3032 MSN_SERVER);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3033 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3034 option);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3035
23550
efa4534fd23a Clean up some #define's in msn.h and various supporting changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 23533
diff changeset
3036 option = purple_account_option_int_new(_("Port"), "port", MSN_PORT);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3037 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3038 option);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3039
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
3040 option = purple_account_option_bool_new(_("Use HTTP Method"),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3041 "http_method", FALSE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3042 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3043 option);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3044
20044
4fdf9c1212e2 Mark new MSN string translatable now that we're no longer string frozen.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19993
diff changeset
3045 option = purple_account_option_string_new(_("HTTP Method Server"),
19993
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
3046 "http_method_server", MSN_HTTPCONN_SERVER);
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
3047 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
3048 option);
e73e510d56ec A fix from Laszlo Pandy to make the MSN HTTP Method work again. Fixes #2638 and should make a number of people happy. This introduces a new string that isn't marked as translatable for 2.2.0 because it is so late in the game.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 19718
diff changeset
3049
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
3050 option = purple_account_option_bool_new(_("Show custom smileys"),
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3051 "custom_smileys", TRUE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3052 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3053 option);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3054
30425
d6f9f4320bf1 Add a pref for allowing direct connections.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30312
diff changeset
3055 option = purple_account_option_bool_new(_("Allow direct connections"),
d6f9f4320bf1 Add a pref for allowing direct connections.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30312
diff changeset
3056 "direct_connect", TRUE);
d6f9f4320bf1 Add a pref for allowing direct connections.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30312
diff changeset
3057 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
d6f9f4320bf1 Add a pref for allowing direct connections.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30312
diff changeset
3058 option);
d6f9f4320bf1 Add a pref for allowing direct connections.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 30312
diff changeset
3059
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
3060 purple_cmd_register("nudge", "", PURPLE_CMD_P_PRPL,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
3061 PURPLE_CMD_FLAG_IM | PURPLE_CMD_FLAG_PRPL_ONLY,
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3062 "prpl-msn", msn_cmd_nudge,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3063 _("nudge: nudge a user to get their attention"), NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3064
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
3065 purple_prefs_remove("/plugins/prpl/msn");
15624
71af5b6209d5 uri-handler support for AIM/ICQ, Yahoo and MSN
Daniel Atallah <daniel.atallah@gmail.com>
parents: 15591
diff changeset
3066
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
3067 purple_signal_connect(purple_get_core(), "uri-handler", plugin,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
3068 PURPLE_CALLBACK(msn_uri_handler), NULL);
15374
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3069 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3070
15823
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15624
diff changeset
3071 PURPLE_INIT_PLUGIN(msn, init_plugin, info);