annotate libpurple/protocols/gg/gg.c @ 32529:28b741b2fc1d

Call aim_ssi_cleanlist from within the feedbag code. Just want to make this function call more required, because I want the liboscar buddy list code to be able to assume that the list is "clean"
author Mark Doliner <mark@kingant.net>
date Sun, 19 Feb 2012 01:27:00 +0000
parents f07501af8bae
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15373
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 gg.c Gadu-Gadu protocol plugin
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3 *
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
4 * purple
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
5 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
6 * Copyright (C) 2005 Bartosz Oler <bartosz@bzimage.us>
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
7 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
8 * Some parts of the code are adapted or taken from the previous implementation
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
9 * of this plugin written by Arkadiusz Miskiewicz <misiek@pld.org.pl>
27164
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
10 * Some parts Copyright (C) 2009 Krzysztof Klinikowski <grommasher@gmail.com>
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
11 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
12 * Thanks to Google's Summer of Code Program.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
13 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
14 * 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
15 * 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
16 * 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
17 * (at your option) any later version.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
18 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
19 * 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
20 * 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
21 * 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
22 * GNU General Public License for more details.
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 * 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
25 * along with this program; if not, write to the Free Software
19681
44b4e8bd759b The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 18445
diff changeset
26 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
27 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
28
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
29 #include "internal.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
30
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
31 #include "plugin.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
32 #include "version.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
33 #include "notify.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
34 #include "status.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
35 #include "blist.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
36 #include "accountopt.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
37 #include "debug.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
38 #include "util.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
39 #include "request.h"
27164
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
40 #include "xmlnode.h"
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
41
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
42 #include "gg.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
43 #include "confer.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
44 #include "search.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
45 #include "buddylist.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
46 #include "gg-utils.h"
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
47
32301
326591e64aaa Gadu-Gadu: move our win32 resolver out of libgadu sources. Refs #343
tomkiewicz@cpw.pidgin.im
parents: 32280
diff changeset
48 #ifdef _WIN32
326591e64aaa Gadu-Gadu: move our win32 resolver out of libgadu sources. Refs #343
tomkiewicz@cpw.pidgin.im
parents: 32280
diff changeset
49 # include "win32-resolver.h"
326591e64aaa Gadu-Gadu: move our win32 resolver out of libgadu sources. Refs #343
tomkiewicz@cpw.pidgin.im
parents: 32280
diff changeset
50 #endif
326591e64aaa Gadu-Gadu: move our win32 resolver out of libgadu sources. Refs #343
tomkiewicz@cpw.pidgin.im
parents: 32280
diff changeset
51
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
52 static PurplePlugin *my_protocol = NULL;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
53
31350
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
54 /* Prototypes */
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
55 static void ggp_set_status(PurpleAccount *account, PurpleStatus *status);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
56 static int ggp_to_gg_status(PurpleStatus *status, char **msg);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
57
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
58 /* ---------------------------------------------------------------------- */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
59 /* ----- EXTERNAL CALLBACKS --------------------------------------------- */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
60 /* ---------------------------------------------------------------------- */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
61
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 /* ----- HELPERS -------------------------------------------------------- */
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 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
66 * Set up libgadu's proxy.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
67 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
68 * @param account Account for which to set up the proxy.
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 * @return Zero if proxy setup is valid, otherwise -1.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
71 */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
72 static int ggp_setup_proxy(PurpleAccount *account)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
73 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
74 PurpleProxyInfo *gpi;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
75
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
76 gpi = purple_proxy_get_setup(account);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
77
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
78 if ((purple_proxy_info_get_type(gpi) != PURPLE_PROXY_NONE) &&
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
79 (purple_proxy_info_get_host(gpi) == NULL ||
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
80 purple_proxy_info_get_port(gpi) <= 0)) {
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
81
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
82 gg_proxy_enabled = 0;
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
83 purple_notify_error(NULL, NULL, _("Invalid proxy settings"),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
84 _("Either the host name or port number specified for your given proxy type is invalid."));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
85 return -1;
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
86 } else if (purple_proxy_info_get_type(gpi) != PURPLE_PROXY_NONE) {
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
87 gg_proxy_enabled = 1;
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
88 gg_proxy_host = g_strdup(purple_proxy_info_get_host(gpi));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
89 gg_proxy_port = purple_proxy_info_get_port(gpi);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
90 gg_proxy_username = g_strdup(purple_proxy_info_get_username(gpi));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
91 gg_proxy_password = g_strdup(purple_proxy_info_get_password(gpi));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
92 } else {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
93 gg_proxy_enabled = 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
94 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
95
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
96 return 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
97 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
98
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
99 static void ggp_async_token_handler(gpointer _gc, gint fd, PurpleInputCondition cond)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
100 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
101 PurpleConnection *gc = _gc;
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
102 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
103 GGPToken *token = info->token;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
104 GGPTokenCallback cb;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
105
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
106 struct gg_token *t = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
107
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
108 purple_debug_info("gg", "token_handler: token->req: check = %d; state = %d;\n",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
109 token->req->check, token->req->state);
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 if (gg_token_watch_fd(token->req) == -1 || token->req->state == GG_STATE_ERROR) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
112 purple_debug_error("gg", "token error (1): %d\n", token->req->error);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
113 purple_input_remove(token->inpa);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
114 gg_token_free(token->req);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
115 token->req = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
116
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
117 purple_notify_error(purple_connection_get_account(gc),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
118 _("Token Error"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
119 _("Unable to fetch the token.\n"), NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
120 return;
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
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
123 if (token->req->state != GG_STATE_DONE) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
124 purple_input_remove(token->inpa);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
125 token->inpa = purple_input_add(token->req->fd,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
126 (token->req->check == 1)
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
127 ? PURPLE_INPUT_WRITE
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
128 : PURPLE_INPUT_READ,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
129 ggp_async_token_handler, gc);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
130 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
131 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
132
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
133 if (!(t = token->req->data) || !token->req->body) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
134 purple_debug_error("gg", "token error (2): %d\n", token->req->error);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
135 purple_input_remove(token->inpa);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
136 gg_token_free(token->req);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
137 token->req = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
138
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
139 purple_notify_error(purple_connection_get_account(gc),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
140 _("Token Error"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
141 _("Unable to fetch the token.\n"), NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
142 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
143 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
144
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
145 purple_input_remove(token->inpa);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
146
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
147 token->id = g_strdup(t->tokenid);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
148 token->size = token->req->body_size;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
149 token->data = g_new0(char, token->size);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
150 memcpy(token->data, token->req->body, token->size);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
151
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
152 purple_debug_info("gg", "TOKEN! tokenid = %s; size = %d\n",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
153 token->id, token->size);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
154
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
155 gg_token_free(token->req);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
156 token->req = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
157 token->inpa = 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
158
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
159 cb = token->cb;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
160 token->cb = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
161 cb(gc);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
162 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
163
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
164 static void ggp_token_request(PurpleConnection *gc, GGPTokenCallback cb)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
165 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
166 PurpleAccount *account;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
167 struct gg_http *req;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
168 GGPInfo *info;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
169
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
170 account = purple_connection_get_account(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
171
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
172 if (ggp_setup_proxy(account) == -1)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
173 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
174
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
175 info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
176
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
177 if ((req = gg_token(1)) == NULL) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
178 purple_notify_error(account,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
179 _("Token Error"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
180 _("Unable to fetch the token.\n"), NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
181 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
182 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
183
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
184 info->token = g_new(GGPToken, 1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
185 info->token->cb = cb;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
186
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
187 info->token->req = req;
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
188 info->token->inpa = purple_input_add(req->fd, PURPLE_INPUT_READ,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
189 ggp_async_token_handler, gc);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
190 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
191 /* }}} */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
192
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
193 /* ---------------------------------------------------------------------- */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
194
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
195 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
196 * Request buddylist from the server.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
197 * Buddylist is received in the ggp_callback_recv().
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
198 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
199 * @param Current action handler.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
200 */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
201 static void ggp_action_buddylist_get(PurplePluginAction *action)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
202 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
203 PurpleConnection *gc = (PurpleConnection *)action->context;
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
204 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
205
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
206 purple_debug_info("gg", "Downloading...\n");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
207
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
208 gg_userlist_request(info->session, GG_USERLIST_GET, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
209 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
210
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
211 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
212 * Upload the buddylist to the server.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
213 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
214 * @param action Current action handler.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
215 */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
216 static void ggp_action_buddylist_put(PurplePluginAction *action)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
217 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
218 PurpleConnection *gc = (PurpleConnection *)action->context;
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
219 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
220
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
221 char *buddylist = ggp_buddylist_dump(purple_connection_get_account(gc));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
222
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
223 purple_debug_info("gg", "Uploading...\n");
31086
a8cc50c2279f Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents: 29868
diff changeset
224
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
225 if (buddylist == NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
226 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
227
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
228 gg_userlist_request(info->session, GG_USERLIST_PUT, buddylist);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
229 g_free(buddylist);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
230 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
231
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
232 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
233 * Delete buddylist from the server.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
234 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
235 * @param action Current action handler.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
236 */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
237 static void ggp_action_buddylist_delete(PurplePluginAction *action)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
238 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
239 PurpleConnection *gc = (PurpleConnection *)action->context;
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
240 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
241
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
242 purple_debug_info("gg", "Deleting...\n");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
243
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
244 gg_userlist_request(info->session, GG_USERLIST_PUT, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
245 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
246
21321
12d6b551fb6a Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <will.thompson@collabora.co.uk>
parents: 21316
diff changeset
247 static void ggp_callback_buddylist_save_ok(PurpleConnection *gc, const char *filename)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
248 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
249 PurpleAccount *account = purple_connection_get_account(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
250
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
251 char *buddylist = ggp_buddylist_dump(account);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
252
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
253 purple_debug_info("gg", "Saving...\n");
21321
12d6b551fb6a Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <will.thompson@collabora.co.uk>
parents: 21316
diff changeset
254 purple_debug_info("gg", "file = %s\n", filename);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
255
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
256 if (buddylist == NULL) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
257 purple_notify_info(account, _("Save Buddylist..."),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
258 _("Your buddylist is empty, nothing was written to the file."),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
259 NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
260 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
261 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
262
21321
12d6b551fb6a Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <will.thompson@collabora.co.uk>
parents: 21316
diff changeset
263 if(purple_util_write_data_to_file_absolute(filename, buddylist, -1)) {
12d6b551fb6a Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <will.thompson@collabora.co.uk>
parents: 21316
diff changeset
264 purple_notify_info(account, _("Save Buddylist..."),
12d6b551fb6a Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <will.thompson@collabora.co.uk>
parents: 21316
diff changeset
265 _("Buddylist saved successfully!"), NULL);
12d6b551fb6a Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <will.thompson@collabora.co.uk>
parents: 21316
diff changeset
266 } else {
12d6b551fb6a Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <will.thompson@collabora.co.uk>
parents: 21316
diff changeset
267 gchar *primary = g_strdup_printf(
12d6b551fb6a Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <will.thompson@collabora.co.uk>
parents: 21316
diff changeset
268 _("Couldn't write buddy list for %s to %s"),
12d6b551fb6a Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <will.thompson@collabora.co.uk>
parents: 21316
diff changeset
269 purple_account_get_username(account), filename);
21322
93e9e022a470 May as well use an existing string as the title for the error notification.
Will Thompson <will.thompson@collabora.co.uk>
parents: 21321
diff changeset
270 purple_notify_error(account, _("Save Buddylist..."),
21321
12d6b551fb6a Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <will.thompson@collabora.co.uk>
parents: 21316
diff changeset
271 primary, NULL);
12d6b551fb6a Actually properly fix this gg "write my buddy list to a file" callback by just
Will Thompson <will.thompson@collabora.co.uk>
parents: 21316
diff changeset
272 g_free(primary);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
273 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
274
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
275 g_free(buddylist);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
276 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
277
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
278 static void ggp_callback_buddylist_load_ok(PurpleConnection *gc, gchar *file)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
279 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
280 PurpleAccount *account = purple_connection_get_account(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
281 GError *error = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
282 char *buddylist = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
283 gsize length;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
284
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
285 purple_debug_info("gg", "file_name = %s\n", file);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
286
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
287 if (!g_file_get_contents(file, &buddylist, &length, &error)) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
288 purple_notify_error(account,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
289 _("Couldn't load buddylist"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
290 _("Couldn't load buddylist"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
291 error->message);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
292
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
293 purple_debug_error("gg",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
294 "Couldn't load buddylist. file = %s; error = %s\n",
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
295 file, error->message);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
296
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
297 g_error_free(error);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
298
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
299 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
300 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
301
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
302 ggp_buddylist_load(gc, buddylist);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
303 g_free(buddylist);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
304
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
305 purple_notify_info(account,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
306 _("Load Buddylist..."),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
307 _("Buddylist loaded successfully!"), NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
308 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
309 /* }}} */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
310
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
311 /*
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
312 */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
313 /* static void ggp_action_buddylist_save(PurplePluginAction *action) {{{ */
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
314 static void ggp_action_buddylist_save(PurplePluginAction *action)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
315 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
316 PurpleConnection *gc = (PurpleConnection *)action->context;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
317
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
318 purple_request_file(action, _("Save buddylist..."), NULL, TRUE,
16439
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: 15822
diff changeset
319 G_CALLBACK(ggp_callback_buddylist_save_ok), 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: 15822
diff changeset
320 purple_connection_get_account(gc), NULL, NULL,
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
321 gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
322 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
323
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
324 static void ggp_action_buddylist_load(PurplePluginAction *action)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
325 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
326 PurpleConnection *gc = (PurpleConnection *)action->context;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
327
23238
7981a140d81a Mark a string as translatable in prpl-gg. References #5693.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23180
diff changeset
328 purple_request_file(action, _("Load buddylist from file..."), NULL,
7981a140d81a Mark a string as translatable in prpl-gg. References #5693.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23180
diff changeset
329 FALSE,
16439
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: 15822
diff changeset
330 G_CALLBACK(ggp_callback_buddylist_load_ok), 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: 15822
diff changeset
331 purple_connection_get_account(gc), NULL, NULL,
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
332 gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
333 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
334
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
335 static void ggp_callback_register_account_ok(PurpleConnection *gc,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
336 PurpleRequestFields *fields)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
337 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
338 PurpleAccount *account;
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
339 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
340 struct gg_http *h = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
341 struct gg_pubdir *s;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
342 uin_t uin;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
343 gchar *email, *p1, *p2, *t;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
344 GGPToken *token = info->token;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
345
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
346 email = charset_convert(purple_request_fields_get_string(fields, "email"),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
347 "UTF-8", "CP1250");
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
348 p1 = charset_convert(purple_request_fields_get_string(fields, "password1"),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
349 "UTF-8", "CP1250");
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
350 p2 = charset_convert(purple_request_fields_get_string(fields, "password2"),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
351 "UTF-8", "CP1250");
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
352 t = charset_convert(purple_request_fields_get_string(fields, "token"),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
353 "UTF-8", "CP1250");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
354
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
355 account = purple_connection_get_account(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
356
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
357 if (email == NULL || p1 == NULL || p2 == NULL || t == NULL ||
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
358 *email == '\0' || *p1 == '\0' || *p2 == '\0' || *t == '\0') {
31872
a5b556ac1de5 Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <mark@kingant.net>
parents: 31862
diff changeset
359 purple_connection_error (gc,
21358
ba41f2a60253 Rename:
Will Thompson <will.thompson@collabora.co.uk>
parents: 20109
diff changeset
360 PURPLE_CONNECTION_ERROR_OTHER_ERROR,
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
361 _("You must fill in all registration fields"));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
362 goto exit_err;
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
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
365 if (g_utf8_collate(p1, p2) != 0) {
31872
a5b556ac1de5 Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <mark@kingant.net>
parents: 31862
diff changeset
366 purple_connection_error (gc,
21358
ba41f2a60253 Rename:
Will Thompson <will.thompson@collabora.co.uk>
parents: 20109
diff changeset
367 PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED,
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
368 _("Passwords do not match"));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
369 goto exit_err;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
370 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
371
22486
3225c99785b8 Fix a bunch of compiler warnings caused by my addition of G_GNUC_PRINTF()
Mark Doliner <mark@kingant.net>
parents: 22410
diff changeset
372 purple_debug_info("gg", "register_account_ok: token_id = %s; t = %s\n",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
373 token->id, t);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
374 h = gg_register3(email, p1, token->id, t, 0);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
375 if (h == NULL || !(s = h->data) || !s->success) {
31872
a5b556ac1de5 Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <mark@kingant.net>
parents: 31862
diff changeset
376 purple_connection_error (gc,
21358
ba41f2a60253 Rename:
Will Thompson <will.thompson@collabora.co.uk>
parents: 20109
diff changeset
377 PURPLE_CONNECTION_ERROR_OTHER_ERROR,
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
378 _("Unable to register new account. An unknown error occurred."));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
379 goto exit_err;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
380 }
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 uin = s->uin;
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
383 purple_debug_info("gg", "registered uin: %d\n", uin);
15373
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 g_free(t);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
386 t = g_strdup_printf("%u", uin);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
387 purple_account_set_username(account, t);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
388 /* Save the password if remembering passwords for the account */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
389 purple_account_set_password(account, p1);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
390
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
391 purple_notify_info(NULL, _("New Gadu-Gadu Account Registered"),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
392 _("Registration completed successfully!"), NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
393
32353
cb486df263ef Introduce purple_account_register_completed() to handle the invoking of any
andrew.victor@mxit.com
parents: 32312
diff changeset
394 purple_account_register_completed(account, TRUE);
cb486df263ef Introduce purple_account_register_completed() to handle the invoking of any
andrew.victor@mxit.com
parents: 32312
diff changeset
395
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
396 /* TODO: the currently open Accounts Window will not be updated withthe
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
397 * new username and etc, we need to somehow have it refresh at this
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
398 * point
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
399 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
400
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
401 /* Need to disconnect or actually log in. For now, we disconnect. */
24350
8282911d5e17 Build everything with the *_DISABLE_DEPRECATED flags set. This allows us
Richard Laager <rlaager@wiktel.com>
parents: 23896
diff changeset
402 purple_account_disconnect(account);
15373
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 exit_err:
32353
cb486df263ef Introduce purple_account_register_completed() to handle the invoking of any
andrew.victor@mxit.com
parents: 32312
diff changeset
405 purple_account_register_completed(account, FALSE);
18923
708a8b97ba87 Gadu-Gadu now calls the registration_cb for the account if it is set after performing a registration
Evan Schoenberg <evan.s@dreskin.net>
parents: 18445
diff changeset
406
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
407 gg_register_free(h);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
408 g_free(email);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
409 g_free(p1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
410 g_free(p2);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
411 g_free(t);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
412 g_free(token->id);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
413 g_free(token);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
414 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
415
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
416 static void ggp_callback_register_account_cancel(PurpleConnection *gc,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
417 PurpleRequestFields *fields)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
418 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
419 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
420 GGPToken *token = info->token;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
421
32305
2ec94166be43 On the way to hiding the PurpleConnection struct.
andrew.victor@mxit.com
parents: 32302
diff changeset
422 purple_account_disconnect(purple_connection_get_account(gc));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
423
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
424 g_free(token->id);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
425 g_free(token->data);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
426 g_free(token);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
427
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
428 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
429
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
430 static void ggp_register_user_dialog(PurpleConnection *gc)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
431 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
432 PurpleAccount *account;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
433 PurpleRequestFields *fields;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
434 PurpleRequestFieldGroup *group;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
435 PurpleRequestField *field;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
436
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
437 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
438 GGPToken *token = info->token;
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
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
441 account = purple_connection_get_account(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
442
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
443 fields = purple_request_fields_new();
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
444 group = purple_request_field_group_new(NULL);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
445 purple_request_fields_add_group(fields, group);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
446
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
447 field = purple_request_field_string_new("email",
23180
e0bcb8cfda74 Use "email" and "Email" consistently. This is potentially controversial,
Richard Laager <rlaager@wiktel.com>
parents: 23152
diff changeset
448 _("Email"), "", FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
449 purple_request_field_string_set_masked(field, FALSE);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
450 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
451
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
452 field = purple_request_field_string_new("password1",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
453 _("Password"), "", FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
454 purple_request_field_string_set_masked(field, TRUE);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
455 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
456
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
457 field = purple_request_field_string_new("password2",
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
458 _("Password (again)"), "", FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
459 purple_request_field_string_set_masked(field, TRUE);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
460 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
461
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
462 field = purple_request_field_string_new("token",
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
463 _("Enter captcha text"), "", FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
464 purple_request_field_string_set_masked(field, FALSE);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
465 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
466
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
467 /* original size: 60x24 */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
468 field = purple_request_field_image_new("token_img",
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
469 _("Captcha"), token->data, token->size);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
470 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
471
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
472 purple_request_fields(account,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
473 _("Register New Gadu-Gadu Account"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
474 _("Register New Gadu-Gadu Account"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
475 _("Please, fill in the following fields"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
476 fields,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
477 _("OK"), G_CALLBACK(ggp_callback_register_account_ok),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
478 _("Cancel"), G_CALLBACK(ggp_callback_register_account_cancel),
16439
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: 15822
diff changeset
479 purple_connection_get_account(gc), NULL, NULL,
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
480 gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
481 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
482
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
483 /* ----- PUBLIC DIRECTORY SEARCH ---------------------------------------- */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
484
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
485 static void ggp_callback_show_next(PurpleConnection *gc, GList *row, gpointer user_data)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
486 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
487 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
488 GGPSearchForm *form = user_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
489 guint32 seq;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
490
31670
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
491 form->page_number++;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
492
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
493 ggp_search_remove(info->searches, form->seq);
31670
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
494 purple_debug_info("gg", "ggp_callback_show_next(): Removed seq %u\n",
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
495 form->seq);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
496
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
497 seq = ggp_search_start(gc, form);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
498 ggp_search_add(info->searches, seq, form);
31670
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
499 purple_debug_info("gg", "ggp_callback_show_next(): Added seq %u\n",
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
500 seq);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
501 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
502
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
503 static void ggp_callback_add_buddy(PurpleConnection *gc, GList *row, gpointer user_data)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
504 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
505 purple_blist_request_add_buddy(purple_connection_get_account(gc),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
506 g_list_nth_data(row, 0), NULL, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
507 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
508
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
509 static void ggp_callback_im(PurpleConnection *gc, GList *row, gpointer user_data)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
510 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
511 PurpleAccount *account;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
512 PurpleConversation *conv;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
513 char *name;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
514
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
515 account = purple_connection_get_account(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
516
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
517 name = g_list_nth_data(row, 0);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
518 conv = purple_conversation_new(PURPLE_CONV_TYPE_IM, account, name);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
519 purple_conversation_present(conv);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
520 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
521
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
522 static void ggp_callback_find_buddies(PurpleConnection *gc, PurpleRequestFields *fields)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
523 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
524 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
525 GGPSearchForm *form;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
526 guint32 seq;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
527
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
528 form = ggp_search_form_new(GGP_SEARCH_TYPE_FULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
529
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
530 form->user_data = info;
31670
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
531 form->lastname = g_strdup(
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
532 purple_request_fields_get_string(fields, "lastname"));
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
533 form->firstname = g_strdup(
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
534 purple_request_fields_get_string(fields, "firstname"));
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
535 form->nickname = g_strdup(
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
536 purple_request_fields_get_string(fields, "nickname"));
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
537 form->city = g_strdup(
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
538 purple_request_fields_get_string(fields, "city"));
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
539 form->birthyear = g_strdup(
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
540 purple_request_fields_get_string(fields, "year"));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
541
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
542 switch (purple_request_fields_get_choice(fields, "gender")) {
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
543 case 1:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
544 form->gender = g_strdup(GG_PUBDIR50_GENDER_MALE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
545 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
546 case 2:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
547 form->gender = g_strdup(GG_PUBDIR50_GENDER_FEMALE);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
548 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
549 default:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
550 form->gender = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
551 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
552 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
553
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
554 form->active = purple_request_fields_get_bool(fields, "active")
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
555 ? g_strdup(GG_PUBDIR50_ACTIVE_TRUE) : NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
556
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
557 seq = ggp_search_start(gc, form);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
558 ggp_search_add(info->searches, seq, form);
31670
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
559 purple_debug_info("gg", "ggp_callback_find_buddies(): Added seq %u\n",
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
560 seq);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
561 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
562
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
563 static void ggp_find_buddies(PurplePluginAction *action)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
564 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
565 PurpleConnection *gc = (PurpleConnection *)action->context;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
566
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
567 PurpleRequestFields *fields;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
568 PurpleRequestFieldGroup *group;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
569 PurpleRequestField *field;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
570
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
571 fields = purple_request_fields_new();
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
572 group = purple_request_field_group_new(NULL);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
573 purple_request_fields_add_group(fields, group);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
574
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
575 field = purple_request_field_string_new("lastname",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
576 _("Last name"), NULL, FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
577 purple_request_field_string_set_masked(field, FALSE);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
578 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
579
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
580 field = purple_request_field_string_new("firstname",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
581 _("First name"), NULL, FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
582 purple_request_field_string_set_masked(field, FALSE);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
583 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
584
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
585 field = purple_request_field_string_new("nickname",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
586 _("Nickname"), NULL, FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
587 purple_request_field_string_set_masked(field, FALSE);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
588 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
589
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
590 field = purple_request_field_string_new("city",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
591 _("City"), NULL, FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
592 purple_request_field_string_set_masked(field, FALSE);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
593 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
594
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
595 field = purple_request_field_string_new("year",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
596 _("Year of birth"), NULL, FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
597 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
598
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
599 field = purple_request_field_choice_new("gender", _("Gender"), 0);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
600 purple_request_field_choice_add(field, _("Male or female"));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
601 purple_request_field_choice_add(field, _("Male"));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
602 purple_request_field_choice_add(field, _("Female"));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
603 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
604
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
605 field = purple_request_field_bool_new("active",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
606 _("Only online"), FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
607 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
608
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
609 purple_request_fields(gc,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
610 _("Find buddies"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
611 _("Find buddies"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
612 _("Please, enter your search criteria below"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
613 fields,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
614 _("OK"), G_CALLBACK(ggp_callback_find_buddies),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
615 _("Cancel"), NULL,
16439
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: 15822
diff changeset
616 purple_connection_get_account(gc), NULL, NULL,
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
617 gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
618 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
619
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
620 /* ----- CHANGE PASSWORD ---------------------------------------------------- */
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
621
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
622 typedef struct
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
623 {
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
624 guint inpa;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
625 struct gg_http *http_req;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
626 gchar *new_password;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
627 PurpleAccount *account;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
628 } ggp_change_passwd_request;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
629
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
630 static void ggp_callback_change_passwd_handler(gpointer _req, gint fd,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
631 PurpleInputCondition cond)
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
632 {
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
633 ggp_change_passwd_request *req = _req;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
634 const char *messagesTitle =
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
635 _("Change password for the Gadu-Gadu account");
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
636
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
637 purple_input_remove(req->inpa);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
638
32276
f877a2315d7e Gadu-Gadu: use correct libgadu api functions to change password
tomkiewicz@cpw.pidgin.im
parents: 32275
diff changeset
639 if (gg_change_passwd_watch_fd(req->http_req) == -1 ||
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
640 req->http_req->state == GG_STATE_ERROR)
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
641 goto exit_error;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
642
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
643 if (req->http_req->state != GG_STATE_DONE)
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
644 {
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
645 req->inpa = ggp_http_input_add(req->http_req,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
646 ggp_callback_change_passwd_handler, req);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
647 return;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
648 }
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
649
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
650 if (req->http_req->data != NULL &&
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
651 ((struct gg_pubdir*)req->http_req->data)->success == 1)
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
652 {
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
653 purple_account_set_password(req->account, req->new_password);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
654 purple_notify_info(req->account, messagesTitle,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
655 _("Password was changed successfully!"), NULL);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
656 goto exit_cleanup;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
657 }
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
658
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
659 exit_error:
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
660 purple_notify_error(req->account, messagesTitle,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
661 _("Unable to change password. Error occurred.\n"), NULL);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
662
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
663 exit_cleanup:
32276
f877a2315d7e Gadu-Gadu: use correct libgadu api functions to change password
tomkiewicz@cpw.pidgin.im
parents: 32275
diff changeset
664 gg_change_passwd_free(req->http_req);
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
665 g_free(req->new_password);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
666 g_free(req);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
667 }
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
668
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
669 static void ggp_callback_change_passwd_ok(PurpleConnection *gc,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
670 PurpleRequestFields *fields)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
671 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
672 PurpleAccount *account;
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
673 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
674 struct gg_http *h;
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
675 gchar *cur, *p1, *p2, *t, *mail;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
676 const char *messagesTitle =
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
677 _("Change password for the Gadu-Gadu account");
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
678
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
679 cur = g_strdup(purple_request_fields_get_string(fields,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
680 "password_cur"));
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
681 p1 = g_strdup(purple_request_fields_get_string(fields, "password1"));
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
682 p2 = g_strdup(purple_request_fields_get_string(fields, "password2"));
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
683 t = g_strdup(purple_request_fields_get_string(fields, "token"));
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
684 mail = g_strdup(purple_request_fields_get_string(fields, "email"));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
685
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
686 account = purple_connection_get_account(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
687
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
688 if (cur == NULL || p1 == NULL || p2 == NULL || t == NULL ||
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
689 mail == NULL || *cur == '\0' || *p1 == '\0' || *p2 == '\0' ||
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
690 *t == '\0' || *mail == '\0') {
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
691 purple_notify_error(account, messagesTitle,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
692 _("Fill in the fields."), NULL);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
693 goto exit_err;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
694 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
695
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
696 if (g_utf8_collate(p1, p2) != 0) {
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
697 purple_notify_error(account, messagesTitle,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
698 _("New passwords do not match."), NULL);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
699 goto exit_err;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
700 }
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
701
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
702 if (strlen(p1) > 15) {
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
703 purple_notify_error(account, messagesTitle,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
704 _("New password should be at most 15 characters long."),
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
705 NULL);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
706 goto exit_err;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
707 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
708
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
709 if (g_utf8_collate(cur, purple_account_get_password(account)) != 0) {
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
710 purple_notify_error(account, messagesTitle,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
711 _("Your current password is different from the one that"
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
712 " you specified."), NULL);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
713 goto exit_err;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
714 }
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
715
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
716 if (!purple_email_is_valid(mail)) {
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
717 purple_notify_error(account, messagesTitle,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
718 _("Invalid email address"), NULL);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
719 goto exit_err;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
720 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
721
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
722 purple_debug_info("gg", "Changing password with email \"%s\"...\n",
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
723 mail);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
724
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
725 h = gg_change_passwd4(ggp_get_uin(account), mail,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
726 purple_account_get_password(account), p1, info->token->id, t,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
727 1);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
728
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
729 if (h == NULL)
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
730 purple_notify_error(account, messagesTitle,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
731 _("Unable to change password. Error occurred.\n"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
732 NULL);
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
733 else
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
734 {
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
735 ggp_change_passwd_request *req =
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
736 g_new(ggp_change_passwd_request, 1);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
737 req->http_req = h;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
738 req->new_password = g_strdup(p1);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
739 req->account = account;
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
740
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
741 req->inpa = ggp_http_input_add(h,
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
742 ggp_callback_change_passwd_handler, req);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
743 }
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
744
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
745 exit_err:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
746 g_free(cur);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
747 g_free(p1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
748 g_free(p2);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
749 g_free(t);
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
750 g_free(mail);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
751 g_free(info->token->id);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
752 g_free(info->token->data);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
753 g_free(info->token);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
754 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
755
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
756 static void ggp_change_passwd_dialog(PurpleConnection *gc)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
757 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
758 PurpleRequestFields *fields;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
759 PurpleRequestFieldGroup *group;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
760 PurpleRequestField *field;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
761
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
762 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
763 GGPToken *token = info->token;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
764
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
765 char *msg;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
766
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
767 fields = purple_request_fields_new();
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
768 group = purple_request_field_group_new(NULL);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
769 purple_request_fields_add_group(fields, group);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
770
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
771 field = purple_request_field_string_new("password_cur",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
772 _("Current password"), "", FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
773 purple_request_field_string_set_masked(field, TRUE);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
774 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
775
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
776 field = purple_request_field_string_new("password1",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
777 _("Password"), "", FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
778 purple_request_field_string_set_masked(field, TRUE);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
779 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
780
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
781 field = purple_request_field_string_new("password2",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
782 _("Password (retype)"), "", FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
783 purple_request_field_string_set_masked(field, TRUE);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
784 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
785
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
786 field = purple_request_field_string_new("email",
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
787 _("Email Address"), "", FALSE);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
788 purple_request_field_string_set_masked(field, FALSE);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
789 purple_request_field_group_add_field(group, field);
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
790
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
791 field = purple_request_field_string_new("token",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
792 _("Enter current token"), "", FALSE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
793 purple_request_field_string_set_masked(field, FALSE);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
794 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
795
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
796 /* original size: 60x24 */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
797 field = purple_request_field_image_new("token_img",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
798 _("Current token"), token->data, token->size);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
799 purple_request_field_group_add_field(group, field);
15373
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 msg = g_strdup_printf("%s %d",
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
802 _("Please, enter your current password and your new password "
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
803 "for UIN: "), ggp_get_uin(purple_connection_get_account(gc)));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
804
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
805 purple_request_fields(gc,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
806 _("Change Gadu-Gadu Password"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
807 _("Change Gadu-Gadu Password"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
808 msg,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
809 fields, _("OK"), G_CALLBACK(ggp_callback_change_passwd_ok),
16439
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: 15822
diff changeset
810 _("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: 15822
diff changeset
811 purple_connection_get_account(gc), NULL, NULL,
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
812 gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
813
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
814 g_free(msg);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
815 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
816
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
817 static void ggp_change_passwd(PurplePluginAction *action)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
818 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
819 PurpleConnection *gc = (PurpleConnection *)action->context;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
820
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
821 ggp_token_request(gc, ggp_change_passwd_dialog);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
822 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
823
31350
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
824 /* ----- CHANGE STATUS BROADCASTING ------------------------------------------------ */
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
825
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
826 static void ggp_action_change_status_broadcasting_ok(PurpleConnection *gc, PurpleRequestFields *fields)
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
827 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
828 GGPInfo *info = purple_connection_get_protocol_data(gc);
31350
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
829 int selected_field;
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
830 PurpleAccount *account = purple_connection_get_account(gc);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
831 PurpleStatus *status;
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
832
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
833 selected_field = purple_request_fields_get_choice(fields, "status_broadcasting");
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
834
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
835 if (selected_field == 0)
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
836 info->status_broadcasting = TRUE;
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
837 else
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
838 info->status_broadcasting = FALSE;
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
839
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
840 status = purple_account_get_active_status(account);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
841
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
842 ggp_set_status(account, status);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
843 }
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
844
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
845 static void ggp_action_change_status_broadcasting(PurplePluginAction *action)
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
846 {
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
847 PurpleConnection *gc = (PurpleConnection *)action->context;
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
848 GGPInfo *info = purple_connection_get_protocol_data(gc);
31350
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
849
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
850 PurpleRequestFields *fields;
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
851 PurpleRequestFieldGroup *group;
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
852 PurpleRequestField *field;
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
853
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
854 fields = purple_request_fields_new();
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
855 group = purple_request_field_group_new(NULL);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
856 purple_request_fields_add_group(fields, group);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
857
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
858 field = purple_request_field_choice_new("status_broadcasting", _("Show status to:"), 0);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
859 purple_request_field_choice_add(field, _("All people"));
31351
e31163acae07 Make terminology more consistent with the rest of our strings. Refs #13358.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31350
diff changeset
860 purple_request_field_choice_add(field, _("Only buddies"));
31350
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
861 purple_request_field_group_add_field(group, field);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
862
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
863 if (info->status_broadcasting)
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
864 purple_request_field_choice_set_default_value(field, 0);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
865 else
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
866 purple_request_field_choice_set_default_value(field, 1);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
867
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
868 purple_request_fields(gc,
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
869 _("Change status broadcasting"),
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
870 _("Change status broadcasting"),
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
871 _("Please, select who can see your status"),
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
872 fields,
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
873 _("OK"), G_CALLBACK(ggp_action_change_status_broadcasting_ok),
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
874 _("Cancel"), NULL,
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
875 purple_connection_get_account(gc), NULL, NULL,
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
876 gc);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
877 }
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
878
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
879 /* ----- CONFERENCES ---------------------------------------------------- */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
880
25323
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
881 static void ggp_callback_add_to_chat_ok(PurpleBuddy *buddy, PurpleRequestFields *fields)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
882 {
25323
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
883 PurpleConnection *conn;
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
884 PurpleRequestField *field;
18118
ab6d2763b8d8 Re-fix the DBus list handling code by killing const GList* / const GSList*
Richard Laager <rlaager@wiktel.com>
parents: 17377
diff changeset
885 GList *sel;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
886
25323
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
887 conn = purple_account_get_connection(purple_buddy_get_account(buddy));
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
888
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
889 g_return_if_fail(conn != NULL);
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
890
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
891 field = purple_request_fields_get_field(fields, "name");
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
892 sel = purple_request_field_list_get_selected(field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
893
25323
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
894 if (sel == NULL) {
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
895 purple_debug_error("gg", "No chat selected\n");
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
896 return;
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
897 }
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
898
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
899 ggp_confer_participants_add_uin(conn, sel->data,
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
900 ggp_str_to_uin(purple_buddy_get_name(buddy)));
15373
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
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
903 static void ggp_bmenu_add_to_chat(PurpleBlistNode *node, gpointer ignored)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
904 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
905 PurpleBuddy *buddy;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
906 PurpleConnection *gc;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
907 GGPInfo *info;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
908
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
909 PurpleRequestFields *fields;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
910 PurpleRequestFieldGroup *group;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
911 PurpleRequestField *field;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
912
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
913 GList *l;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
914 gchar *msg;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
915
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
916 buddy = (PurpleBuddy *)node;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
917 gc = purple_account_get_connection(purple_buddy_get_account(buddy));
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
918 info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
919
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
920 fields = purple_request_fields_new();
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
921 group = purple_request_field_group_new(NULL);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
922 purple_request_fields_add_group(fields, group);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
923
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
924 field = purple_request_field_list_new("name", "Chat name");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
925 for (l = info->chats; l != NULL; l = l->next) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
926 GGPChat *chat = l->data;
32153
694382c3d150 Remove deprecated purple_request_field_list_add().
andrew.victor@mxit.com
parents: 32053
diff changeset
927 purple_request_field_list_add_icon(field, chat->name, NULL, chat->name);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
928 }
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
929 purple_request_field_group_add_field(group, field);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
930
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
931 msg = g_strdup_printf(_("Select a chat for buddy: %s"),
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
932 purple_buddy_get_alias(buddy));
21099
51cf02dbdb0e disapproval of revision 'c484d979c4fda4433a9633ff8b69bd8a395c9479'
Richard Laager <rlaager@wiktel.com>
parents: 21095
diff changeset
933 purple_request_fields(gc,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
934 _("Add to chat..."),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
935 _("Add to chat..."),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
936 msg,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
937 fields,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
938 _("Add"), G_CALLBACK(ggp_callback_add_to_chat_ok),
16439
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: 15822
diff changeset
939 _("Cancel"), NULL,
25323
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
940 purple_connection_get_account(gc), NULL, NULL,
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
941 buddy);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
942 g_free(msg);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
943 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
944
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
945 /* ----- BLOCK BUDDIES -------------------------------------------------- */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
946
31723
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
947 static void ggp_add_deny(PurpleConnection *gc, const char *who)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
948 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
949 GGPInfo *info = purple_connection_get_protocol_data(gc);
31723
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
950 uin_t uin = ggp_str_to_uin(who);
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
951
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
952 purple_debug_info("gg", "ggp_add_deny: %u\n", uin);
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
953
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
954 gg_remove_notify_ex(info->session, uin, GG_USER_NORMAL);
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
955 gg_add_notify_ex(info->session, uin, GG_USER_BLOCKED);
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
956 }
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
957
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
958 static void ggp_rem_deny(PurpleConnection *gc, const char *who)
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
959 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
960 GGPInfo *info = purple_connection_get_protocol_data(gc);
31723
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
961 uin_t uin = ggp_str_to_uin(who);
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
962
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
963 purple_debug_info("gg", "ggp_rem_deny: %u\n", uin);
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
964
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
965 gg_remove_notify_ex(info->session, uin, GG_USER_BLOCKED);
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
966 gg_add_notify_ex(info->session, uin, GG_USER_NORMAL);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
967 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
968
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
969 /* ---------------------------------------------------------------------- */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
970 /* ----- INTERNAL CALLBACKS --------------------------------------------- */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
971 /* ---------------------------------------------------------------------- */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
972
27164
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
973 struct gg_fetch_avatar_data
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
974 {
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
975 PurpleConnection *gc;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
976 gchar *uin;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
977 gchar *avatar_url;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
978 };
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
979
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
980
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
981 static void gg_fetch_avatar_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data,
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
982 const gchar *data, size_t len, const gchar *error_message) {
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
983 struct gg_fetch_avatar_data *d = user_data;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
984 PurpleAccount *account;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
985 PurpleBuddy *buddy;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
986 gpointer buddy_icon_data;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
987
31737
e17b5aab37d0 More debugging informations when updating avatars in Gadu-Gadu
tomkiewicz@cpw.pidgin.im
parents: 31723
diff changeset
988 purple_debug_info("gg", "gg_fetch_avatar_cb: got avatar image for %s\n",
e17b5aab37d0 More debugging informations when updating avatars in Gadu-Gadu
tomkiewicz@cpw.pidgin.im
parents: 31723
diff changeset
989 d->uin);
e17b5aab37d0 More debugging informations when updating avatars in Gadu-Gadu
tomkiewicz@cpw.pidgin.im
parents: 31723
diff changeset
990
27164
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
991 /* FIXME: This shouldn't be necessary */
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
992 if (!PURPLE_CONNECTION_IS_VALID(d->gc)) {
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
993 g_free(d->uin);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
994 g_free(d->avatar_url);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
995 g_free(d);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
996 g_return_if_reached();
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
997 }
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
998
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
999 account = purple_connection_get_account(d->gc);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1000 buddy = purple_find_buddy(account, d->uin);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1001
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1002 if (buddy == NULL)
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1003 goto out;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1004
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1005 buddy_icon_data = g_memdup(data, len);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1006
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1007 purple_buddy_icons_set_for_user(account, purple_buddy_get_name(buddy),
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1008 buddy_icon_data, len, d->avatar_url);
31737
e17b5aab37d0 More debugging informations when updating avatars in Gadu-Gadu
tomkiewicz@cpw.pidgin.im
parents: 31723
diff changeset
1009 purple_debug_info("gg", "gg_fetch_avatar_cb: UIN %s should have avatar "
e17b5aab37d0 More debugging informations when updating avatars in Gadu-Gadu
tomkiewicz@cpw.pidgin.im
parents: 31723
diff changeset
1010 "now\n", d->uin);
27164
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1011
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1012 out:
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1013 g_free(d->uin);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1014 g_free(d->avatar_url);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1015 g_free(d);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1016 }
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1017
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1018 static void gg_get_avatar_url_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data,
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1019 const gchar *url_text, size_t len, const gchar *error_message) {
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1020 struct gg_fetch_avatar_data *data;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1021 PurpleConnection *gc = user_data;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1022 PurpleAccount *account;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1023 PurpleBuddy *buddy;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1024 const char *uin;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1025 const char *is_blank;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1026 const char *checksum;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1027
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1028 gchar *bigavatar = NULL;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1029 xmlnode *xml = NULL;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1030 xmlnode *xmlnode_users;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1031 xmlnode *xmlnode_user;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1032 xmlnode *xmlnode_avatars;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1033 xmlnode *xmlnode_avatar;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1034 xmlnode *xmlnode_bigavatar;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1035
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1036 g_return_if_fail(PURPLE_CONNECTION_IS_VALID(gc));
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1037 account = purple_connection_get_account(gc);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1038
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1039 if (error_message != NULL)
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1040 purple_debug_error("gg", "gg_get_avatars_cb error: %s\n", error_message);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1041 else if (len > 0 && url_text && *url_text) {
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1042 xml = xmlnode_from_str(url_text, -1);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1043 if (xml == NULL)
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1044 goto out;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1045
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1046 xmlnode_users = xmlnode_get_child(xml, "users");
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1047 if (xmlnode_users == NULL)
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1048 goto out;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1049
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1050 xmlnode_user = xmlnode_get_child(xmlnode_users, "user");
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1051 if (xmlnode_user == NULL)
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1052 goto out;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1053
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1054 uin = xmlnode_get_attrib(xmlnode_user, "uin");
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1055
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1056 xmlnode_avatars = xmlnode_get_child(xmlnode_user, "avatars");
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1057 if (xmlnode_avatars == NULL)
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1058 goto out;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1059
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1060 xmlnode_avatar = xmlnode_get_child(xmlnode_avatars, "avatar");
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1061 if (xmlnode_avatar == NULL)
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1062 goto out;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1063
28845
737b75b5a888 Fix Gadu-Gadu avatars. The server's response format has changed. Fixes #11050.
grommasher@gmail.com
parents: 27385
diff changeset
1064 xmlnode_bigavatar = xmlnode_get_child(xmlnode_avatar, "originBigAvatar");
27164
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1065 if (xmlnode_bigavatar == NULL)
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1066 goto out;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1067
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1068 is_blank = xmlnode_get_attrib(xmlnode_avatar, "blank");
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1069 bigavatar = xmlnode_get_data(xmlnode_bigavatar);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1070
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1071 purple_debug_info("gg", "gg_get_avatar_url_cb: UIN %s, IS_BLANK %s, "
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1072 "URL %s\n",
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1073 uin ? uin : "(null)", is_blank ? is_blank : "(null)",
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1074 bigavatar ? bigavatar : "(null)");
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1075
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1076 if (uin != NULL && bigavatar != NULL) {
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1077 buddy = purple_find_buddy(account, uin);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1078 if (buddy == NULL)
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1079 goto out;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1080
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1081 checksum = purple_buddy_icons_get_checksum_for_user(buddy);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1082
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1083 if (purple_strequal(is_blank, "1")) {
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1084 purple_buddy_icons_set_for_user(account,
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1085 purple_buddy_get_name(buddy), NULL, 0, NULL);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1086 } else if (!purple_strequal(checksum, bigavatar)) {
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1087 data = g_new0(struct gg_fetch_avatar_data, 1);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1088 data->gc = gc;
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1089 data->uin = g_strdup(uin);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1090 data->avatar_url = g_strdup(bigavatar);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1091
31737
e17b5aab37d0 More debugging informations when updating avatars in Gadu-Gadu
tomkiewicz@cpw.pidgin.im
parents: 31723
diff changeset
1092 purple_debug_info("gg", "gg_get_avatar_url_cb: "
e17b5aab37d0 More debugging informations when updating avatars in Gadu-Gadu
tomkiewicz@cpw.pidgin.im
parents: 31723
diff changeset
1093 "requesting avatar for %s\n", uin);
32410
f07501af8bae Remove dead assignments found with clang-analyzer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32353
diff changeset
1094 /* FIXME: This should be cancelled somewhere if not needed. */
32218
904686722499 * purple_util_fetch_url_request_len() renamed to purple_util_fetch_url_request().
andrew.victor@mxit.com
parents: 32153
diff changeset
1095 url_data = purple_util_fetch_url_request(account,
27164
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1096 bigavatar, TRUE, "Mozilla/4.0 (compatible; MSIE 5.0)",
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1097 FALSE, NULL, FALSE, -1, gg_fetch_avatar_cb, data);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1098 }
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1099 }
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1100 }
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1101
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1102 out:
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1103 if (xml)
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1104 xmlnode_free(xml);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1105 g_free(bigavatar);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1106 }
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1107
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1108 /**
31466
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1109 * Try to update avatar of the buddy.
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1110 *
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1111 * @param gc PurpleConnection
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1112 * @param uin UIN of the buddy.
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1113 */
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1114 static void ggp_update_buddy_avatar(PurpleConnection *gc, uin_t uin)
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1115 {
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1116 gchar *avatarurl;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1117 PurpleUtilFetchUrlData *url_data;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1118
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1119 purple_debug_info("gg", "ggp_update_buddy_avatar(gc, %u)\n", uin);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1120
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1121 avatarurl = g_strdup_printf("http://api.gadu-gadu.pl/avatars/%u/0.xml", uin);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1122
32410
f07501af8bae Remove dead assignments found with clang-analyzer.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32353
diff changeset
1123 /* FIXME: This should be cancelled somewhere if not needed. */
32218
904686722499 * purple_util_fetch_url_request_len() renamed to purple_util_fetch_url_request().
andrew.victor@mxit.com
parents: 32153
diff changeset
1124 url_data = purple_util_fetch_url_request(
31466
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1125 purple_connection_get_account(gc), avatarurl, TRUE,
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1126 "Mozilla/4.0 (compatible; MSIE 5.5)", FALSE, NULL, FALSE, -1,
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1127 gg_get_avatar_url_cb, gc);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1128
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1129 g_free(avatarurl);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1130 }
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1131
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1132 /**
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1133 * Handle change of the status of the buddy.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1134 *
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1135 * @param gc PurpleConnection
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1136 * @param uin UIN of the buddy.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1137 * @param status ID of the status.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1138 * @param descr Description.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1139 */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1140 static void ggp_generic_status_handler(PurpleConnection *gc, uin_t uin,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1141 int status, const char *descr)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1142 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1143 gchar *from;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1144 const char *st;
31681
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1145 char *status_msg = NULL;
31466
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1146
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1147 ggp_update_buddy_avatar(gc, uin);
27164
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1148
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1149 from = g_strdup_printf("%u", uin);
959e86c022f7 Support fetching Gadu-Gadu avatars. Closes #9371.
grommasher@gmail.com
parents: 27147
diff changeset
1150
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1151 switch (status) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1152 case GG_STATUS_NOT_AVAIL:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1153 case GG_STATUS_NOT_AVAIL_DESCR:
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1154 st = purple_primitive_get_id_from_type(PURPLE_STATUS_OFFLINE);
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1155 break;
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1156 case GG_STATUS_FFC:
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1157 case GG_STATUS_FFC_DESCR:
32280
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
1158 st = "freeforchat";
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1159 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1160 case GG_STATUS_AVAIL:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1161 case GG_STATUS_AVAIL_DESCR:
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1162 st = purple_primitive_get_id_from_type(PURPLE_STATUS_AVAILABLE);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1163 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1164 case GG_STATUS_BUSY:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1165 case GG_STATUS_BUSY_DESCR:
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1166 st = purple_primitive_get_id_from_type(PURPLE_STATUS_AWAY);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1167 break;
32280
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
1168 case GG_STATUS_INVISIBLE:
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
1169 case GG_STATUS_INVISIBLE_DESCR:
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
1170 st = purple_primitive_get_id_from_type(PURPLE_STATUS_INVISIBLE);
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
1171 break;
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1172 case GG_STATUS_DND:
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1173 case GG_STATUS_DND_DESCR:
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1174 st = purple_primitive_get_id_from_type(PURPLE_STATUS_UNAVAILABLE);
29771
fb270a3d0732 gadu-gadu: Add a missing 'break;'
kkszysiu@gmail.com
parents: 29722
diff changeset
1175 break;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1176 case GG_STATUS_BLOCKED:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1177 /* user is blocking us.... */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1178 st = "blocked";
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1179 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1180 default:
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1181 st = purple_primitive_get_id_from_type(PURPLE_STATUS_AVAILABLE);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1182 purple_debug_info("gg",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1183 "GG_EVENT_NOTIFY: Unknown status: %d\n", status);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1184 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1185 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1186
31681
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1187 if (descr != NULL) {
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1188 status_msg = g_strdup(descr);
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1189 g_strstrip(status_msg);
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1190 if (status_msg[0] == '\0') {
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1191 g_free(status_msg);
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1192 status_msg = NULL;
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1193 }
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1194 }
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1195
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1196 purple_debug_info("gg", "status of %u is %s [%s]\n", uin, st,
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1197 status_msg ? status_msg : "");
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1198 if (status_msg == NULL) {
29722
0665d7eff0a3 gadu-gadu: (NULL)-like descriptions and packet size problems. Fixes #11676
kkszysiu@gmail.com
parents: 29544
diff changeset
1199 purple_prpl_got_user_status(purple_connection_get_account(gc),
31681
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1200 from, st, NULL);
29722
0665d7eff0a3 gadu-gadu: (NULL)-like descriptions and packet size problems. Fixes #11676
kkszysiu@gmail.com
parents: 29544
diff changeset
1201 } else {
0665d7eff0a3 gadu-gadu: (NULL)-like descriptions and packet size problems. Fixes #11676
kkszysiu@gmail.com
parents: 29544
diff changeset
1202 purple_prpl_got_user_status(purple_connection_get_account(gc),
31681
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1203 from, st, "message", status_msg, NULL);
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
1204 g_free(status_msg);
29722
0665d7eff0a3 gadu-gadu: (NULL)-like descriptions and packet size problems. Fixes #11676
kkszysiu@gmail.com
parents: 29544
diff changeset
1205 }
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1206 g_free(from);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1207 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1208
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1209 static void ggp_sr_close_cb(gpointer user_data)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1210 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1211 GGPSearchForm *form = user_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1212 GGPInfo *info = form->user_data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1213
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1214 ggp_search_remove(info->searches, form->seq);
31670
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
1215 purple_debug_info("gg", "ggp_sr_close_cb(): Removed seq %u\n",
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
1216 form->seq);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1217 ggp_search_form_destroy(form);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1218 }
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 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1221 * Translate a status' ID to a more user-friendly name.
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 * @param id The ID of the status.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1224 *
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1225 * @return The user-friendly name of the status.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1226 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1227 static const char *ggp_status_by_id(unsigned int id)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1228 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1229 const char *st;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1230
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1231 purple_debug_info("gg", "ggp_status_by_id: %d\n", id);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1232 switch (id) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1233 case GG_STATUS_NOT_AVAIL:
27147
ef9e68020265 Correctly show status in tooltips for GG contacts with status messages.
grommasher@gmail.com
parents: 27036
diff changeset
1234 case GG_STATUS_NOT_AVAIL_DESCR:
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1235 st = _("Offline");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1236 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1237 case GG_STATUS_AVAIL:
27147
ef9e68020265 Correctly show status in tooltips for GG contacts with status messages.
grommasher@gmail.com
parents: 27036
diff changeset
1238 case GG_STATUS_AVAIL_DESCR:
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1239 st = _("Available");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1240 break;
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1241 case GG_STATUS_FFC:
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1242 case GG_STATUS_FFC_DESCR:
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1243 return _("Chatty");
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1244 case GG_STATUS_DND:
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1245 case GG_STATUS_DND_DESCR:
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1246 return _("Do Not Disturb");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1247 case GG_STATUS_BUSY:
27147
ef9e68020265 Correctly show status in tooltips for GG contacts with status messages.
grommasher@gmail.com
parents: 27036
diff changeset
1248 case GG_STATUS_BUSY_DESCR:
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1249 st = _("Away");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1250 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1251 default:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1252 st = _("Unknown");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1253 break;
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
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1256 return st;
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
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1259 static void ggp_pubdir_handle_info(PurpleConnection *gc, gg_pubdir50_t req,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1260 GGPSearchForm *form)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1261 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1262 PurpleNotifyUserInfo *user_info;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1263 PurpleBuddy *buddy;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1264 char *val, *who;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1265
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1266 user_info = purple_notify_user_info_new();
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1267
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1268 val = ggp_search_get_result(req, 0, GG_PUBDIR50_STATUS);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1269 /* XXX: Use of ggp_str_to_uin() is an ugly hack! */
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
1270 purple_notify_user_info_add_pair_plaintext(user_info, _("Status"), ggp_status_by_id(ggp_str_to_uin(val)));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1271 g_free(val);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1272
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1273 who = ggp_search_get_result(req, 0, GG_PUBDIR50_UIN);
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
1274 /* TODO: Check whether it's correct to call add_pair_html,
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
1275 or if we should be using add_pair_plaintext */
31907
99ca503ea087 Rename purple_notify_user_info_add_pair to
Mark Doliner <mark@kingant.net>
parents: 31904
diff changeset
1276 purple_notify_user_info_add_pair_html(user_info, _("UIN"), who);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1277
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1278 val = ggp_search_get_result(req, 0, GG_PUBDIR50_FIRSTNAME);
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
1279 /* TODO: Check whether it's correct to call add_pair_html,
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
1280 or if we should be using add_pair_plaintext */
31907
99ca503ea087 Rename purple_notify_user_info_add_pair to
Mark Doliner <mark@kingant.net>
parents: 31904
diff changeset
1281 purple_notify_user_info_add_pair_html(user_info, _("First Name"), val);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1282 g_free(val);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1283
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1284 val = ggp_search_get_result(req, 0, GG_PUBDIR50_NICKNAME);
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
1285 /* TODO: Check whether it's correct to call add_pair_html,
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
1286 or if we should be using add_pair_plaintext */
31907
99ca503ea087 Rename purple_notify_user_info_add_pair to
Mark Doliner <mark@kingant.net>
parents: 31904
diff changeset
1287 purple_notify_user_info_add_pair_html(user_info, _("Nickname"), val);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1288 g_free(val);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1289
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1290 val = ggp_search_get_result(req, 0, GG_PUBDIR50_CITY);
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
1291 /* TODO: Check whether it's correct to call add_pair_html,
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
1292 or if we should be using add_pair_plaintext */
31907
99ca503ea087 Rename purple_notify_user_info_add_pair to
Mark Doliner <mark@kingant.net>
parents: 31904
diff changeset
1293 purple_notify_user_info_add_pair_html(user_info, _("City"), val);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1294 g_free(val);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1295
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1296 val = ggp_search_get_result(req, 0, GG_PUBDIR50_BIRTHYEAR);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1297 if (strncmp(val, "0", 1)) {
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
1298 /* TODO: Check whether it's correct to call add_pair_html,
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
1299 or if we should be using add_pair_plaintext */
31907
99ca503ea087 Rename purple_notify_user_info_add_pair to
Mark Doliner <mark@kingant.net>
parents: 31904
diff changeset
1300 purple_notify_user_info_add_pair_html(user_info, _("Birth Year"), val);
15373
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 g_free(val);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1303
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1304 /*
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1305 * Include a status message, if exists and buddy is in the blist.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1306 */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1307 buddy = purple_find_buddy(purple_connection_get_account(gc), who);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1308 if (NULL != buddy) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1309 PurpleStatus *status;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1310 const char *msg;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1311
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1312 status = purple_presence_get_active_status(purple_buddy_get_presence(buddy));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1313 msg = purple_status_get_attr_string(status, "message");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1314
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1315 if (msg != NULL) {
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
1316 purple_notify_user_info_add_pair_plaintext(user_info, _("Message"), msg);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1317 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1318 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1319
18445
ac7b380daa0a Close temporary Get Info window when showing the real one. Fixes #1720.
Bartoz Oler <bartosz@pidgin.im>
parents: 18118
diff changeset
1320 purple_notify_userinfo(gc, who, user_info, ggp_sr_close_cb, form);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1321 g_free(who);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1322 purple_notify_user_info_destroy(user_info);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1323 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1324
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1325 static void ggp_pubdir_handle_full(PurpleConnection *gc, gg_pubdir50_t req,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1326 GGPSearchForm *form)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1327 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1328 PurpleNotifySearchResults *results;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1329 PurpleNotifySearchColumn *column;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1330 int res_count;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1331 int start;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1332 int i;
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 g_return_if_fail(form != NULL);
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 res_count = gg_pubdir50_count(req);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1337 res_count = (res_count > PUBDIR_RESULTS_MAX) ? PUBDIR_RESULTS_MAX : res_count;
31670
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
1338 if (form->page_size == 0)
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
1339 form->page_size = res_count;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1340
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1341 results = purple_notify_searchresults_new();
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1342
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1343 if (results == NULL) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1344 purple_debug_error("gg", "ggp_pubdir_reply_handler: "
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1345 "Unable to display the search results.\n");
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1346 purple_notify_error(gc, NULL,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1347 _("Unable to display the search results."),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1348 NULL);
31670
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
1349 if (form->window == NULL)
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
1350 ggp_sr_close_cb(form);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1351 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1352 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1353
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1354 column = purple_notify_searchresults_column_new(_("UIN"));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1355 purple_notify_searchresults_column_add(results, column);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1356
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1357 column = purple_notify_searchresults_column_new(_("First Name"));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1358 purple_notify_searchresults_column_add(results, column);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1359
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1360 column = purple_notify_searchresults_column_new(_("Nickname"));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1361 purple_notify_searchresults_column_add(results, column);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1362
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1363 column = purple_notify_searchresults_column_new(_("City"));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1364 purple_notify_searchresults_column_add(results, column);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1365
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1366 column = purple_notify_searchresults_column_new(_("Birth Year"));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1367 purple_notify_searchresults_column_add(results, column);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1368
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1369 purple_debug_info("gg", "Going with %d entries\n", res_count);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1370
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1371 start = (int)ggp_str_to_uin(gg_pubdir50_get(req, 0, GG_PUBDIR50_START));
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1372 purple_debug_info("gg", "start = %d\n", start);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1374 for (i = 0; i < res_count; i++) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1375 GList *row = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1376 char *birth = ggp_search_get_result(req, i, GG_PUBDIR50_BIRTHYEAR);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1377
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1378 /* TODO: Status will be displayed as an icon. */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1379 /* row = g_list_append(row, ggp_search_get_result(req, i, GG_PUBDIR50_STATUS)); */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1380 row = g_list_append(row, ggp_search_get_result(req, i,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1381 GG_PUBDIR50_UIN));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1382 row = g_list_append(row, ggp_search_get_result(req, i,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1383 GG_PUBDIR50_FIRSTNAME));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1384 row = g_list_append(row, ggp_search_get_result(req, i,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1385 GG_PUBDIR50_NICKNAME));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1386 row = g_list_append(row, ggp_search_get_result(req, i,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1387 GG_PUBDIR50_CITY));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1388 row = g_list_append(row,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1389 (birth && strncmp(birth, "0", 1)) ? birth : g_strdup("-"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1390
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1391 purple_notify_searchresults_row_add(results, row);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1392 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1393
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1394 purple_notify_searchresults_button_add(results, PURPLE_NOTIFY_BUTTON_CONTINUE,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1395 ggp_callback_show_next);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1396 purple_notify_searchresults_button_add(results, PURPLE_NOTIFY_BUTTON_ADD,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1397 ggp_callback_add_buddy);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1398 purple_notify_searchresults_button_add(results, PURPLE_NOTIFY_BUTTON_IM,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1399 ggp_callback_im);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1400
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1401 if (form->window == NULL) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1402 void *h = purple_notify_searchresults(gc,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1403 _("Gadu-Gadu Public Directory"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1404 _("Search results"), NULL, results,
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1405 (PurpleNotifyCloseCallback)ggp_sr_close_cb,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1406 form);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1407
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1408 if (h == NULL) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1409 purple_debug_error("gg", "ggp_pubdir_reply_handler: "
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1410 "Unable to display the search results.\n");
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1411 purple_notify_error(gc, NULL,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1412 _("Unable to display the search results."),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1413 NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1414 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1415 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1416
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1417 form->window = h;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1418 } else {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1419 purple_notify_searchresults_new_rows(gc, results, form->window);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1420 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1421 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1422
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1423 static void ggp_pubdir_reply_handler(PurpleConnection *gc, gg_pubdir50_t req)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1424 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
1425 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1426 GGPSearchForm *form;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1427 int res_count;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1428 guint32 seq;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1429
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1430 seq = gg_pubdir50_seq(req);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1431 form = ggp_search_get(info->searches, seq);
31670
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
1432 purple_debug_info("gg",
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
1433 "ggp_pubdir_reply_handler(): seq %u --> form %p\n", seq, form);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1434 /*
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1435 * this can happen when user will request more results
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1436 * and close the results window before they arrive.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1437 */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1438 g_return_if_fail(form != NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1439
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1440 res_count = gg_pubdir50_count(req);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1441 if (res_count < 1) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1442 purple_debug_info("gg", "GG_EVENT_PUBDIR50_SEARCH_REPLY: Nothing found\n");
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1443 purple_notify_error(gc, NULL,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1444 _("No matching users found"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1445 _("There are no users matching your search criteria."));
31670
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
1446 if (form->window == NULL)
34404b2719c5 Fixed searching for buddies in Gadu-Gadu public directory. Fixes #5242
tomkiewicz@cpw.pidgin.im
parents: 31663
diff changeset
1447 ggp_sr_close_cb(form);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1448 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1449 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1450
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1451 switch (form->search_type) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1452 case GGP_SEARCH_TYPE_INFO:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1453 ggp_pubdir_handle_info(gc, req, form);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1454 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1455 case GGP_SEARCH_TYPE_FULL:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1456 ggp_pubdir_handle_full(gc, req, form);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1457 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1458 default:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1459 purple_debug_warning("gg", "Unknown search_type!\n");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1460 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1461 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1462 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1463
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1464 static void ggp_recv_image_handler(PurpleConnection *gc, const struct gg_event *ev)
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1465 {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1466 gint imgid = 0;
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
1467 GGPInfo *info = purple_connection_get_protocol_data(gc);
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1468 GList *entry = g_list_first(info->pending_richtext_messages);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1469 gchar *handlerid = g_strdup_printf("IMGID_HANDLER-%i", ev->event.image_reply.crc32);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1470
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1471 imgid = purple_imgstore_add_with_id(
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1472 g_memdup(ev->event.image_reply.image, ev->event.image_reply.size),
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1473 ev->event.image_reply.size,
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1474 ev->event.image_reply.filename);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1475
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1476 purple_debug_info("gg", "ggp_recv_image_handler: got image with crc32: %u\n", ev->event.image_reply.crc32);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1477
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1478 while(entry) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1479 if (strstr((gchar *)entry->data, handlerid) != NULL) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1480 gchar **split = g_strsplit((gchar *)entry->data, handlerid, 3);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1481 gchar *text = g_strdup_printf("%s%i%s", split[0], imgid, split[1]);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1482 purple_debug_info("gg", "ggp_recv_image_handler: found message matching crc32: %s\n", (gchar *)entry->data);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1483 g_strfreev(split);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1484 info->pending_richtext_messages = g_list_remove(info->pending_richtext_messages, entry->data);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1485 /* We don't have any more images to download */
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1486 if (strstr(text, "<IMG ID=\"IMGID_HANDLER") == NULL) {
31464
566bed5c02f2 gg: Fix a null pointer dereference.
tomkiewicz@o2.pl
parents: 31462
diff changeset
1487 gchar *buf = g_strdup_printf("%lu", (unsigned long int)ev->event.image_reply.sender);
566bed5c02f2 gg: Fix a null pointer dereference.
tomkiewicz@o2.pl
parents: 31462
diff changeset
1488 serv_got_im(gc, buf, text, PURPLE_MESSAGE_IMAGES, time(NULL));
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1489 g_free(buf);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1490 purple_debug_info("gg", "ggp_recv_image_handler: richtext message: %s\n", text);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1491 g_free(text);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1492 break;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1493 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1494 info->pending_richtext_messages = g_list_append(info->pending_richtext_messages, text);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1495 break;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1496 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1497 entry = g_list_next(entry);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1498 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1499 g_free(handlerid);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1500
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1501 return;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1502 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1503
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1504
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1505 /**
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1506 * Dispatch a message received from a buddy.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1507 *
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1508 * @param gc PurpleConnection.
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1509 * @param ev Gadu-Gadu event structure.
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1510 *
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1511 * Image receiving, some code borrowed from Kadu http://www.kadu.net
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1512 */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1513 static void ggp_recv_message_handler(PurpleConnection *gc, const struct gg_event *ev)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1514 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
1515 GGPInfo *info = purple_connection_get_protocol_data(gc);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1516 PurpleConversation *conv;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1517 gchar *from;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1518 gchar *msg;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1519 gchar *tmp;
32272
b01a41253fb6 Gadu-Gadu: Show local time for incoming messages. Fixes #4579
tomkiewicz@cpw.pidgin.im
parents: 32271
diff changeset
1520 time_t mtime;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1521
31412
fa728fd38c00 When somebody sends me an image, I get some (depends on image size) empty
tomkiewicz@o2.pl
parents: 31397
diff changeset
1522 if (ev->event.msg.message == NULL)
fa728fd38c00 When somebody sends me an image, I get some (depends on image size) empty
tomkiewicz@o2.pl
parents: 31397
diff changeset
1523 {
fa728fd38c00 When somebody sends me an image, I get some (depends on image size) empty
tomkiewicz@o2.pl
parents: 31397
diff changeset
1524 purple_debug_warning("gg", "ggp_recv_message_handler: NULL as message pointer\n");
fa728fd38c00 When somebody sends me an image, I get some (depends on image size) empty
tomkiewicz@o2.pl
parents: 31397
diff changeset
1525 return;
fa728fd38c00 When somebody sends me an image, I get some (depends on image size) empty
tomkiewicz@o2.pl
parents: 31397
diff changeset
1526 }
fa728fd38c00 When somebody sends me an image, I get some (depends on image size) empty
tomkiewicz@o2.pl
parents: 31397
diff changeset
1527
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1528 from = g_strdup_printf("%lu", (unsigned long int)ev->event.msg.sender);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1529
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1530 /*
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1531 tmp = charset_convert((const char *)ev->event.msg.message,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1532 "CP1250", "UTF-8");
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1533 */
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1534 tmp = g_strdup_printf("%s", ev->event.msg.message);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1535 purple_str_strip_char(tmp, '\r');
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1536 msg = g_markup_escape_text(tmp, -1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1537 g_free(tmp);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1538
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1539 /* We got richtext message */
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1540 if (ev->event.msg.formats_length)
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1541 {
24484
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
1542 gboolean got_image = FALSE, bold = FALSE, italic = FALSE, under = FALSE;
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1543 char *cformats = (char *)ev->event.msg.formats;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1544 char *cformats_end = cformats + ev->event.msg.formats_length;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1545 gint increased_len = 0;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1546 struct gg_msg_richtext_format *actformat;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1547 struct gg_msg_richtext_image *actimage;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1548 GString *message = g_string_new(msg);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1549 gchar *handlerid;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1550
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1551 purple_debug_info("gg", "ggp_recv_message_handler: richtext msg from (%s): %s %i formats\n", from, msg, ev->event.msg.formats_length);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1552
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1553 while (cformats < cformats_end)
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1554 {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1555 gint byteoffset;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1556 actformat = (struct gg_msg_richtext_format *)cformats;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1557 cformats += sizeof(struct gg_msg_richtext_format);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1558 byteoffset = g_utf8_offset_to_pointer(message->str, actformat->position + increased_len) - message->str;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1559
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1560 if(actformat->position == 0 && actformat->font == 0) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1561 purple_debug_warning("gg", "ggp_recv_message_handler: bogus formatting (inc: %i)\n", increased_len);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1562 continue;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1563 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1564 purple_debug_info("gg", "ggp_recv_message_handler: format at pos: %i, image:%i, bold:%i, italic: %i, under:%i (inc: %i)\n",
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1565 actformat->position,
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1566 (actformat->font & GG_FONT_IMAGE) != 0,
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1567 (actformat->font & GG_FONT_BOLD) != 0,
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1568 (actformat->font & GG_FONT_ITALIC) != 0,
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1569 (actformat->font & GG_FONT_UNDERLINE) != 0,
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1570 increased_len);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1571
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1572 if (actformat->font & GG_FONT_IMAGE) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1573 got_image = TRUE;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1574 actimage = (struct gg_msg_richtext_image*)(cformats);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1575 cformats += sizeof(struct gg_msg_richtext_image);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1576 purple_debug_info("gg", "ggp_recv_message_handler: image received, size: %d, crc32: %i\n", actimage->size, actimage->crc32);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1577
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1578 /* Checking for errors, image size shouldn't be
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1579 * larger than 255.000 bytes */
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1580 if (actimage->size > 255000) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1581 purple_debug_warning("gg", "ggp_recv_message_handler: received image large than 255 kb\n");
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1582 continue;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1583 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1584
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1585 gg_image_request(info->session, ev->event.msg.sender,
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1586 actimage->size, actimage->crc32);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1587
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1588 handlerid = g_strdup_printf("<IMG ID=\"IMGID_HANDLER-%i\">", actimage->crc32);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1589 g_string_insert(message, byteoffset, handlerid);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1590 increased_len += strlen(handlerid);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1591 g_free(handlerid);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1592 continue;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1593 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1594
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1595 if (actformat->font & GG_FONT_BOLD) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1596 if (bold == FALSE) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1597 g_string_insert(message, byteoffset, "<b>");
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1598 increased_len += 3;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1599 bold = TRUE;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1600 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1601 } else if (bold) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1602 g_string_insert(message, byteoffset, "</b>");
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1603 increased_len += 4;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1604 bold = FALSE;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1605 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1606
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1607 if (actformat->font & GG_FONT_ITALIC) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1608 if (italic == FALSE) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1609 g_string_insert(message, byteoffset, "<i>");
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1610 increased_len += 3;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1611 italic = TRUE;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1612 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1613 } else if (italic) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1614 g_string_insert(message, byteoffset, "</i>");
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1615 increased_len += 4;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1616 italic = FALSE;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1617 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1618
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1619 if (actformat->font & GG_FONT_UNDERLINE) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1620 if (under == FALSE) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1621 g_string_insert(message, byteoffset, "<u>");
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1622 increased_len += 3;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1623 under = TRUE;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1624 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1625 } else if (under) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1626 g_string_insert(message, byteoffset, "</u>");
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1627 increased_len += 4;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1628 under = FALSE;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1629 }
31168
1607b413a139 gg: Prevent dropping whole messages when the text is colored. Fixes #13259.
quantifier666@gmail.com
parents: 31086
diff changeset
1630
1607b413a139 gg: Prevent dropping whole messages when the text is colored. Fixes #13259.
quantifier666@gmail.com
parents: 31086
diff changeset
1631 if (actformat->font & GG_FONT_COLOR) {
1607b413a139 gg: Prevent dropping whole messages when the text is colored. Fixes #13259.
quantifier666@gmail.com
parents: 31086
diff changeset
1632 cformats += sizeof(struct gg_msg_richtext_color);
1607b413a139 gg: Prevent dropping whole messages when the text is colored. Fixes #13259.
quantifier666@gmail.com
parents: 31086
diff changeset
1633 }
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1634 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1635
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1636 msg = message->str;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1637 g_string_free(message, FALSE);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1638
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1639 if (got_image) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1640 info->pending_richtext_messages = g_list_append(info->pending_richtext_messages, msg);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1641 return;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1642 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1643 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1644
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1645 purple_debug_info("gg", "ggp_recv_message_handler: msg from (%s): %s (class = %d; rcpt_count = %d)\n",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1646 from, msg, ev->event.msg.msgclass,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1647 ev->event.msg.recipients_count);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1648
32272
b01a41253fb6 Gadu-Gadu: Show local time for incoming messages. Fixes #4579
tomkiewicz@cpw.pidgin.im
parents: 32271
diff changeset
1649 if (ev->event.msg.msgclass & GG_CLASS_QUEUED)
b01a41253fb6 Gadu-Gadu: Show local time for incoming messages. Fixes #4579
tomkiewicz@cpw.pidgin.im
parents: 32271
diff changeset
1650 mtime = ev->event.msg.time;
b01a41253fb6 Gadu-Gadu: Show local time for incoming messages. Fixes #4579
tomkiewicz@cpw.pidgin.im
parents: 32271
diff changeset
1651 else
b01a41253fb6 Gadu-Gadu: Show local time for incoming messages. Fixes #4579
tomkiewicz@cpw.pidgin.im
parents: 32271
diff changeset
1652 mtime = time(NULL);
b01a41253fb6 Gadu-Gadu: Show local time for incoming messages. Fixes #4579
tomkiewicz@cpw.pidgin.im
parents: 32271
diff changeset
1653
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1654 if (ev->event.msg.recipients_count == 0) {
32272
b01a41253fb6 Gadu-Gadu: Show local time for incoming messages. Fixes #4579
tomkiewicz@cpw.pidgin.im
parents: 32271
diff changeset
1655 serv_got_im(gc, from, msg, 0, mtime);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1656 } else {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1657 const char *chat_name;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1658 int chat_id;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1659 char *buddy_name;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1660
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1661 chat_name = ggp_confer_find_by_participants(gc,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1662 ev->event.msg.recipients,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1663 ev->event.msg.recipients_count);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1664
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1665 if (chat_name == NULL) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1666 chat_name = ggp_confer_add_new(gc, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1667 serv_got_joined_chat(gc, info->chats_count, chat_name);
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 ggp_confer_participants_add_uin(gc, chat_name,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1670 ev->event.msg.sender);
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 ggp_confer_participants_add(gc, chat_name,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1673 ev->event.msg.recipients,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1674 ev->event.msg.recipients_count);
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 conv = ggp_confer_find_by_name(gc, chat_name);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1677 chat_id = purple_conv_chat_get_id(PURPLE_CONV_CHAT(conv));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1678
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1679 buddy_name = ggp_buddy_get_name(gc, ev->event.msg.sender);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1680 serv_got_chat_in(gc, chat_id, buddy_name,
32272
b01a41253fb6 Gadu-Gadu: Show local time for incoming messages. Fixes #4579
tomkiewicz@cpw.pidgin.im
parents: 32271
diff changeset
1681 PURPLE_MESSAGE_RECV, msg, mtime);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1682 g_free(buddy_name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1683 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1684 g_free(msg);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1685 g_free(from);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1686 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1687
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1688 static void ggp_send_image_handler(PurpleConnection *gc, const struct gg_event *ev)
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1689 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
1690 GGPInfo *info = purple_connection_get_protocol_data(gc);
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1691 PurpleStoredImage *image;
31429
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
1692 gint imgid = GPOINTER_TO_INT(g_hash_table_lookup(info->pending_images, GINT_TO_POINTER(ev->event.image_request.crc32)));
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
1693
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
1694 purple_debug_info("gg", "ggp_send_image_handler: image request received, crc32: %u, imgid: %d\n", ev->event.image_request.crc32, imgid);
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1695
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1696 if(imgid)
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1697 {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1698 if((image = purple_imgstore_find_by_id(imgid))) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1699 gint image_size = purple_imgstore_get_size(image);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1700 gconstpointer image_bin = purple_imgstore_get_data(image);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1701 const char *image_filename = purple_imgstore_get_filename(image);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1702
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1703 purple_debug_info("gg", "ggp_send_image_handler: sending image imgid: %i, crc: %u\n", imgid, ev->event.image_request.crc32);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1704 gg_image_reply(info->session, (unsigned long int)ev->event.image_request.sender, image_filename, image_bin, image_size);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1705 purple_imgstore_unref(image);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1706 } else {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1707 purple_debug_error("gg", "ggp_send_image_handler: image imgid: %i, crc: %u in hash but not found in imgstore!\n", imgid, ev->event.image_request.crc32);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1708 }
31429
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
1709 g_hash_table_remove(info->pending_images, GINT_TO_POINTER(ev->event.image_request.crc32));
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1710 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1711 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1712
31431
bcaa76a01b42 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
quantifier666@gmail.com
parents: 31429
diff changeset
1713 static void ggp_typing_notification_handler(PurpleConnection *gc, uin_t uin, int length) {
31594
dc1c25b81efd Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31529
diff changeset
1714 gchar *from;
dc1c25b81efd Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31529
diff changeset
1715
dc1c25b81efd Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31529
diff changeset
1716 from = g_strdup_printf("%u", uin);
dc1c25b81efd Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31529
diff changeset
1717 if (length)
dc1c25b81efd Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31529
diff changeset
1718 serv_got_typing(gc, from, 0, PURPLE_TYPING);
dc1c25b81efd Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31529
diff changeset
1719 else
dc1c25b81efd Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31529
diff changeset
1720 serv_got_typing_stopped(gc, from);
dc1c25b81efd Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31529
diff changeset
1721 g_free(from);
31431
bcaa76a01b42 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
quantifier666@gmail.com
parents: 31429
diff changeset
1722 }
bcaa76a01b42 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
quantifier666@gmail.com
parents: 31429
diff changeset
1723
31466
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1724 /**
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1725 * Handling of XML events.
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1726 *
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1727 * @param gc PurpleConnection.
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1728 * @param data Raw XML contents.
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1729 *
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1730 * @see http://toxygen.net/libgadu/protocol/#ch1.13
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1731 */
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1732 static void ggp_xml_event_handler(PurpleConnection *gc, char *data)
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1733 {
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1734 xmlnode *xml = NULL;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1735 xmlnode *xmlnode_next_event;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1736
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1737 xml = xmlnode_from_str(data, -1);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1738 if (xml == NULL)
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1739 goto out;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1740
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1741 xmlnode_next_event = xmlnode_get_child(xml, "event");
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1742 while (xmlnode_next_event != NULL)
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1743 {
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1744 xmlnode *xmlnode_current_event = xmlnode_next_event;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1745
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1746 xmlnode *xmlnode_type;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1747 char *event_type_raw;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1748 int event_type = 0;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1749
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1750 xmlnode *xmlnode_sender;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1751 char *event_sender_raw;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1752 uin_t event_sender = 0;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1753
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1754 xmlnode_next_event = xmlnode_get_next_twin(xmlnode_next_event);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1755
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1756 xmlnode_type = xmlnode_get_child(xmlnode_current_event, "type");
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1757 if (xmlnode_type == NULL)
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1758 continue;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1759 event_type_raw = xmlnode_get_data(xmlnode_type);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1760 if (event_type_raw != NULL)
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1761 event_type = atoi(event_type_raw);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1762 g_free(event_type_raw);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1763
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1764 xmlnode_sender = xmlnode_get_child(xmlnode_current_event, "sender");
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1765 if (xmlnode_sender != NULL)
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1766 {
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1767 event_sender_raw = xmlnode_get_data(xmlnode_sender);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1768 if (event_sender_raw != NULL)
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1769 event_sender = ggp_str_to_uin(event_sender_raw);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1770 g_free(event_sender_raw);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1771 }
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1772
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1773 switch (event_type)
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1774 {
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1775 case 28: /* avatar update */
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1776 purple_debug_info("gg",
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1777 "ggp_xml_event_handler: avatar updated (uid: %u)\n",
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1778 event_sender);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1779 ggp_update_buddy_avatar(gc, event_sender);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1780 break;
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1781 default:
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1782 purple_debug_error("gg",
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1783 "ggp_xml_event_handler: unsupported event type=%d from=%u\n",
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1784 event_type, event_sender);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1785 }
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1786 }
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1787
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1788 out:
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1789 if (xml)
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1790 xmlnode_free(xml);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1791 }
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1792
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1793 static void ggp_callback_recv(gpointer _gc, gint fd, PurpleInputCondition cond)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1794 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1795 PurpleConnection *gc = _gc;
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
1796 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1797 struct gg_event *ev;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1798 int i;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1799
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1800 if (!(ev = gg_watch_fd(info->session))) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1801 purple_debug_error("gg",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1802 "ggp_callback_recv: gg_watch_fd failed -- CRITICAL!\n");
31872
a5b556ac1de5 Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <mark@kingant.net>
parents: 31862
diff changeset
1803 purple_connection_error (gc,
21358
ba41f2a60253 Rename:
Will Thompson <will.thompson@collabora.co.uk>
parents: 20109
diff changeset
1804 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
1805 _("Unable to read from socket"));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1806 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1807 }
31462
277b7f1d6214 Don't update last_received when receiving data on gg. Fixes #13699.
quantifier666@gmail.com
parents: 31450
diff changeset
1808
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1809 switch (ev->type) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1810 case GG_EVENT_NONE:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1811 /* Nothing happened. */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1812 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1813 case GG_EVENT_MSG:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1814 ggp_recv_message_handler(gc, ev);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1815 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1816 case GG_EVENT_ACK:
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1817 /* Changing %u to %i fixes compiler warning */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1818 purple_debug_info("gg",
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1819 "ggp_callback_recv: message sent to: %i, delivery status=%d, seq=%d\n",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1820 ev->event.ack.recipient, ev->event.ack.status,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1821 ev->event.ack.seq);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1822 break;
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1823 case GG_EVENT_IMAGE_REPLY:
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1824 ggp_recv_image_handler(gc, ev);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1825 break;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1826 case GG_EVENT_IMAGE_REQUEST:
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1827 ggp_send_image_handler(gc, ev);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
1828 break;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1829 case GG_EVENT_NOTIFY:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1830 case GG_EVENT_NOTIFY_DESCR:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1831 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1832 struct gg_notify_reply *n;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1833 char *descr;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1834
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1835 purple_debug_info("gg", "notify_pre: (%d) status: %d\n",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1836 ev->event.notify->uin,
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1837 GG_S(ev->event.notify->status));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1838
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1839 n = (ev->type == GG_EVENT_NOTIFY) ? ev->event.notify
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1840 : ev->event.notify_descr.notify;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1841
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1842 for (; n->uin; n++) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1843 descr = (ev->type == GG_EVENT_NOTIFY) ? NULL
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1844 : ev->event.notify_descr.descr;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1845
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1846 purple_debug_info("gg",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1847 "notify: (%d) status: %d; descr: %s\n",
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1848 n->uin, GG_S(n->status), descr ? descr : "(null)");
15373
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 ggp_generic_status_handler(gc,
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1851 n->uin, GG_S(n->status), descr);
15373
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 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1854 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1855 case GG_EVENT_NOTIFY60:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1856 for (i = 0; ev->event.notify60[i].uin; i++) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1857 purple_debug_info("gg",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1858 "notify60: (%d) status=%d; version=%d; descr=%s\n",
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1859 ev->event.notify60[i].uin,
29722
0665d7eff0a3 gadu-gadu: (NULL)-like descriptions and packet size problems. Fixes #11676
kkszysiu@gmail.com
parents: 29544
diff changeset
1860 GG_S(ev->event.notify60[i].status),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1861 ev->event.notify60[i].version,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1862 ev->event.notify60[i].descr ? ev->event.notify60[i].descr : "(null)");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1863
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1864 ggp_generic_status_handler(gc, ev->event.notify60[i].uin,
29722
0665d7eff0a3 gadu-gadu: (NULL)-like descriptions and packet size problems. Fixes #11676
kkszysiu@gmail.com
parents: 29544
diff changeset
1865 GG_S(ev->event.notify60[i].status),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1866 ev->event.notify60[i].descr);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1867 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1868 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1869 case GG_EVENT_STATUS:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1870 purple_debug_info("gg", "status: (%d) status=%d; descr=%s\n",
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1871 ev->event.status.uin, GG_S(ev->event.status.status),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1872 ev->event.status.descr ? ev->event.status.descr : "(null)");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1873
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1874 ggp_generic_status_handler(gc, ev->event.status.uin,
29722
0665d7eff0a3 gadu-gadu: (NULL)-like descriptions and packet size problems. Fixes #11676
kkszysiu@gmail.com
parents: 29544
diff changeset
1875 GG_S(ev->event.status.status), ev->event.status.descr);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1876 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1877 case GG_EVENT_STATUS60:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1878 purple_debug_info("gg",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1879 "status60: (%d) status=%d; version=%d; descr=%s\n",
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1880 ev->event.status60.uin, GG_S(ev->event.status60.status),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1881 ev->event.status60.version,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1882 ev->event.status60.descr ? ev->event.status60.descr : "(null)");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1883
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1884 ggp_generic_status_handler(gc, ev->event.status60.uin,
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
1885 GG_S(ev->event.status60.status), ev->event.status60.descr);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1886 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1887 case GG_EVENT_USERLIST:
31594
dc1c25b81efd Small space to tab changes.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31529
diff changeset
1888 if (ev->event.userlist.type == GG_USERLIST_GET_REPLY) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1889 purple_debug_info("gg", "GG_USERLIST_GET_REPLY\n");
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1890 purple_notify_info(gc, NULL,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1891 _("Buddy list downloaded"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1892 _("Your buddy list was downloaded from the server."));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1893 if (ev->event.userlist.reply != NULL) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1894 ggp_buddylist_load(gc, ev->event.userlist.reply);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1895 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1896 } else {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1897 purple_debug_info("gg", "GG_USERLIST_PUT_REPLY\n");
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1898 purple_notify_info(gc, NULL,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1899 _("Buddy list uploaded"),
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1900 _("Your buddy list was stored on the server."));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1901 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1902 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1903 case GG_EVENT_PUBDIR50_SEARCH_REPLY:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1904 ggp_pubdir_reply_handler(gc, ev->event.pubdir50);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1905 break;
31431
bcaa76a01b42 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
quantifier666@gmail.com
parents: 31429
diff changeset
1906 case GG_EVENT_TYPING_NOTIFICATION:
bcaa76a01b42 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
quantifier666@gmail.com
parents: 31429
diff changeset
1907 ggp_typing_notification_handler(gc, ev->event.typing_notification.uin,
bcaa76a01b42 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
quantifier666@gmail.com
parents: 31429
diff changeset
1908 ev->event.typing_notification.length);
bcaa76a01b42 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
quantifier666@gmail.com
parents: 31429
diff changeset
1909 break;
31466
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1910 case GG_EVENT_XML_EVENT:
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1911 purple_debug_info("gg", "GG_EVENT_XML_EVENT\n");
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1912 ggp_xml_event_handler(gc, ev->event.xml_event.data);
64d1be114e02 Recently I found out a small issue: if another user changes it's avatar, we
tomkiewicz@o2.pl
parents: 31464
diff changeset
1913 break;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1914 default:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1915 purple_debug_error("gg",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1916 "unsupported event type=%d\n", ev->type);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1917 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1918 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1919
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1920 gg_free_event(ev);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1921 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1922
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1923 static void ggp_async_login_handler(gpointer _gc, gint fd, PurpleInputCondition cond)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1924 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1925 PurpleConnection *gc = _gc;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1926 GGPInfo *info;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1927 struct gg_event *ev;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1928
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1929 g_return_if_fail(PURPLE_CONNECTION_IS_VALID(gc));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1930
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
1931 info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1932
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1933 purple_debug_info("gg", "login_handler: session: check = %d; state = %d;\n",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1934 info->session->check, info->session->state);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1935
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1936 switch (info->session->state) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1937 case GG_STATE_RESOLVING:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1938 purple_debug_info("gg", "GG_STATE_RESOLVING\n");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1939 break;
31515
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
1940 case GG_STATE_RESOLVING_GG:
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
1941 purple_debug_info("gg", "GG_STATE_RESOLVING_GG\n");
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
1942 break;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1943 case GG_STATE_CONNECTING_HUB:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1944 purple_debug_info("gg", "GG_STATE_CONNECTING_HUB\n");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1945 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1946 case GG_STATE_READING_DATA:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1947 purple_debug_info("gg", "GG_STATE_READING_DATA\n");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1948 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1949 case GG_STATE_CONNECTING_GG:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1950 purple_debug_info("gg", "GG_STATE_CONNECTING_GG\n");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1951 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1952 case GG_STATE_READING_KEY:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1953 purple_debug_info("gg", "GG_STATE_READING_KEY\n");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1954 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1955 case GG_STATE_READING_REPLY:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1956 purple_debug_info("gg", "GG_STATE_READING_REPLY\n");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1957 break;
31515
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
1958 case GG_STATE_TLS_NEGOTIATION:
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
1959 purple_debug_info("gg", "GG_STATE_TLS_NEGOTIATION\n");
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
1960 break;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1961 default:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1962 purple_debug_error("gg", "unknown state = %d\n",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1963 info->session->state);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1964 break;
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
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1967 if (!(ev = gg_watch_fd(info->session))) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1968 purple_debug_error("gg", "login_handler: gg_watch_fd failed!\n");
31872
a5b556ac1de5 Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <mark@kingant.net>
parents: 31862
diff changeset
1969 purple_connection_error (gc,
21358
ba41f2a60253 Rename:
Will Thompson <will.thompson@collabora.co.uk>
parents: 20109
diff changeset
1970 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
1971 _("Unable to read from socket"));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1972 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1973 }
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1974 purple_debug_info("gg", "login_handler: session->fd = %d\n", info->session->fd);
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1975 purple_debug_info("gg", "login_handler: session: check = %d; state = %d;\n",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1976 info->session->check, info->session->state);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1977
32312
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
1978 purple_input_remove(info->inpa);
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
1979 info->inpa = 0;
15373
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 /** XXX I think that this shouldn't be done if ev->type is GG_EVENT_CONN_FAILED or GG_EVENT_CONN_SUCCESS -datallah */
31515
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
1982 if (info->session->fd >= 0)
32312
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
1983 info->inpa = purple_input_add(info->session->fd,
31515
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
1984 (info->session->check == 1) ? PURPLE_INPUT_WRITE :
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
1985 PURPLE_INPUT_READ,
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
1986 ggp_async_login_handler, gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1987
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1988 switch (ev->type) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1989 case GG_EVENT_NONE:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1990 /* Nothing happened. */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1991 purple_debug_info("gg", "GG_EVENT_NONE\n");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1992 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1993 case GG_EVENT_CONN_SUCCESS:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1994 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1995 purple_debug_info("gg", "GG_EVENT_CONN_SUCCESS\n");
32312
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
1996 purple_input_remove(info->inpa);
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
1997 info->inpa = purple_input_add(info->session->fd,
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
1998 PURPLE_INPUT_READ,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
1999 ggp_callback_recv, gc);
31086
a8cc50c2279f Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents: 29868
diff changeset
2000
27385
ac299d029823 Patch from kkszysiu to make the GG prpl support
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 27372
diff changeset
2001 ggp_buddylist_send(gc);
29868
fb6312881d56 gg: Fix misuse of update_progress. Fixes #11774
kkszysiu@gmail.com
parents: 29847
diff changeset
2002 purple_connection_update_progress(gc, _("Connected"), 1, 2);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2003 purple_connection_set_state(gc, PURPLE_CONNECTED);
15373
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 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2006 case GG_EVENT_CONN_FAILED:
32312
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
2007 purple_input_remove(info->inpa);
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
2008 info->inpa = 0;
32273
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2009 purple_debug_info("gg", "Connection failure: %d\n",
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2010 ev->event.failure);
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2011 switch (ev->event.failure) {
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2012 case GG_FAILURE_RESOLVING:
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2013 purple_connection_error(gc,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2014 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2015 _("Unable to resolve "
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2016 "hostname"));
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2017 break;
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2018 case GG_FAILURE_PASSWORD:
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2019 purple_connection_error(gc,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2020 PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2021 _("Incorrect password"));
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2022 break;
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2023 case GG_FAILURE_TLS:
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2024 purple_connection_error(gc,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2025 PURPLE_CONNECTION_ERROR_ENCRYPTION_ERROR,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2026 _("SSL Connection Failed"));
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2027 break;
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2028 case GG_FAILURE_INTRUDER:
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2029 purple_connection_error(gc,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2030 PURPLE_CONNECTION_ERROR_AUTHENTICATION_FAILED,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2031 _("Your account has been "
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2032 "disabled because too many "
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2033 "incorrect passwords were "
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2034 "entered"));
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2035 break;
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2036 case GG_FAILURE_UNAVAILABLE:
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2037 purple_connection_error(gc,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2038 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2039 _("Service temporarily "
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2040 "unavailable"));
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2041 break;
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2042 case GG_FAILURE_PROXY:
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2043 purple_connection_error(gc,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2044 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2045 _("Error connecting to proxy "
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2046 "server"));
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2047 break;
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2048 case GG_FAILURE_HUB:
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2049 purple_connection_error(gc,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2050 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2051 _("Error connecting to master "
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2052 "server"));
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2053 break;
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2054 default:
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2055 purple_connection_error(gc,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2056 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2057 _("Connection failed"));
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2058 }
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2059 break;
31663
df7a22ec0bc3 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
tomkiewicz@cpw.pidgin.im
parents: 31594
diff changeset
2060 case GG_EVENT_MSG:
df7a22ec0bc3 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
tomkiewicz@cpw.pidgin.im
parents: 31594
diff changeset
2061 if (ev->event.msg.sender == 0)
32274
1aebe64a412b Gadu-Gadu: check for NULL pointer before logging system messages.
tomkiewicz@cpw.pidgin.im
parents: 32273
diff changeset
2062 {
1aebe64a412b Gadu-Gadu: check for NULL pointer before logging system messages.
tomkiewicz@cpw.pidgin.im
parents: 32273
diff changeset
2063 if (ev->event.msg.message == NULL)
1aebe64a412b Gadu-Gadu: check for NULL pointer before logging system messages.
tomkiewicz@cpw.pidgin.im
parents: 32273
diff changeset
2064 break;
1aebe64a412b Gadu-Gadu: check for NULL pointer before logging system messages.
tomkiewicz@cpw.pidgin.im
parents: 32273
diff changeset
2065
31663
df7a22ec0bc3 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
tomkiewicz@cpw.pidgin.im
parents: 31594
diff changeset
2066 /* system messages are mostly ads */
df7a22ec0bc3 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
tomkiewicz@cpw.pidgin.im
parents: 31594
diff changeset
2067 purple_debug_info("gg", "System message:\n%s\n",
df7a22ec0bc3 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
tomkiewicz@cpw.pidgin.im
parents: 31594
diff changeset
2068 ev->event.msg.message);
32274
1aebe64a412b Gadu-Gadu: check for NULL pointer before logging system messages.
tomkiewicz@cpw.pidgin.im
parents: 32273
diff changeset
2069 }
31663
df7a22ec0bc3 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
tomkiewicz@cpw.pidgin.im
parents: 31594
diff changeset
2070 else
df7a22ec0bc3 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
tomkiewicz@cpw.pidgin.im
parents: 31594
diff changeset
2071 purple_debug_warning("gg", "GG_EVENT_MSG: message from user %u "
df7a22ec0bc3 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
tomkiewicz@cpw.pidgin.im
parents: 31594
diff changeset
2072 "unexpected while connecting:\n%s\n",
df7a22ec0bc3 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
tomkiewicz@cpw.pidgin.im
parents: 31594
diff changeset
2073 ev->event.msg.sender,
df7a22ec0bc3 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
tomkiewicz@cpw.pidgin.im
parents: 31594
diff changeset
2074 ev->event.msg.message);
df7a22ec0bc3 No more warnings when receiving Gadu-Gadu system messages - fixes #13914
tomkiewicz@cpw.pidgin.im
parents: 31594
diff changeset
2075 break;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2076 default:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2077 purple_debug_error("gg", "strange event: %d\n", ev->type);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2078 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2079 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2080
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2081 gg_free_event(ev);
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
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2084 /* ---------------------------------------------------------------------- */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2085 /* ----- PurplePluginProtocolInfo ----------------------------------------- */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2086 /* ---------------------------------------------------------------------- */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2087
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2088 static const char *ggp_list_icon(PurpleAccount *account, PurpleBuddy *buddy)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2089 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2090 return "gadu-gadu";
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
32279
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2093 static const char *ggp_normalize(const PurpleAccount *account, const char *who)
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2094 {
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2095 static char normalized[21]; /* maximum unsigned long long int size */
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2096
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2097 uin_t uin = ggp_str_to_uin(who);
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2098 if (uin <= 0)
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2099 return NULL;
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2100
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2101 g_snprintf(normalized, sizeof(normalized), "%u", uin);
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2102
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2103 return normalized;
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2104 }
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2105
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2106 static char *ggp_status_text(PurpleBuddy *b)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2107 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2108 PurpleStatus *status;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2109 const char *msg;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2110 char *text;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2111 char *tmp;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2112
31681
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
2113 status = purple_presence_get_active_status(
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
2114 purple_buddy_get_presence(b));
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2115 msg = purple_status_get_attr_string(status, "message");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2116
31681
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
2117 if (msg == NULL)
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
2118 return NULL;
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
2119
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
2120 tmp = purple_markup_strip_html(msg);
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
2121 text = g_markup_escape_text(tmp, -1);
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
2122 g_free(tmp);
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
2123
3e98b34853ee Better status message handling in Gadu-Gadu. Fixes #14314
tomkiewicz@cpw.pidgin.im
parents: 31670
diff changeset
2124 return text;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2125 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2126
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2127 static void ggp_tooltip_text(PurpleBuddy *b, PurpleNotifyUserInfo *user_info, gboolean full)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2128 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2129 PurpleStatus *status;
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
2130 char *tmp;
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2131 const char *msg, *name, *alias;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2132
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2133 g_return_if_fail(b != NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2134
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2135 status = purple_presence_get_active_status(purple_buddy_get_presence(b));
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2136 msg = purple_status_get_attr_string(status, "message");
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2137 name = purple_status_get_name(status);
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2138 alias = purple_buddy_get_alias(b);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2139
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
2140 purple_notify_user_info_add_pair_plaintext(user_info, _("Alias"), alias);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2141
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2142 if (msg != NULL) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2143 if (PURPLE_BUDDY_IS_ONLINE(b)) {
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
2144 tmp = g_strdup_printf("%s: %s", name, msg);
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
2145 purple_notify_user_info_add_pair_plaintext(user_info, _("Status"), tmp);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2146 g_free(tmp);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2147 } else {
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
2148 purple_notify_user_info_add_pair_plaintext(user_info, _("Message"), msg);
15373
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 /* We don't want to duplicate 'Status: Offline'. */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2151 } else if (PURPLE_BUDDY_IS_ONLINE(b)) {
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
2152 purple_notify_user_info_add_pair_plaintext(user_info, _("Status"), name);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2153 }
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
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2156 static GList *ggp_status_types(PurpleAccount *account)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2157 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2158 PurpleStatusType *type;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2159 GList *types = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2160
32280
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2161 type = purple_status_type_new_with_attrs(PURPLE_STATUS_AVAILABLE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2162 NULL, NULL, TRUE, TRUE, FALSE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2163 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2164 NULL);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2165 types = g_list_append(types, type);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2166
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2167 /*
32280
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2168 * New status for GG 8.0: PoGGadaj ze mna (chatty).
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2169 * NOTE: at this time, this is used only to set our own status.
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2170 */
32280
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2171 type = purple_status_type_new_with_attrs(PURPLE_STATUS_AVAILABLE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2172 "freeforchat", _("Chatty"), TRUE, TRUE, FALSE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2173 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2174 NULL);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2175 types = g_list_append(types, type);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2176
32280
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2177 type = purple_status_type_new_with_attrs(PURPLE_STATUS_AWAY,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2178 NULL, NULL, TRUE, TRUE, FALSE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2179 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2180 NULL);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2181 types = g_list_append(types, type);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2182
31904
3322201b446f I went through all our calls to purple_notify_user_info_add_pair() and
Mark Doliner <mark@kingant.net>
parents: 31872
diff changeset
2183 /*
32280
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2184 * New status for GG 8.0: Nie przeszkadzac (do not disturb).
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2185 */
32280
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2186 type = purple_status_type_new_with_attrs(PURPLE_STATUS_UNAVAILABLE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2187 NULL, NULL, TRUE, TRUE, FALSE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2188 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2189 NULL);
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2190 types = g_list_append(types, type);
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2191
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2192 /*
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2193 * It's used on buddy list if and only if it's showing our own
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2194 * (invisible) status.
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2195 */
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2196 type = purple_status_type_new_with_attrs(PURPLE_STATUS_INVISIBLE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2197 NULL, NULL, TRUE, TRUE, FALSE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2198 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2199 NULL);
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2200 types = g_list_append(types, type);
31086
a8cc50c2279f Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents: 29868
diff changeset
2201
15373
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 * This status is necessary to display guys who are blocking *us*.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2204 */
32280
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2205 type = purple_status_type_new_with_attrs(PURPLE_STATUS_INVISIBLE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2206 "blocked", _("Blocked"), TRUE, FALSE, FALSE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2207 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2208 NULL);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2209 types = g_list_append(types, type);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2210
32280
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2211 type = purple_status_type_new_with_attrs(PURPLE_STATUS_OFFLINE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2212 NULL, NULL, TRUE, TRUE, FALSE,
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2213 "message", _("Message"), purple_value_new(PURPLE_TYPE_STRING),
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2214 NULL);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2215 types = g_list_append(types, type);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2216
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2217 return types;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2218 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2219
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2220 static GList *ggp_blist_node_menu(PurpleBlistNode *node)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2221 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2222 PurpleMenuAction *act;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2223 GList *m = NULL;
25323
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
2224 PurpleAccount *account;
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2225 PurpleConnection *gc;
25323
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
2226 GGPInfo *info;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2227
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2228 if (!PURPLE_BLIST_NODE_IS_BUDDY(node))
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2229 return NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2230
25323
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
2231 account = purple_buddy_get_account((PurpleBuddy *) node);
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2232 gc = purple_account_get_connection(account);
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2233 info = purple_connection_get_protocol_data(gc);
25323
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
2234 if (info->chats) {
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
2235 act = purple_menu_action_new(_("Add to chat"),
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
2236 PURPLE_CALLBACK(ggp_bmenu_add_to_chat),
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
2237 NULL, NULL);
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
2238 m = g_list_append(m, act);
051fe71c3d8f Fix some bogocity related to the GG "Add To Chat" menu item. Fixes #8112.
Daniel Atallah <daniel.atallah@gmail.com>
parents: 24485
diff changeset
2239 }
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2240
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2241 return m;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2242 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2243
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2244 static GList *ggp_chat_info(PurpleConnection *gc)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2245 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2246 GList *m = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2247 struct proto_chat_entry *pce;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2248
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2249 pce = g_new0(struct proto_chat_entry, 1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2250 pce->label = _("Chat _name:");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2251 pce->identifier = "name";
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2252 pce->required = TRUE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2253 m = g_list_append(m, pce);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2254
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2255 return m;
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
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2258 static void ggp_login(PurpleAccount *account)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2259 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2260 PurpleConnection *gc;
23241
56d88bfeed76 Restore status on login on GG, rather than setting Available first.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23240
diff changeset
2261 PurplePresence *presence;
56d88bfeed76 Restore status on login on GG, rather than setting Available first.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23240
diff changeset
2262 PurpleStatus *status;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2263 struct gg_login_params *glp;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2264 GGPInfo *info;
27036
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2265 const char *address;
31515
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2266 const gchar *encryption_type;
15373
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 if (ggp_setup_proxy(account) == -1)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2269 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2270
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2271 gc = purple_account_get_connection(account);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2272 glp = g_new0(struct gg_login_params, 1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2273 info = g_new0(GGPInfo, 1);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2274
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2275 /* Probably this should be moved to *_new() function. */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2276 info->session = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2277 info->chats = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2278 info->chats_count = 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2279 info->token = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2280 info->searches = ggp_search_new();
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2281 info->pending_richtext_messages = NULL;
31429
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
2282 info->pending_images = g_hash_table_new(g_direct_hash, g_direct_equal);
31350
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
2283 info->status_broadcasting = purple_account_get_bool(account, "status_broadcasting", TRUE);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
2284
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2285 purple_connection_set_protocol_data(gc, info);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2286
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2287 glp->uin = ggp_get_uin(account);
32275
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
2288 glp->password = charset_convert(purple_account_get_password(account),
03a55a2997d1 Gadu-Gadu: Fixed password change dialog and problems with connecting to accounts with non-ASCII passwords. Fixes #14652
tomkiewicz@cpw.pidgin.im
parents: 32274
diff changeset
2289 "UTF-8", "CP1250");
32273
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2290
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2291 if (glp->uin == 0) {
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2292 purple_connection_error(gc,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2293 PURPLE_CONNECTION_ERROR_INVALID_USERNAME,
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2294 _("The username specified is invalid."));
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2295 g_free(glp);
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2296 return;
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2297 }
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2298
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2299 glp->image_size = 255;
32278
9740dd029827 Gadu-Gadu: option to show links from strangers. Fixes #10591
tomkiewicz@cpw.pidgin.im
parents: 32277
diff changeset
2300 glp->status_flags = GG_STATUS_FLAG_UNKNOWN;
9740dd029827 Gadu-Gadu: option to show links from strangers. Fixes #10591
tomkiewicz@cpw.pidgin.im
parents: 32277
diff changeset
2301
9740dd029827 Gadu-Gadu: option to show links from strangers. Fixes #10591
tomkiewicz@cpw.pidgin.im
parents: 32277
diff changeset
2302 if (purple_account_get_bool(account, "show_links_from_strangers", 1))
9740dd029827 Gadu-Gadu: option to show links from strangers. Fixes #10591
tomkiewicz@cpw.pidgin.im
parents: 32277
diff changeset
2303 glp->status_flags |= GG_STATUS_FLAG_SPAM;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2304
23241
56d88bfeed76 Restore status on login on GG, rather than setting Available first.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23240
diff changeset
2305 presence = purple_account_get_presence(account);
56d88bfeed76 Restore status on login on GG, rather than setting Available first.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23240
diff changeset
2306 status = purple_presence_get_active_status(presence);
56d88bfeed76 Restore status on login on GG, rather than setting Available first.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23240
diff changeset
2307
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2308 glp->encoding = GG_ENCODING_UTF8;
31431
bcaa76a01b42 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
quantifier666@gmail.com
parents: 31429
diff changeset
2309 glp->protocol_features = (GG_FEATURE_STATUS80|GG_FEATURE_DND_FFC
bcaa76a01b42 Gadu-Gadu: Support receiving typing indications. Fixes #13362.
quantifier666@gmail.com
parents: 31429
diff changeset
2310 |GG_FEATURE_TYPING_NOTIFICATION);
31086
a8cc50c2279f Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents: 29868
diff changeset
2311
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2312 glp->async = 1;
23241
56d88bfeed76 Restore status on login on GG, rather than setting Available first.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23240
diff changeset
2313 glp->status = ggp_to_gg_status(status, &glp->status_descr);
31515
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2314
32270
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2315 encryption_type = purple_account_get_string(account, "encryption",
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2316 "opportunistic_tls");
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2317 purple_debug_info("gg", "Requested encryption type: %s\n",
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2318 encryption_type);
31515
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2319 if (strcmp(encryption_type, "opportunistic_tls") == 0)
32270
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2320 glp->tls = GG_SSL_ENABLED;
32273
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2321 else if (strcmp(encryption_type, "require_tls") == 0) {
32270
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2322 if (gg_libgadu_check_feature(GG_LIBGADU_FEATURE_SSL))
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2323 glp->tls = GG_SSL_REQUIRED;
32273
309b2362c7d8 Gadu-Gadu: detailed descriptions on connection failures. Fixes #14648
tomkiewicz@cpw.pidgin.im
parents: 32272
diff changeset
2324 else {
32270
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2325 purple_connection_error(gc,
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2326 PURPLE_CONNECTION_ERROR_NO_SSL_SUPPORT,
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2327 _("SSL support unavailable"));
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2328 g_free(glp);
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2329 return;
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2330 }
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2331 }
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2332 else /* encryption_type == "none" */
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2333 glp->tls = GG_SSL_DISABLED;
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2334 purple_debug_info("gg", "TLS mode: %d\n", glp->tls);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2335
31350
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
2336 if (!info->status_broadcasting)
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
2337 glp->status = glp->status|GG_STATUS_FRIENDS_MASK;
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
2338
27036
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2339 address = purple_account_get_string(account, "gg_server", "");
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2340 if (address && *address) {
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
2341 /* TODO: Make this non-blocking */
27036
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2342 struct in_addr *addr = gg_gethostbyname(address);
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2343
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2344 purple_debug_info("gg", "Using gg server given by user (%s)\n", address);
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2345
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2346 if (addr == NULL) {
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
2347 gchar *tmp = g_strdup_printf(_("Unable to resolve hostname '%s': %s"),
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
2348 address, g_strerror(errno));
31872
a5b556ac1de5 Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <mark@kingant.net>
parents: 31862
diff changeset
2349 purple_connection_error(gc,
27036
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2350 PURPLE_CONNECTION_ERROR_NETWORK_ERROR, /* should this be a settings error? */
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
2351 tmp);
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
2352 g_free(tmp);
27036
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2353 return;
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2354 }
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2355
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2356 glp->server_addr = inet_addr(inet_ntoa(*addr));
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2357 glp->server_port = 8074;
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2358 } else
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2359 purple_debug_info("gg", "Trying to retrieve address from gg appmsg service\n");
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2360
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2361 info->session = gg_login(glp);
31086
a8cc50c2279f Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents: 29868
diff changeset
2362 purple_connection_update_progress(gc, _("Connecting"), 0, 2);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2363 if (info->session == NULL) {
31872
a5b556ac1de5 Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <mark@kingant.net>
parents: 31862
diff changeset
2364 purple_connection_error (gc,
21358
ba41f2a60253 Rename:
Will Thompson <will.thompson@collabora.co.uk>
parents: 20109
diff changeset
2365 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
2366 _("Connection failed"));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2367 g_free(glp);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2368 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2369 }
32312
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
2370 info->inpa = purple_input_add(info->session->fd, PURPLE_INPUT_READ,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2371 ggp_async_login_handler, gc);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2372 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2373
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2374 static void ggp_close(PurpleConnection *gc)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2375 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2376 PurpleAccount *account;
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2377 GGPInfo *info;;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2378
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2379 if (gc == NULL) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2380 purple_debug_info("gg", "gc == NULL\n");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2381 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2382 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2383
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2384 account = purple_connection_get_account(gc);
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2385 info = purple_connection_get_protocol_data(gc);
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2386
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2387 if (info) {
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2388 PurpleStatus *status = purple_account_get_active_status(account);
15373
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 if (info->session != NULL) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2391 ggp_set_status(account, status);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2392 gg_logoff(info->session);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2393 gg_free_session(info->session);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2394 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2395
31350
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
2396 purple_account_set_bool(account, "status_broadcasting", info->status_broadcasting);
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
2397
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2398 /* Immediately close any notifications on this handle since that process depends
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2399 * upon the contents of info->searches, which we are about to destroy.
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2400 */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2401 purple_notify_close_with_handle(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2402
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2403 ggp_search_destroy(info->searches);
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2404 g_list_free(info->pending_richtext_messages);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2405 g_hash_table_destroy(info->pending_images);
32312
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
2406
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
2407 if (info->inpa > 0)
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
2408 purple_input_remove(info->inpa);
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
2409
f236f3fce0d8 GG: Move the "inpa" input watcher into protocol_data.
andrew.victor@mxit.com
parents: 32305
diff changeset
2410 purple_connection_set_protocol_data(gc, NULL);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2411 g_free(info);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2412 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2413
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2414 purple_debug_info("gg", "Connection closed.\n");
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2415 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2416
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2417 static int ggp_send_im(PurpleConnection *gc, const char *who, const char *msg,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2418 PurpleMessageFlags flags)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2419 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2420 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2421 char *tmp, *plain;
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2422 int ret = 1;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2423 unsigned char format[1024];
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2424 unsigned int format_length = sizeof(struct gg_msg_richtext);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2425 gint pos = 0;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2426 GData *attribs;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2427 const char *start, *end = NULL, *last;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2428
24485
c83ee78ecbe7 Fix two warnings introduced by the image patch I committed earlier and make
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24484
diff changeset
2429 if (msg == NULL || *msg == '\0') {
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2430 return 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2431 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2432
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2433 last = msg;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2434
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2435 /* Check if the message is richtext */
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2436 /* TODO: Check formatting, too */
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2437 if(purple_markup_find_tag("img", last, &start, &end, &attribs)) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2438
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2439 GString *string_buffer = g_string_new(NULL);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2440 struct gg_msg_richtext fmt;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2441
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2442 do {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2443 PurpleStoredImage *image;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2444 const char *id;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2445
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2446 /* Add text before the image */
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2447 if(start - last) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2448 pos = pos + g_utf8_strlen(last, start - last);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2449 g_string_append_len(string_buffer, last, start - last);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2450 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2451
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2452 if((id = g_datalist_get_data(&attribs, "id")) && (image = purple_imgstore_find_by_id(atoi(id)))) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2453 struct gg_msg_richtext_format actformat;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2454 struct gg_msg_richtext_image actimage;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2455 gint image_size = purple_imgstore_get_size(image);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2456 gconstpointer image_bin = purple_imgstore_get_data(image);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2457 const char *image_filename = purple_imgstore_get_filename(image);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2458 uint32_t crc32 = gg_crc32(0, image_bin, image_size);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2459
31429
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
2460 g_hash_table_insert(info->pending_images, GINT_TO_POINTER(crc32), GINT_TO_POINTER(atoi(id)));
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2461 purple_imgstore_ref(image);
31429
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
2462 purple_debug_info("gg", "ggp_send_im_richtext: got crc: %u for imgid: %i\n", crc32, atoi(id));
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2463
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2464 actformat.font = GG_FONT_IMAGE;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2465 actformat.position = pos;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2466
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2467 actimage.unknown1 = 0x0109;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2468 actimage.size = gg_fix32(image_size);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2469 actimage.crc32 = gg_fix32(crc32);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2470
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2471 if (actimage.size > 255000) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2472 purple_debug_warning("gg", "ggp_send_im_richtext: image over 255kb!\n");
31429
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
2473 } else {
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
2474 purple_debug_info("gg", "ggp_send_im_richtext: adding images to richtext, size: %i, crc32: %u, name: %s\n", actimage.size, actimage.crc32, image_filename);
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
2475
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
2476 memcpy(format + format_length, &actformat, sizeof(actformat));
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
2477 format_length += sizeof(actformat);
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
2478 memcpy(format + format_length, &actimage, sizeof(actimage));
dc63d77fea03 Gadu-Gadu: Fix sending inline images to remote users. Also fix sending images
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31412
diff changeset
2479 format_length += sizeof(actimage);
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2480 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2481 } else {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2482 purple_debug_error("gg", "ggp_send_im_richtext: image not found in the image store!");
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2483 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2484
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2485 last = end + 1;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2486 g_datalist_clear(&attribs);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2487
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2488 } while(purple_markup_find_tag("img", last, &start, &end, &attribs));
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2489
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2490 /* Add text after the images */
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2491 if(last && *last) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2492 pos = pos + g_utf8_strlen(last, -1);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2493 g_string_append(string_buffer, last);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2494 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2495
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2496 fmt.flag = 2;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2497 fmt.length = format_length - sizeof(fmt);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2498 memcpy(format, &fmt, sizeof(fmt));
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2499
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2500 purple_debug_info("gg", "ggp_send_im: richtext msg = %s\n", string_buffer->str);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2501 plain = purple_unescape_html(string_buffer->str);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2502 g_string_free(string_buffer, TRUE);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2503 } else {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2504 purple_debug_info("gg", "ggp_send_im: msg = %s\n", msg);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2505 plain = purple_unescape_html(msg);
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2506 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2507
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2508 /*
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2509 tmp = charset_convert(plain, "UTF-8", "CP1250");
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2510 */
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2511 tmp = g_strdup_printf("%s", plain);
31086
a8cc50c2279f Remove trailing whitespace
Richard Laager <rlaager@wiktel.com>
parents: 29868
diff changeset
2512
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2513 if (tmp && (format_length - sizeof(struct gg_msg_richtext))) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2514 if(gg_send_message_richtext(info->session, GG_CLASS_CHAT, ggp_str_to_uin(who), (unsigned char *)tmp, format, format_length) < 0) {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2515 ret = -1;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2516 } else {
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2517 ret = 1;
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2518 }
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2519 } else if (NULL == tmp || *tmp == 0) {
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2520 ret = 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2521 } else if (strlen(tmp) > GG_MSG_MAXSIZE) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2522 ret = -E2BIG;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2523 } else if (gg_send_message(info->session, GG_CLASS_CHAT,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2524 ggp_str_to_uin(who), (unsigned char *)tmp) < 0) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2525 ret = -1;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2526 } else {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2527 ret = 1;
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
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2530 g_free(plain);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2531 g_free(tmp);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2532
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2533 return ret;
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
31449
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2536 static unsigned int ggp_send_typing(PurpleConnection *gc, const char *name, PurpleTypingState state)
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2537 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2538 GGPInfo *info = purple_connection_get_protocol_data(gc);
31449
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2539 int dummy_length; // we don't send real length of typed message
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2540
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2541 if (state == PURPLE_TYPED) // not supported
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2542 return 1;
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2543
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2544 if (state == PURPLE_TYPING)
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2545 dummy_length = (int)g_random_int();
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2546 else // PURPLE_NOT_TYPING
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2547 dummy_length = 0;
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2548
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2549 gg_typing_notification(
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2550 info->session,
31449
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2551 ggp_str_to_uin(name),
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2552 dummy_length);
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2553
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2554 return 1; // wait 1 second before another notification
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2555 }
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2556
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2557 static void ggp_get_info(PurpleConnection *gc, const char *name)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2558 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2559 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2560 GGPSearchForm *form;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2561 guint32 seq;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2562
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2563 form = ggp_search_form_new(GGP_SEARCH_TYPE_INFO);
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 form->user_data = info;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2566 form->uin = g_strdup(name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2567
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2568 seq = ggp_search_start(gc, form);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2569 ggp_search_add(info->searches, seq, form);
23442
56cf59d028f7 Gadu-Gadu Get Info isn't behaving properly. Added debug logging to its traking
Evan Schoenberg <evan.s@dreskin.net>
parents: 23241
diff changeset
2570 purple_debug_info("gg", "ggp_get_info(): Added seq %u", seq);
15373
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
23239
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2573 static int ggp_to_gg_status(PurpleStatus *status, char **msg)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2574 {
23239
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2575 const char *status_id = purple_status_get_id(status);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2576 int new_status, new_status_descr;
23239
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2577 const char *new_msg;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2578
23896
4b920b9ea9ca Fixed an inverted g_return_val_if_fail() which caused gadu-gadu to always set an available status with no status message
Evan Schoenberg <evan.s@dreskin.net>
parents: 23442
diff changeset
2579 g_return_val_if_fail(msg != NULL, 0);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2580
23239
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2581 purple_debug_info("gg", "ggp_to_gg_status: Requested status = %s\n",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2582 status_id);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2583
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2584 if (strcmp(status_id, "available") == 0) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2585 new_status = GG_STATUS_AVAIL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2586 new_status_descr = GG_STATUS_AVAIL_DESCR;
32280
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2587 } else if (strcmp(status_id, "freeforchat") == 0) {
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2588 new_status = GG_STATUS_FFC;
26ffd7fdba7d Gadu-Gadu: better handling of invisible and chatty statuses. Fixes #13836
tomkiewicz@cpw.pidgin.im
parents: 32279
diff changeset
2589 new_status_descr = GG_STATUS_FFC_DESCR;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2590 } else if (strcmp(status_id, "away") == 0) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2591 new_status = GG_STATUS_BUSY;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2592 new_status_descr = GG_STATUS_BUSY_DESCR;
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2593 } else if (strcmp(status_id, "unavailable") == 0) {
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2594 new_status = GG_STATUS_DND;
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2595 new_status_descr = GG_STATUS_DND_DESCR;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2596 } else if (strcmp(status_id, "invisible") == 0) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2597 new_status = GG_STATUS_INVISIBLE;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2598 new_status_descr = GG_STATUS_INVISIBLE_DESCR;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2599 } else if (strcmp(status_id, "offline") == 0) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2600 new_status = GG_STATUS_NOT_AVAIL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2601 new_status_descr = GG_STATUS_NOT_AVAIL_DESCR;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2602 } else {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2603 new_status = GG_STATUS_AVAIL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2604 new_status_descr = GG_STATUS_AVAIL_DESCR;
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2605 purple_debug_info("gg",
23239
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2606 "ggp_set_status: unknown status requested (status_id=%s)\n",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2607 status_id);
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
23239
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2610 new_msg = purple_status_get_attr_string(status, "message");
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2611
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2612 if(new_msg) {
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2613 /*
23239
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2614 char *tmp = purple_markup_strip_html(new_msg);
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2615 *msg = charset_convert(tmp, "UTF-8", "CP1250");
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2616 g_free(tmp);
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2617 */
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2618 *msg = purple_markup_strip_html(new_msg);
23239
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2619
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2620 return new_status_descr;
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2621 } else {
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2622 *msg = NULL;
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2623 return new_status;
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2624 }
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2625 }
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2626
23239
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2627 static void ggp_set_status(PurpleAccount *account, PurpleStatus *status)
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2628 {
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2629 PurpleConnection *gc;
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2630 GGPInfo *info;
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2631 int new_status;
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2632 char *new_msg = NULL;
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2633
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2634 if (!purple_status_is_active(status))
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2635 return;
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2636
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2637 gc = purple_account_get_connection(account);
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2638 info = purple_connection_get_protocol_data(gc);
23239
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2639
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2640 new_status = ggp_to_gg_status(status, &new_msg);
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2641
31350
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
2642 if (!info->status_broadcasting)
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
2643 new_status = new_status|GG_STATUS_FRIENDS_MASK;
64b362d1c49e Gadu-Gadu: Allow showing your status only to people on your buddy list.
mateuszpiekos@gmail.com
parents: 31168
diff changeset
2644
23239
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2645 if (new_msg == NULL) {
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2646 gg_change_status(info->session, new_status);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2647 } else {
23239
636a116113d1 Extract converting a PurpleStatus to GG's format to its own function.
Will Thompson <will.thompson@collabora.co.uk>
parents: 23238
diff changeset
2648 gg_change_status_descr(info->session, new_status, new_msg);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2649 g_free(new_msg);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2650 }
21061
1d92b85ef5d9 gg: Properly display your status in the buddylist.
Bartoz Oler <bartosz@pidgin.im>
parents: 21030
diff changeset
2651
1d92b85ef5d9 gg: Properly display your status in the buddylist.
Bartoz Oler <bartosz@pidgin.im>
parents: 21030
diff changeset
2652 ggp_status_fake_to_self(account);
1d92b85ef5d9 gg: Properly display your status in the buddylist.
Bartoz Oler <bartosz@pidgin.im>
parents: 21030
diff changeset
2653
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2654 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2655
32031
cd1d9e04c587 Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31980
diff changeset
2656 static void ggp_add_buddy(PurpleConnection *gc, PurpleBuddy *buddy, PurpleGroup *group, const char *message)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2657 {
21061
1d92b85ef5d9 gg: Properly display your status in the buddylist.
Bartoz Oler <bartosz@pidgin.im>
parents: 21030
diff changeset
2658 PurpleAccount *account;
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2659 GGPInfo *info = purple_connection_get_protocol_data(gc);
25792
4d20fa86455b moved gg to use the api rather than structs directly
Gary Kramlich <grim@reaperworld.com>
parents: 23896
diff changeset
2660 const gchar *name = purple_buddy_get_name(buddy);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2661
25792
4d20fa86455b moved gg to use the api rather than structs directly
Gary Kramlich <grim@reaperworld.com>
parents: 23896
diff changeset
2662 gg_add_notify(info->session, ggp_str_to_uin(name));
21061
1d92b85ef5d9 gg: Properly display your status in the buddylist.
Bartoz Oler <bartosz@pidgin.im>
parents: 21030
diff changeset
2663
1d92b85ef5d9 gg: Properly display your status in the buddylist.
Bartoz Oler <bartosz@pidgin.im>
parents: 21030
diff changeset
2664 account = purple_connection_get_account(gc);
25792
4d20fa86455b moved gg to use the api rather than structs directly
Gary Kramlich <grim@reaperworld.com>
parents: 23896
diff changeset
2665 if (strcmp(purple_account_get_username(account), name) == 0) {
21061
1d92b85ef5d9 gg: Properly display your status in the buddylist.
Bartoz Oler <bartosz@pidgin.im>
parents: 21030
diff changeset
2666 ggp_status_fake_to_self(account);
1d92b85ef5d9 gg: Properly display your status in the buddylist.
Bartoz Oler <bartosz@pidgin.im>
parents: 21030
diff changeset
2667 }
15373
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
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2670 static void ggp_remove_buddy(PurpleConnection *gc, PurpleBuddy *buddy,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2671 PurpleGroup *group)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2672 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2673 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2674
25792
4d20fa86455b moved gg to use the api rather than structs directly
Gary Kramlich <grim@reaperworld.com>
parents: 23896
diff changeset
2675 gg_remove_notify(info->session, ggp_str_to_uin(purple_buddy_get_name(buddy)));
15373
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
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2678 static void ggp_join_chat(PurpleConnection *gc, GHashTable *data)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2679 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2680 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2681 GGPChat *chat;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2682 char *chat_name;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2683 GList *l;
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2684 PurpleConversation *conv;
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2685 PurpleAccount *account = purple_connection_get_account(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2686
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2687 chat_name = g_hash_table_lookup(data, "name");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2688
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2689 if (chat_name == NULL)
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2690 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2691
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2692 purple_debug_info("gg", "joined %s chat\n", chat_name);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2693
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2694 for (l = info->chats; l != NULL; l = l->next) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2695 chat = l->data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2696
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2697 if (chat != NULL && g_utf8_collate(chat->name, chat_name) == 0) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2698 purple_notify_error(gc, _("Chat error"),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2699 _("This chat name is already in use"), NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2700 return;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2701 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2702 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2703
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2704 ggp_confer_add_new(gc, chat_name);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2705 conv = serv_got_joined_chat(gc, info->chats_count, chat_name);
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2706 purple_conv_chat_add_user(PURPLE_CONV_CHAT(conv),
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2707 purple_account_get_username(account), NULL,
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2708 PURPLE_CBFLAGS_NONE, TRUE);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2709 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2710
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2711 static char *ggp_get_chat_name(GHashTable *data) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2712 return g_strdup(g_hash_table_lookup(data, "name"));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2713 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2714
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2715 static int ggp_chat_send(PurpleConnection *gc, int id, const char *message, PurpleMessageFlags flags)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2716 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2717 PurpleConversation *conv;
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2718 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2719 GGPChat *chat = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2720 GList *l;
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2721 /* char *msg, *plain; */
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2722 gchar *msg;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2723 uin_t *uins;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2724 int count = 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2725
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2726 if ((conv = purple_find_chat(gc, id)) == NULL)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2727 return -EINVAL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2728
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2729 for (l = info->chats; l != NULL; l = l->next) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2730 chat = l->data;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2731
32238
1f68af4afe67 Use purple_conversation accessor methods.
andrew.victor@mxit.com
parents: 32218
diff changeset
2732 if (g_utf8_collate(chat->name, purple_conversation_get_name(conv)) == 0) {
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2733 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2734 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2735
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2736 chat = NULL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2737 }
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 if (chat == NULL) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2740 purple_debug_error("gg",
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2741 "ggp_chat_send: Hm... that's strange. No such chat?\n");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2742 return -EINVAL;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2743 }
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 uins = g_new0(uin_t, g_list_length(chat->participants));
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2746
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2747 for (l = chat->participants; l != NULL; l = l->next) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2748 uin_t uin = GPOINTER_TO_INT(l->data);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2749
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2750 uins[count++] = uin;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2751 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2752
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2753 /*
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2754 plain = purple_unescape_html(message);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2755 msg = charset_convert(plain, "UTF-8", "CP1250");
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2756 g_free(plain);
29544
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2757 */
818f2845ab47 Finish making libgadu compile on Windows. Fixes #10542 finally!
kkszysiu@gmail.com
parents: 29460
diff changeset
2758 msg = purple_unescape_html(message);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2759 gg_send_message_confer(info->session, GG_CLASS_CHAT, count, uins,
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2760 (unsigned char *)msg);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2761 g_free(msg);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2762 g_free(uins);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2763
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2764 serv_got_chat_in(gc, id,
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2765 purple_account_get_username(purple_connection_get_account(gc)),
23152
caa533b62902 When calling serv_got_chat_in() after sending a group chat message (to let
Evan Schoenberg <evan.s@dreskin.net>
parents: 23110
diff changeset
2766 flags, message, time(NULL));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2767
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2768 return 0;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2769 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2770
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2771 static void ggp_keepalive(PurpleConnection *gc)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2772 {
31980
aee8dcd35262 Convert gg prpl to use accessor functions purple_connection_get_protocol_data() and purple_connection_set_protocol_data().
andrew.victor@mxit.com
parents: 31907
diff changeset
2773 GGPInfo *info = purple_connection_get_protocol_data(gc);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2774
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2775 /* purple_debug_info("gg", "Keeping connection alive....\n"); */
15373
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 (gg_ping(info->session) < 0) {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2778 purple_debug_info("gg", "Not connected to the server "
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2779 "or gg_session is not correct\n");
31872
a5b556ac1de5 Rename purple_connection_error_reason to purple_connection_error
Mark Doliner <mark@kingant.net>
parents: 31862
diff changeset
2780 purple_connection_error (gc,
21358
ba41f2a60253 Rename:
Will Thompson <will.thompson@collabora.co.uk>
parents: 20109
diff changeset
2781 PURPLE_CONNECTION_ERROR_NETWORK_ERROR,
27372
7fd1b4c73310 Connection error message changes for gg, and a few other strings changes.
Mark Doliner <mark@kingant.net>
parents: 27164
diff changeset
2782 _("Not connected to the server"));
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2783 }
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
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2786 static void ggp_register_user(PurpleAccount *account)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2787 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2788 PurpleConnection *gc = purple_account_get_connection(account);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2789
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2790 ggp_token_request(gc, ggp_register_user_dialog);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2791 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2792
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2793 static GList *ggp_actions(PurplePlugin *plugin, gpointer context)
15373
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 GList *m = NULL;
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2796 PurplePluginAction *act;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2797
32277
2b3b3ffc9d28 Gadu-Gadu: reorder actions to clean up the mess in gg account menu
tomkiewicz@cpw.pidgin.im
parents: 32276
diff changeset
2798 act = purple_plugin_action_new(_("Change password..."),
2b3b3ffc9d28 Gadu-Gadu: reorder actions to clean up the mess in gg account menu
tomkiewicz@cpw.pidgin.im
parents: 32276
diff changeset
2799 ggp_change_passwd);
2b3b3ffc9d28 Gadu-Gadu: reorder actions to clean up the mess in gg account menu
tomkiewicz@cpw.pidgin.im
parents: 32276
diff changeset
2800 m = g_list_append(m, act);
2b3b3ffc9d28 Gadu-Gadu: reorder actions to clean up the mess in gg account menu
tomkiewicz@cpw.pidgin.im
parents: 32276
diff changeset
2801
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2802 act = purple_plugin_action_new(_("Find buddies..."),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2803 ggp_find_buddies);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2804 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2805
32277
2b3b3ffc9d28 Gadu-Gadu: reorder actions to clean up the mess in gg account menu
tomkiewicz@cpw.pidgin.im
parents: 32276
diff changeset
2806 act = purple_plugin_action_new(_("Change status broadcasting"),
2b3b3ffc9d28 Gadu-Gadu: reorder actions to clean up the mess in gg account menu
tomkiewicz@cpw.pidgin.im
parents: 32276
diff changeset
2807 ggp_action_change_status_broadcasting);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2808 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2809
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2810 m = g_list_append(m, NULL);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2811
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2812 act = purple_plugin_action_new(_("Upload buddylist to Server"),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2813 ggp_action_buddylist_put);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2814 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2815
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2816 act = purple_plugin_action_new(_("Download buddylist from Server"),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2817 ggp_action_buddylist_get);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2818 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2819
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2820 act = purple_plugin_action_new(_("Delete buddylist from Server"),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2821 ggp_action_buddylist_delete);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2822 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2823
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2824 act = purple_plugin_action_new(_("Save buddylist to file..."),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2825 ggp_action_buddylist_save);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2826 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2827
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2828 act = purple_plugin_action_new(_("Load buddylist from file..."),
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2829 ggp_action_buddylist_load);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2830 m = g_list_append(m, act);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2831
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2832 return m;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2833 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2834
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2835 static gboolean ggp_offline_message(const PurpleBuddy *buddy)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2836 {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2837 return TRUE;
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
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2840 static PurplePluginProtocolInfo prpl_info =
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2841 {
32032
743bb6b1aa30 Move struct_size to the beginning of the struct. Even if we don't
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 32031
diff changeset
2842 sizeof(PurplePluginProtocolInfo), /* struct_size */
24483
4d50b5d09d4a Support displaying buddy icons from Gadu-Gadu buddies. Fixes #220.
Adam Strzelecki <ono@java.pl>
parents: 24453
diff changeset
2843 OPT_PROTO_REGISTER_NOSCREENNAME | OPT_PROTO_IM_IMAGE,
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2844 NULL, /* user_splits */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2845 NULL, /* protocol_options */
22410
d3c8fd63e296 Patch from Tomasz Salacinski to allow setting buddy icons in GG prpl.
Bartoz Oler <bartosz@pidgin.im>
parents: 22149
diff changeset
2846 {"png", 32, 32, 96, 96, 0, PURPLE_ICON_SCALE_DISPLAY}, /* icon_spec */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2847 ggp_list_icon, /* list_icon */
15462
0b6f337a46d5 Emblems in the blist
Sean Egan <seanegan@gmail.com>
parents: 15373
diff changeset
2848 NULL, /* list_emblem */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2849 ggp_status_text, /* status_text */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2850 ggp_tooltip_text, /* tooltip_text */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2851 ggp_status_types, /* status_types */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2852 ggp_blist_node_menu, /* blist_node_menu */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2853 ggp_chat_info, /* chat_info */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2854 NULL, /* chat_info_defaults */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2855 ggp_login, /* login */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2856 ggp_close, /* close */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2857 ggp_send_im, /* send_im */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2858 NULL, /* set_info */
31449
7db33b356d4a This patch from kkszysiu and tomkiewicz implements full typing notification
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 31431
diff changeset
2859 ggp_send_typing, /* send_typing */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2860 ggp_get_info, /* get_info */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2861 ggp_set_status, /* set_away */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2862 NULL, /* set_idle */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2863 NULL, /* change_passwd */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2864 ggp_add_buddy, /* add_buddy */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2865 NULL, /* add_buddies */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2866 ggp_remove_buddy, /* remove_buddy */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2867 NULL, /* remove_buddies */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2868 NULL, /* add_permit */
31723
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
2869 ggp_add_deny, /* add_deny */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2870 NULL, /* rem_permit */
31723
f8cc6922b296 Merged two buddy blocking methods in Gadu-Gadu protocol. Fixes #5303
tomkiewicz@cpw.pidgin.im
parents: 31681
diff changeset
2871 ggp_rem_deny, /* rem_deny */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2872 NULL, /* set_permit_deny */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2873 ggp_join_chat, /* join_chat */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2874 NULL, /* reject_chat */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2875 ggp_get_chat_name, /* get_chat_name */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2876 NULL, /* chat_invite */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2877 NULL, /* chat_leave */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2878 NULL, /* chat_whisper */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2879 ggp_chat_send, /* chat_send */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2880 ggp_keepalive, /* keepalive */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2881 ggp_register_user, /* register_user */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2882 NULL, /* get_cb_info */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2883 NULL, /* alias_buddy */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2884 NULL, /* group_buddy */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2885 NULL, /* rename_group */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2886 NULL, /* buddy_free */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2887 NULL, /* convo_closed */
32279
318345f39e98 Gadu-Gadu: function to normalize gg usernames
tomkiewicz@cpw.pidgin.im
parents: 32278
diff changeset
2888 ggp_normalize, /* normalize */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2889 NULL, /* set_buddy_icon */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2890 NULL, /* remove_group */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2891 NULL, /* get_cb_real_name */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2892 NULL, /* set_chat_topic */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2893 NULL, /* find_blist_chat */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2894 NULL, /* roomlist_get_list */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2895 NULL, /* roomlist_cancel */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2896 NULL, /* roomlist_expand_category */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2897 NULL, /* can_receive_file */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2898 NULL, /* send_file */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2899 NULL, /* new_xfer */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2900 ggp_offline_message, /* offline_message */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2901 NULL, /* whiteboard_prpl_ops */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2902 NULL, /* send_raw */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2903 NULL, /* roomlist_room_serialize */
23772
750d700098c1 Fix the prplinfo structs and get rid of some compile warnings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23769
diff changeset
2904 NULL, /* unregister_user */
750d700098c1 Fix the prplinfo structs and get rid of some compile warnings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23769
diff changeset
2905 NULL, /* send_attention */
750d700098c1 Fix the prplinfo structs and get rid of some compile warnings.
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23769
diff changeset
2906 NULL, /* get_attention_types */
23807
ff29208e03ef propagate from branch 'im.pidgin.pidgin' (head 75f0460d3679231b61d572e76fe02534a597c6b5)
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23180 23787
diff changeset
2907 NULL, /* get_account_text_table */
ff29208e03ef propagate from branch 'im.pidgin.pidgin' (head 75f0460d3679231b61d572e76fe02534a597c6b5)
Sadrul Habib Chowdhury <imadil@gmail.com>
parents: 23180 23787
diff changeset
2908 NULL, /* initiate_media */
29460
a0fb6798d87c Made it compile again.
Marcus Lundblad <ml@update.uu.se>
parents: 28845
diff changeset
2909 NULL, /* can_do_media */
29847
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 29843
diff changeset
2910 NULL, /* get_moods */
2a436e0ce977 Add purple_account_[gs]et_public_alias functions, per discussion in d@cpi
Paul Aurich <paul@darkrain42.org>
parents: 29843
diff changeset
2911 NULL, /* set_public_alias */
32031
cd1d9e04c587 Rename the _with_invite functions to their counterparts.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents: 31980
diff changeset
2912 NULL /* get_public_alias */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2913 };
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2914
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2915 static PurplePluginInfo info = {
24484
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2916 PURPLE_PLUGIN_MAGIC, /* magic */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2917 PURPLE_MAJOR_VERSION, /* major_version */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2918 PURPLE_MINOR_VERSION, /* minor_version */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2919 PURPLE_PLUGIN_PROTOCOL, /* plugin type */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2920 NULL, /* ui_requirement */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2921 0, /* flags */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2922 NULL, /* dependencies */
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2923 PURPLE_PRIORITY_DEFAULT, /* priority */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2924
24484
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2925 "prpl-gg", /* id */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2926 "Gadu-Gadu", /* name */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2927 DISPLAY_VERSION, /* version */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2928
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2929 N_("Gadu-Gadu Protocol Plugin"), /* summary */
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2930 N_("Polish popular IM"), /* description */
24484
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2931 "boler@sourceforge.net", /* author */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2932 PURPLE_WEBSITE, /* homepage */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2933
24484
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2934 NULL, /* load */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2935 NULL, /* unload */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2936 NULL, /* destroy */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2937
24484
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2938 NULL, /* ui_info */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2939 &prpl_info, /* extra_info */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2940 NULL, /* prefs_info */
0d3af2ecf4ad Kill off a bajillion comments that just needlessly duplicate function
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 24483
diff changeset
2941 ggp_actions, /* actions */
16667
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16439
diff changeset
2942
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16439
diff changeset
2943 /* padding */
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16439
diff changeset
2944 NULL,
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16439
diff changeset
2945 NULL,
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16439
diff changeset
2946 NULL,
a338acd14365 And now the protocols
Gary Kramlich <grim@reaperworld.com>
parents: 16439
diff changeset
2947 NULL
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2948 };
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2949
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2950 static void purple_gg_debug_handler(int level, const char * format, va_list args) {
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2951 PurpleDebugLevel purple_level;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2952 char *msg = g_strdup_vprintf(format, args);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2953
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2954 /* This is pretty pointless since the GG_DEBUG levels don't correspond to
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2955 * the purple ones */
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2956 switch (level) {
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2957 case GG_DEBUG_FUNCTION:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2958 purple_level = PURPLE_DEBUG_INFO;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2959 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2960 case GG_DEBUG_MISC:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2961 case GG_DEBUG_NET:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2962 case GG_DEBUG_DUMP:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2963 case GG_DEBUG_TRAFFIC:
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2964 default:
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2965 purple_level = PURPLE_DEBUG_MISC;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2966 break;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2967 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2968
24453
0320b4a33432 Backport the 'purple_debug_*(msg)' -> 'purple_debug_*("%s", msg);' fixes.
Richard Laager <rlaager@wiktel.com>
parents: 24350
diff changeset
2969 purple_debug(purple_level, "gg", "%s", msg);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2970 g_free(msg);
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2971 }
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2972
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2973 static void init_plugin(PurplePlugin *plugin)
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2974 {
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
2975 PurpleAccountOption *option;
31515
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2976 GList *encryption_options = NULL;
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
2977
27036
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2978 option = purple_account_option_string_new(_("GG server"),
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2979 "gg_server", "");
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2980 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2981 option);
c3fcdd59ab76 Allow Gadu-Gadu accounts to specify Connect Server. Refs #6691.
Paul Aurich <paul@darkrain42.org>
parents: 26992
diff changeset
2982
31515
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2983 #define ADD_VALUE(list, desc, v) { \
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2984 PurpleKeyValuePair *kvp = g_new0(PurpleKeyValuePair, 1); \
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2985 kvp->key = g_strdup((desc)); \
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2986 kvp->value = g_strdup((v)); \
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2987 list = g_list_append(list, kvp); \
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2988 }
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2989
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2990 ADD_VALUE(encryption_options, _("Use encryption if available"),
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2991 "opportunistic_tls");
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2992 ADD_VALUE(encryption_options, _("Require encryption"), "require_tls");
32270
823c7f451700 Gadu-Gadu: possibility to require encryption; use encryption when available is default option now
tomkiewicz@cpw.pidgin.im
parents: 32238
diff changeset
2993 ADD_VALUE(encryption_options, _("Don't use encryption"), "none");
31515
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2994
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2995 option = purple_account_option_list_new(_("Connection security"),
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2996 "encryption", encryption_options);
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2997 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2998 option);
b2daa6e51596 gg: Allow the user to choose whether to use SSL/TLS support. Fixes #13894.
tomkiewicz@o2.pl
parents: 31466
diff changeset
2999
32278
9740dd029827 Gadu-Gadu: option to show links from strangers. Fixes #10591
tomkiewicz@cpw.pidgin.im
parents: 32277
diff changeset
3000 option = purple_account_option_bool_new(_("Show links from strangers"),
9740dd029827 Gadu-Gadu: option to show links from strangers. Fixes #10591
tomkiewicz@cpw.pidgin.im
parents: 32277
diff changeset
3001 "show_links_from_strangers", 1);
9740dd029827 Gadu-Gadu: option to show links from strangers. Fixes #10591
tomkiewicz@cpw.pidgin.im
parents: 32277
diff changeset
3002 prpl_info.protocol_options = g_list_append(prpl_info.protocol_options,
9740dd029827 Gadu-Gadu: option to show links from strangers. Fixes #10591
tomkiewicz@cpw.pidgin.im
parents: 32277
diff changeset
3003 option);
9740dd029827 Gadu-Gadu: option to show links from strangers. Fixes #10591
tomkiewicz@cpw.pidgin.im
parents: 32277
diff changeset
3004
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3005 my_protocol = plugin;
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3006
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
3007 gg_debug_handler = purple_gg_debug_handler;
32301
326591e64aaa Gadu-Gadu: move our win32 resolver out of libgadu sources. Refs #343
tomkiewicz@cpw.pidgin.im
parents: 32280
diff changeset
3008
326591e64aaa Gadu-Gadu: move our win32 resolver out of libgadu sources. Refs #343
tomkiewicz@cpw.pidgin.im
parents: 32280
diff changeset
3009 #ifdef _WIN32
326591e64aaa Gadu-Gadu: move our win32 resolver out of libgadu sources. Refs #343
tomkiewicz@cpw.pidgin.im
parents: 32280
diff changeset
3010 gg_global_set_custom_resolver(ggp_resolver_win32thread_start,
326591e64aaa Gadu-Gadu: move our win32 resolver out of libgadu sources. Refs #343
tomkiewicz@cpw.pidgin.im
parents: 32280
diff changeset
3011 ggp_resolver_win32thread_cleanup);
326591e64aaa Gadu-Gadu: move our win32 resolver out of libgadu sources. Refs #343
tomkiewicz@cpw.pidgin.im
parents: 32280
diff changeset
3012 #endif
15373
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
15822
32c366eeeb99 sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@gmail.com>
parents: 15462
diff changeset
3015 PURPLE_INIT_PLUGIN(gg, init_plugin, info);
15373
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3016
5fe8042783c1 Rename gtk/ and libgaim/ to pidgin/ and libpurple/
Sean Egan <seanegan@gmail.com>
parents:
diff changeset
3017 /* vim: set ts=8 sts=0 sw=8 noet: */