Mercurial > pidgin.yaz
annotate console/gntblist.c @ 15136:31603a03cc02
[gaim-migrate @ 17921]
Etan had changed the account notify stuff so that the prpl decides
if the person is a buddy or not; I totally wiped that out with my
authorization stuff. This brings it back.
Additionally, I added a googletalk flag to JabberStream which
can determine at runtime if you're connected to Google Talk.
All of the Google Talk extensions can be detected individually
with disco, but this might be used for working with perfectly
standard XMPP that's implemented in what might be considered a
quirky way in Google Talk. For instance, Google Talk automatically
adds buddies to your roster when you authorize them to add you.
I was going to use this flag so that the Jabber prpl would
never ask me to add a Google Talk buddy who's just been
automatically added anyway.
I decided to keep it, though, since I may still want to
specify what group he's in.
This opens the door for more Google Talk customization though >:)
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Fri, 08 Dec 2006 02:51:47 +0000 |
parents | 34e049e6ce10 |
children | d308c7c6f669 |
rev | line source |
---|---|
14558
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
1 /** |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
2 * @file gntblist.c GNT BuddyList API |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
3 * @ingroup gntui |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
4 * |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
5 * gaim |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
6 * |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
7 * Gaim is the legal property of its developers, whose names are too numerous |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
8 * to list here. Please refer to the COPYRIGHT file distributed with this |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
9 * source distribution. |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
10 * |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
11 * This program is free software; you can redistribute it and/or modify |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
12 * it under the terms of the GNU General Public License as published by |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
13 * the Free Software Foundation; either version 2 of the License, or |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
14 * (at your option) any later version. |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
15 * |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
16 * This program is distributed in the hope that it will be useful, |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
19 * GNU General Public License for more details. |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
20 * |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
21 * You should have received a copy of the GNU General Public License |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
22 * along with this program; if not, write to the Free Software |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
81650a27f253
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14493
diff
changeset
|
24 */ |
13877
765bbdf29d04
[gaim-migrate @ 16354]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13869
diff
changeset
|
25 #include <account.h> |
765bbdf29d04
[gaim-migrate @ 16354]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13869
diff
changeset
|
26 #include <blist.h> |
14062
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
27 #include <notify.h> |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
28 #include <request.h> |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
29 #include <savedstatuses.h> |
13877
765bbdf29d04
[gaim-migrate @ 16354]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13869
diff
changeset
|
30 #include <server.h> |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
31 #include <signal.h> |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
32 #include <status.h> |
13877
765bbdf29d04
[gaim-migrate @ 16354]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13869
diff
changeset
|
33 #include <util.h> |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
34 #include "debug.h" |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
35 |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
36 #include "gntgaim.h" |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
37 #include "gntbox.h" |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
38 #include "gntcombobox.h" |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
39 #include "gntentry.h" |
13896
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
40 #include "gntlabel.h" |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
41 #include "gntline.h" |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
42 #include "gntmenu.h" |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
43 #include "gntmenuitem.h" |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
44 #include "gntmenuitemcheck.h" |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
45 #include "gnttree.h" |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
46 #include "gntutils.h" |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
47 #include "gntwindow.h" |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
48 |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
49 #include "gntblist.h" |
14388
f4af666fafe3
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14385
diff
changeset
|
50 #include "gntconv.h" |
14126
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
51 #include "gntstatus.h" |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
52 #include <string.h> |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
53 |
14010
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
54 #define PREF_ROOT "/gaim/gnt/blist" |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
55 #define TYPING_TIMEOUT 4000 |
14010
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
56 |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
57 typedef struct |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
58 { |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
59 GntWidget *window; |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
60 GntWidget *tree; |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
61 |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
62 GntWidget *tooltip; |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
63 GaimBlistNode *tnode; /* Who is the tooltip being displayed for? */ |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
64 GList *tagged; /* A list of tagged blistnodes */ |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
65 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
66 GntWidget *context; |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
67 GaimBlistNode *cnode; |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
68 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
69 /* XXX: I am KISSing */ |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
70 GntWidget *status; /* Dropdown with the statuses */ |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
71 GntWidget *statustext; /* Status message */ |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
72 int typing; |
14883
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
73 |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
74 GntWidget *menu; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
75 /* These are the menuitems that get regenerated */ |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
76 GntMenuItem *accounts; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
77 GntMenuItem *plugins; |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
78 } GGBlist; |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
79 |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
80 typedef enum |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
81 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
82 STATUS_PRIMITIVE = 0, |
14126
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
83 STATUS_SAVED_POPULAR, |
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
84 STATUS_SAVED_ALL, |
14132
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
85 STATUS_SAVED_NEW |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
86 } StatusType; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
87 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
88 typedef struct |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
89 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
90 StatusType type; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
91 union |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
92 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
93 GaimStatusPrimitive prim; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
94 GaimSavedStatus *saved; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
95 } u; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
96 } StatusBoxItem; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
97 |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
98 GGBlist *ggblist; |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
99 |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
100 static void add_buddy(GaimBuddy *buddy, GGBlist *ggblist); |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
101 static void add_contact(GaimContact *contact, GGBlist *ggblist); |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
102 static void add_group(GaimGroup *group, GGBlist *ggblist); |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
103 static void add_chat(GaimChat *chat, GGBlist *ggblist); |
13865
d78ab363e02d
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13864
diff
changeset
|
104 static void add_node(GaimBlistNode *node, GGBlist *ggblist); |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
105 static void draw_tooltip(GGBlist *ggblist); |
14047
c5bfede33622
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14042
diff
changeset
|
106 static gboolean remove_typing_cb(gpointer null); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
107 static void remove_peripherals(GGBlist *ggblist); |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
108 static const char * get_display_name(GaimBlistNode *node); |
14131
db2311999862
[gaim-migrate @ 16773]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14126
diff
changeset
|
109 static void savedstatus_changed(GaimSavedStatus *now, GaimSavedStatus *old); |
14847
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
110 static void blist_show(GaimBuddyList *list); |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
111 static void update_buddy_display(GaimBuddy *buddy, GGBlist *ggblist); |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
112 |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
113 /* Sort functions */ |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
114 static int blist_node_compare_text(GaimBlistNode *n1, GaimBlistNode *n2); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
115 static int blist_node_compare_status(GaimBlistNode *n1, GaimBlistNode *n2); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
116 static int blist_node_compare_log(GaimBlistNode *n1, GaimBlistNode *n2); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
117 |
14407
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
118 static gboolean |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
119 is_contact_online(GaimContact *contact) |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
120 { |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
121 GaimBlistNode *node; |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
122 for (node = ((GaimBlistNode*)contact)->child; node; node = node->next) { |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
123 if (GAIM_BUDDY_IS_ONLINE((GaimBuddy*)node)) |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
124 return TRUE; |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
125 } |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
126 return FALSE; |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
127 } |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
128 |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
129 static gboolean |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
130 is_group_online(GaimGroup *group) |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
131 { |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
132 GaimBlistNode *node; |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
133 for (node = ((GaimBlistNode*)group)->child; node; node = node->next) { |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
134 if (GAIM_BLIST_NODE_IS_CHAT(node)) |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
135 return TRUE; |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
136 else if (is_contact_online((GaimContact*)node)) |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
137 return TRUE; |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
138 } |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
139 return FALSE; |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
140 } |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
141 |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
142 static void |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
143 new_node(GaimBlistNode *node) |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
144 { |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
145 } |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
146 |
13865
d78ab363e02d
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13864
diff
changeset
|
147 static void add_node(GaimBlistNode *node, GGBlist *ggblist) |
d78ab363e02d
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13864
diff
changeset
|
148 { |
d78ab363e02d
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13864
diff
changeset
|
149 if (GAIM_BLIST_NODE_IS_BUDDY(node)) |
d78ab363e02d
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13864
diff
changeset
|
150 add_buddy((GaimBuddy*)node, ggblist); |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
151 else if (GAIM_BLIST_NODE_IS_CONTACT(node)) |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
152 add_contact((GaimContact*)node, ggblist); |
13865
d78ab363e02d
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13864
diff
changeset
|
153 else if (GAIM_BLIST_NODE_IS_GROUP(node)) |
d78ab363e02d
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13864
diff
changeset
|
154 add_group((GaimGroup*)node, ggblist); |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
155 else if (GAIM_BLIST_NODE_IS_CHAT(node)) |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
156 add_chat((GaimChat *)node, ggblist); |
13865
d78ab363e02d
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13864
diff
changeset
|
157 draw_tooltip(ggblist); |
d78ab363e02d
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13864
diff
changeset
|
158 } |
d78ab363e02d
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13864
diff
changeset
|
159 |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
160 static void |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
161 remove_tooltip(GGBlist *ggblist) |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
162 { |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
163 gnt_widget_destroy(ggblist->tooltip); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
164 ggblist->tooltip = NULL; |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
165 ggblist->tnode = NULL; |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
166 } |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
167 |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
168 static void |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
169 node_remove(GaimBuddyList *list, GaimBlistNode *node) |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
170 { |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
171 GGBlist *ggblist = list->ui_data; |
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
172 |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
173 if (ggblist == NULL || node->ui_data == NULL) |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
174 return; |
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
175 |
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
176 gnt_tree_remove(GNT_TREE(ggblist->tree), node); |
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
177 node->ui_data = NULL; |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
178 if (ggblist->tagged) |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
179 ggblist->tagged = g_list_remove(ggblist->tagged, node); |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
180 |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
181 if (GAIM_BLIST_NODE_IS_BUDDY(node)) { |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
182 GaimContact *contact = (GaimContact*)node->parent; |
14407
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
183 if ((!gaim_prefs_get_bool(PREF_ROOT "/showoffline") && !is_contact_online(contact)) || |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
184 contact->currentsize < 1) |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
185 node_remove(list, (GaimBlistNode*)contact); |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
186 } else if (GAIM_BLIST_NODE_IS_CONTACT(node)) { |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
187 GaimGroup *group = (GaimGroup*)node->parent; |
14407
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
188 if ((!gaim_prefs_get_bool(PREF_ROOT "/showoffline") && !is_group_online(group)) || |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
189 group->currentsize < 1) |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
190 node_remove(list, node->parent); |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
191 for (node = node->child; node; node = node->next) |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
192 node->ui_data = NULL; |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
193 } |
14848
6d9db29f4c10
[gaim-migrate @ 17617]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14847
diff
changeset
|
194 |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
195 draw_tooltip(ggblist); |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
196 } |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
197 |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
198 static void |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
199 node_update(GaimBuddyList *list, GaimBlistNode *node) |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
200 { |
14393 | 201 /* It really looks like this should never happen ... but it does. |
202 This will at least emit a warning to the log when it | |
203 happens, so maybe someone will figure it out. */ | |
204 g_return_if_fail(node != NULL); | |
205 | |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
206 if (list->ui_data == NULL) |
14396
9e9699792bb9
[gaim-migrate @ 17104]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14393
diff
changeset
|
207 return; /* XXX: this is probably the place to auto-join chats */ |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
208 |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
209 if (node->ui_data != NULL) { |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
210 gnt_tree_change_text(GNT_TREE(ggblist->tree), node, |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
211 0, get_display_name(node)); |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
212 gnt_tree_sort_row(GNT_TREE(ggblist->tree), node); |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
213 } |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
214 |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
215 if (GAIM_BLIST_NODE_IS_BUDDY(node)) { |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
216 GaimBuddy *buddy = (GaimBuddy*)node; |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
217 if (gaim_account_is_connected(buddy->account) && |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
218 (GAIM_BUDDY_IS_ONLINE(buddy) || gaim_prefs_get_bool(PREF_ROOT "/showoffline"))) |
13865
d78ab363e02d
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13864
diff
changeset
|
219 add_node((GaimBlistNode*)buddy, list->ui_data); |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
220 else |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
221 node_remove(gaim_get_blist(), node); |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
222 |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
223 node_update(list, node->parent); |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
224 } else if (GAIM_BLIST_NODE_IS_CHAT(node)) { |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
225 add_chat((GaimChat *)node, list->ui_data); |
14407
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
226 } else if (GAIM_BLIST_NODE_IS_CONTACT(node)) { |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
227 GaimContact *contact = (GaimContact*)node; |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
228 if ((!gaim_prefs_get_bool(PREF_ROOT "/showoffline") && !is_contact_online(contact)) || |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
229 contact->currentsize < 1) |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
230 node_remove(gaim_get_blist(), node); |
14708
ef94c6b853ab
[gaim-migrate @ 17462]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14694
diff
changeset
|
231 else |
ef94c6b853ab
[gaim-migrate @ 17462]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14694
diff
changeset
|
232 add_node(node, list->ui_data); |
14407
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
233 } else if (GAIM_BLIST_NODE_IS_GROUP(node)) { |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
234 GaimGroup *group = (GaimGroup*)node; |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
235 if ((!gaim_prefs_get_bool(PREF_ROOT "/showoffline") && !is_group_online(group)) || |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
236 group->currentsize < 1) |
2a5ec27c3f0c
[gaim-migrate @ 17115]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14405
diff
changeset
|
237 node_remove(list, node); |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
238 } |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
239 } |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
240 |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
241 static void |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
242 new_list(GaimBuddyList *list) |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
243 { |
14847
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
244 if (ggblist) |
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
245 return; |
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
246 |
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
247 ggblist = g_new0(GGBlist, 1); |
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
248 list->ui_data = ggblist; |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
249 } |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
250 |
14062
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
251 static void |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
252 add_buddy_cb(void *data, GaimRequestFields *allfields) |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
253 { |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
254 const char *username = gaim_request_fields_get_string(allfields, "screenname"); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
255 const char *alias = gaim_request_fields_get_string(allfields, "alias"); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
256 const char *group = gaim_request_fields_get_string(allfields, "group"); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
257 GaimAccount *account = gaim_request_fields_get_account(allfields, "account"); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
258 const char *error = NULL; |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
259 GaimGroup *grp; |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
260 GaimBuddy *buddy; |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
261 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
262 if (!username) |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
263 error = _("You must provide a screename for the buddy."); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
264 else if (!group) |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
265 error = _("You must provide a group."); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
266 else if (!account) |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
267 error = _("You must select an account."); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
268 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
269 if (error) |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
270 { |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
271 gaim_notify_error(NULL, _("Error"), _("Error adding buddy"), error); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
272 return; |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
273 } |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
274 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
275 grp = gaim_find_group(group); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
276 if (!grp) |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
277 { |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
278 grp = gaim_group_new(group); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
279 gaim_blist_add_group(grp, NULL); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
280 } |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
281 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
282 buddy = gaim_buddy_new(account, username, alias); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
283 gaim_blist_add_buddy(buddy, NULL, grp, NULL); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
284 gaim_account_add_buddy(account, buddy); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
285 } |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
286 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
287 static void |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
288 gg_request_add_buddy(GaimAccount *account, const char *username, const char *grp, const char *alias) |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
289 { |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
290 GaimRequestFields *fields = gaim_request_fields_new(); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
291 GaimRequestFieldGroup *group = gaim_request_field_group_new(NULL); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
292 GaimRequestField *field; |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
293 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
294 gaim_request_fields_add_group(fields, group); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
295 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
296 field = gaim_request_field_string_new("screenname", _("Screen Name"), username, FALSE); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
297 gaim_request_field_group_add_field(group, field); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
298 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
299 field = gaim_request_field_string_new("alias", _("Alias"), alias, FALSE); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
300 gaim_request_field_group_add_field(group, field); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
301 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
302 field = gaim_request_field_string_new("group", _("Group"), grp, FALSE); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
303 gaim_request_field_group_add_field(group, field); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
304 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
305 field = gaim_request_field_account_new("account", _("Account"), NULL); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
306 gaim_request_field_account_set_show_all(field, FALSE); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
307 if (account) |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
308 gaim_request_field_account_set_value(field, account); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
309 gaim_request_field_group_add_field(group, field); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
310 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
311 gaim_request_fields(NULL, _("Add Buddy"), NULL, _("Please enter buddy information."), |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
312 fields, _("Add"), G_CALLBACK(add_buddy_cb), _("Cancel"), NULL, NULL); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
313 } |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
314 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
315 static void |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
316 add_chat_cb(void *data, GaimRequestFields *allfields) |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
317 { |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
318 GaimAccount *account; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
319 const char *alias, *name, *group; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
320 GaimChat *chat; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
321 GaimGroup *grp; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
322 GHashTable *hash = NULL; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
323 GaimConnection *gc; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
324 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
325 account = gaim_request_fields_get_account(allfields, "account"); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
326 name = gaim_request_fields_get_string(allfields, "name"); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
327 alias = gaim_request_fields_get_string(allfields, "alias"); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
328 group = gaim_request_fields_get_string(allfields, "group"); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
329 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
330 if (!gaim_account_is_connected(account) || !name || !*name) |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
331 return; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
332 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
333 if (!group || !*group) |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
334 group = _("Chats"); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
335 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
336 gc = gaim_account_get_connection(account); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
337 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
338 if (GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl)->chat_info_defaults != NULL) |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
339 hash = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl)->chat_info_defaults(gc, name); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
340 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
341 chat = gaim_chat_new(account, name, hash); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
342 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
343 if (chat != NULL) { |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
344 if ((grp = gaim_find_group(group)) == NULL) { |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
345 grp = gaim_group_new(group); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
346 gaim_blist_add_group(grp, NULL); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
347 } |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
348 gaim_blist_add_chat(chat, grp, NULL); |
14691 | 349 gaim_blist_alias_chat(chat, alias); |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
350 } |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
351 } |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
352 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
353 static void |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
354 gg_request_add_chat(GaimAccount *account, GaimGroup *grp, const char *alias, const char *name) |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
355 { |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
356 GaimRequestFields *fields = gaim_request_fields_new(); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
357 GaimRequestFieldGroup *group = gaim_request_field_group_new(NULL); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
358 GaimRequestField *field; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
359 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
360 gaim_request_fields_add_group(fields, group); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
361 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
362 field = gaim_request_field_account_new("account", _("Account"), NULL); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
363 gaim_request_field_account_set_show_all(field, FALSE); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
364 if (account) |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
365 gaim_request_field_account_set_value(field, account); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
366 gaim_request_field_group_add_field(group, field); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
367 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
368 field = gaim_request_field_string_new("name", _("Name"), name, FALSE); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
369 gaim_request_field_group_add_field(group, field); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
370 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
371 field = gaim_request_field_string_new("alias", _("Alias"), alias, FALSE); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
372 gaim_request_field_group_add_field(group, field); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
373 |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
374 field = gaim_request_field_string_new("group", _("Group"), grp ? grp->name : NULL, FALSE); |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
375 gaim_request_field_group_add_field(group, field); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
376 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
377 gaim_request_fields(NULL, _("Add Chat"), NULL, |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
378 _("You can edit more information from the context menu later."), |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
379 fields, _("Add"), G_CALLBACK(add_chat_cb), _("Cancel"), NULL, NULL); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
380 } |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
381 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
382 static void |
14062
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
383 add_group_cb(gpointer null, const char *group) |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
384 { |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
385 GaimGroup *grp; |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
386 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
387 if (!group || !*group) |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
388 { |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
389 gaim_notify_error(NULL, _("Error"), _("Error adding group"), |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
390 _("You must give a name for the group to add.")); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
391 return; |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
392 } |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
393 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
394 grp = gaim_find_group(group); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
395 if (!grp) |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
396 { |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
397 grp = gaim_group_new(group); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
398 gaim_blist_add_group(grp, NULL); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
399 } |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
400 else |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
401 { |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
402 gaim_notify_error(NULL, _("Error"), _("Error adding group"), |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
403 _("A group with the name already exists.")); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
404 } |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
405 } |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
406 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
407 static void |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
408 gg_request_add_group() |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
409 { |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
410 gaim_request_input(NULL, _("Add Group"), NULL, _("Enter the name of the group"), |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
411 NULL, FALSE, FALSE, NULL, |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
412 _("Add"), G_CALLBACK(add_group_cb), _("Cancel"), NULL, NULL); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
413 } |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
414 |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
415 static GaimBlistUiOps blist_ui_ops = |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
416 { |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
417 new_list, |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
418 new_node, |
14847
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
419 blist_show, |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
420 node_update, |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
421 node_remove, |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
422 NULL, |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
423 NULL, |
14062
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
424 .request_add_buddy = gg_request_add_buddy, |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
425 .request_add_chat = gg_request_add_chat, |
14062
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
426 .request_add_group = gg_request_add_group |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
427 }; |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
428 |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
429 static gpointer |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
430 gg_blist_get_handle() |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
431 { |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
432 static int handle; |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
433 |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
434 return &handle; |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
435 } |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
436 |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
437 static void |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
438 add_group(GaimGroup *group, GGBlist *ggblist) |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
439 { |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
440 GaimBlistNode *node = (GaimBlistNode *)group; |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
441 if (node->ui_data) |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
442 return; |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
443 node->ui_data = gnt_tree_add_row_after(GNT_TREE(ggblist->tree), group, |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
444 gnt_tree_create_row(GNT_TREE(ggblist->tree), get_display_name(node)), NULL, NULL); |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
445 } |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
446 |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
447 static const char * |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
448 get_display_name(GaimBlistNode *node) |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
449 { |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
450 static char text[2096]; |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
451 char status[8] = " "; |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
452 const char *name = NULL; |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
453 |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
454 if (GAIM_BLIST_NODE_IS_CONTACT(node)) |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
455 node = (GaimBlistNode*)gaim_contact_get_priority_buddy((GaimContact*)node); /* XXX: this can return NULL?! */ |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
456 |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
457 if (node == NULL) |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
458 return NULL; |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
459 |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
460 if (GAIM_BLIST_NODE_IS_BUDDY(node)) |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
461 { |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
462 GaimBuddy *buddy = (GaimBuddy *)node; |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
463 GaimStatusPrimitive prim; |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
464 GaimPresence *presence; |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
465 GaimStatus *now; |
13927
9309d27d780c
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13916
diff
changeset
|
466 gboolean ascii = gnt_ascii_only(); |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
467 |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
468 presence = gaim_buddy_get_presence(buddy); |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
469 now = gaim_presence_get_active_status(presence); |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
470 |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
471 prim = gaim_status_type_get_primitive(gaim_status_get_type(now)); |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
472 |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
473 switch(prim) |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
474 { |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
475 case GAIM_STATUS_OFFLINE: |
13927
9309d27d780c
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13916
diff
changeset
|
476 strncpy(status, ascii ? "x" : "⊗", sizeof(status) - 1); |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
477 break; |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
478 case GAIM_STATUS_AVAILABLE: |
13927
9309d27d780c
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13916
diff
changeset
|
479 strncpy(status, ascii ? "o" : "â—¯", sizeof(status) - 1); |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
480 break; |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
481 default: |
13927
9309d27d780c
[gaim-migrate @ 16447]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13916
diff
changeset
|
482 strncpy(status, ascii ? "." : "⊖", sizeof(status) - 1); |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
483 break; |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
484 } |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
485 name = gaim_buddy_get_alias(buddy); |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
486 } |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
487 else if (GAIM_BLIST_NODE_IS_CHAT(node)) |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
488 { |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
489 GaimChat *chat = (GaimChat*)node; |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
490 name = gaim_chat_get_name(chat); |
13885
582aaa4e287e
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13884
diff
changeset
|
491 |
582aaa4e287e
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13884
diff
changeset
|
492 strncpy(status, "~", sizeof(status) - 1); |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
493 } |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
494 else if (GAIM_BLIST_NODE_IS_GROUP(node)) |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
495 return ((GaimGroup*)node)->name; |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
496 |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
497 snprintf(text, sizeof(text) - 1, "%s %s", status, name); |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
498 |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
499 return text; |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
500 } |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
501 |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
502 static void |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
503 add_chat(GaimChat *chat, GGBlist *ggblist) |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
504 { |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
505 GaimGroup *group; |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
506 GaimBlistNode *node = (GaimBlistNode *)chat; |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
507 if (node->ui_data) |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
508 return; |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
509 if (!gaim_account_is_connected(chat->account)) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
510 return; |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
511 |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
512 group = gaim_chat_get_group(chat); |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
513 add_node((GaimBlistNode*)group, ggblist); |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
514 |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
515 node->ui_data = gnt_tree_add_row_after(GNT_TREE(ggblist->tree), chat, |
13964
0a0d2a1fd2bc
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13959
diff
changeset
|
516 gnt_tree_create_row(GNT_TREE(ggblist->tree), get_display_name(node)), |
0a0d2a1fd2bc
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13959
diff
changeset
|
517 group, NULL); |
14105
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
518 |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
519 /* XXX: This causes problem because you can close a chat window, hide the buddylist. |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
520 * When you show the buddylist, you automatically join the chat again. */ |
14105
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
521 if (gaim_blist_node_get_bool((GaimBlistNode*)chat, "gnt-autojoin")) |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
522 serv_join_chat(gaim_account_get_connection(chat->account), chat->components); |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
523 } |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
524 |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
525 static void |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
526 add_contact(GaimContact *contact, GGBlist *ggblist) |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
527 { |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
528 GaimGroup *group; |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
529 GaimBlistNode *node = (GaimBlistNode*)contact; |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
530 const char *name; |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
531 |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
532 if (node->ui_data) |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
533 return; |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
534 |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
535 name = get_display_name(node); |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
536 if (name == NULL) |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
537 return; |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
538 |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
539 group = (GaimGroup*)node->parent; |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
540 add_node((GaimBlistNode*)group, ggblist); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
541 |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
542 node->ui_data = gnt_tree_add_row_after(GNT_TREE(ggblist->tree), contact, |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
543 gnt_tree_create_row(GNT_TREE(ggblist->tree), name), |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
544 group, NULL); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
545 |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
546 gnt_tree_set_expanded(GNT_TREE(ggblist->tree), contact, FALSE); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
547 } |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
548 |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
549 static void |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
550 add_buddy(GaimBuddy *buddy, GGBlist *ggblist) |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
551 { |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
552 GaimContact *contact; |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
553 GaimBlistNode *node = (GaimBlistNode *)buddy; |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
554 if (node->ui_data) |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
555 return; |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
556 |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
557 contact = (GaimContact*)node->parent; |
14708
ef94c6b853ab
[gaim-migrate @ 17462]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14694
diff
changeset
|
558 if (!contact) /* When a new buddy is added and show-offline is set */ |
ef94c6b853ab
[gaim-migrate @ 17462]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14694
diff
changeset
|
559 return; |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
560 add_node((GaimBlistNode*)contact, ggblist); |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
561 |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
562 node->ui_data = gnt_tree_add_row_after(GNT_TREE(ggblist->tree), buddy, |
13964
0a0d2a1fd2bc
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13959
diff
changeset
|
563 gnt_tree_create_row(GNT_TREE(ggblist->tree), get_display_name(node)), |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
564 contact, NULL); |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
565 if (gaim_presence_is_idle(gaim_buddy_get_presence(buddy))) { |
13931
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
566 gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), buddy, GNT_TEXT_FLAG_DIM); |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
567 gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), contact, GNT_TEXT_FLAG_DIM); |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
568 } else { |
13931
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
569 gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), buddy, 0); |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
570 gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), contact, 0); |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
571 } |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
572 } |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
573 |
13897
eaaf73de9188
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13896
diff
changeset
|
574 #if 0 |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
575 static void |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
576 buddy_signed_on(GaimBuddy *buddy, GGBlist *ggblist) |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
577 { |
13865
d78ab363e02d
[gaim-migrate @ 16331]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13864
diff
changeset
|
578 add_node((GaimBlistNode*)buddy, ggblist); |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
579 } |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
580 |
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
581 static void |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
582 buddy_signed_off(GaimBuddy *buddy, GGBlist *ggblist) |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
583 { |
13861
55fb5cd9bac9
[gaim-migrate @ 16322]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13860
diff
changeset
|
584 node_remove(gaim_get_blist(), (GaimBlistNode*)buddy); |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
585 } |
13897
eaaf73de9188
[gaim-migrate @ 16382]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13896
diff
changeset
|
586 #endif |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
587 |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
588 GaimBlistUiOps *gg_blist_get_ui_ops() |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
589 { |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
590 return &blist_ui_ops; |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
591 } |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
592 |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
593 static void |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
594 selection_activate(GntWidget *widget, GGBlist *ggblist) |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
595 { |
13896
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
596 GntTree *tree = GNT_TREE(ggblist->tree); |
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
597 GaimBlistNode *node = gnt_tree_get_selection_data(tree); |
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
598 |
13943
25be562aaca8
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13931
diff
changeset
|
599 if (!node) |
25be562aaca8
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13931
diff
changeset
|
600 return; |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
601 |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
602 if (GAIM_BLIST_NODE_IS_CONTACT(node)) |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
603 node = (GaimBlistNode*)gaim_contact_get_priority_buddy((GaimContact*)node); |
13943
25be562aaca8
[gaim-migrate @ 16480]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13931
diff
changeset
|
604 |
13896
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
605 if (GAIM_BLIST_NODE_IS_BUDDY(node)) |
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
606 { |
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
607 GaimBuddy *buddy = (GaimBuddy *)node; |
14388
f4af666fafe3
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14385
diff
changeset
|
608 GaimConversation *conv = gaim_conversation_new(GAIM_CONV_TYPE_IM, |
f4af666fafe3
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14385
diff
changeset
|
609 gaim_buddy_get_account(buddy), |
f4af666fafe3
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14385
diff
changeset
|
610 gaim_buddy_get_name(buddy)); |
f4af666fafe3
[gaim-migrate @ 17094]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14385
diff
changeset
|
611 gg_conversation_set_active(conv); |
13896
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
612 } |
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
613 else if (GAIM_BLIST_NODE_IS_CHAT(node)) |
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
614 { |
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
615 GaimChat *chat = (GaimChat*)node; |
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
616 serv_join_chat(chat->account->gc, chat->components); |
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
617 } |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
618 } |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
619 |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
620 static void |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
621 context_menu_callback(GntMenuItem *item, gpointer data) |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
622 { |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
623 GaimMenuAction *action = data; |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
624 GaimBlistNode *node = ggblist->cnode; |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
625 if (action) { |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
626 void (*callback)(GaimBlistNode *, gpointer); |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
627 callback = (void (*)(GaimBlistNode *, gpointer))action->callback; |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
628 if (callback) |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
629 callback(action->data, node); |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
630 else |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
631 return; |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
632 } |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
633 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
634 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
635 static void |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
636 gnt_append_menu_action(GntMenu *menu, GaimMenuAction *action, gpointer parent) |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
637 { |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
638 GList *list; |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
639 GntMenuItem *item; |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
640 |
14010
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
641 if (action == NULL) |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
642 return; |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
643 |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
644 item = gnt_menuitem_new(action->label); |
14850
2405b9e6f05f
[gaim-migrate @ 17619]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14848
diff
changeset
|
645 if (action->callback) |
2405b9e6f05f
[gaim-migrate @ 17619]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14848
diff
changeset
|
646 gnt_menuitem_set_callback(GNT_MENUITEM(item), context_menu_callback, action); |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
647 gnt_menu_add_item(menu, GNT_MENUITEM(item)); |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
648 |
14850
2405b9e6f05f
[gaim-migrate @ 17619]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14848
diff
changeset
|
649 if (action->children) { |
2405b9e6f05f
[gaim-migrate @ 17619]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14848
diff
changeset
|
650 GntWidget *sub = gnt_menu_new(GNT_MENU_POPUP); |
2405b9e6f05f
[gaim-migrate @ 17619]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14848
diff
changeset
|
651 gnt_menuitem_set_submenu(item, GNT_MENU(sub)); |
2405b9e6f05f
[gaim-migrate @ 17619]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14848
diff
changeset
|
652 for (list = action->children; list; list = list->next) |
2405b9e6f05f
[gaim-migrate @ 17619]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14848
diff
changeset
|
653 gnt_append_menu_action(GNT_MENU(sub), list->data, action); |
2405b9e6f05f
[gaim-migrate @ 17619]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14848
diff
changeset
|
654 } |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
655 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
656 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
657 static void |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
658 append_proto_menu(GntMenu *menu, GaimConnection *gc, GaimBlistNode *node) |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
659 { |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
660 GList *list; |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
661 GaimPluginProtocolInfo *prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(gc->prpl); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
662 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
663 if(!prpl_info || !prpl_info->blist_node_menu) |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
664 return; |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
665 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
666 for(list = prpl_info->blist_node_menu(node); list; |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
667 list = g_list_delete_link(list, list)) |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
668 { |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
669 GaimMenuAction *act = (GaimMenuAction *) list->data; |
14470
c8704dd8059b
[gaim-migrate @ 17186]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14469
diff
changeset
|
670 act->data = node; |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
671 gnt_append_menu_action(menu, act, NULL); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
672 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
673 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
674 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
675 static void |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
676 add_custom_action(GntMenu *menu, const char *label, GaimCallback callback, |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
677 gpointer data) |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
678 { |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
679 GaimMenuAction *action = gaim_menu_action_new(label, callback, data, NULL); |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
680 gnt_append_menu_action(menu, action, NULL); |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
681 g_signal_connect_swapped(G_OBJECT(menu), "destroy", |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
682 G_CALLBACK(gaim_menu_action_free), action); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
683 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
684 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
685 static void |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
686 chat_components_edit_ok(GaimChat *chat, GaimRequestFields *allfields) |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
687 { |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
688 GList *groups, *fields; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
689 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
690 for (groups = gaim_request_fields_get_groups(allfields); groups; groups = groups->next) { |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
691 fields = gaim_request_field_group_get_fields(groups->data); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
692 for (; fields; fields = fields->next) { |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
693 GaimRequestField *field = fields->data; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
694 const char *id; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
695 char *val; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
696 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
697 id = gaim_request_field_get_id(field); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
698 if (gaim_request_field_get_type(field) == GAIM_REQUEST_FIELD_INTEGER) |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
699 val = g_strdup_printf("%d", gaim_request_field_int_get_value(field)); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
700 else |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
701 val = g_strdup(gaim_request_field_string_get_value(field)); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
702 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
703 g_hash_table_replace(chat->components, g_strdup(id), val); /* val should not be free'd */ |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
704 } |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
705 } |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
706 } |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
707 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
708 static void |
14469
ddfe82afecd8
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14427
diff
changeset
|
709 chat_components_edit(GaimChat *chat, GaimBlistNode *selected) |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
710 { |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
711 GaimRequestFields *fields = gaim_request_fields_new(); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
712 GaimRequestFieldGroup *group = gaim_request_field_group_new(NULL); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
713 GaimRequestField *field; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
714 GList *parts, *iter; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
715 struct proto_chat_entry *pce; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
716 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
717 gaim_request_fields_add_group(fields, group); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
718 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
719 parts = GAIM_PLUGIN_PROTOCOL_INFO(chat->account->gc->prpl)->chat_info(chat->account->gc); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
720 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
721 for (iter = parts; iter; iter = iter->next) { |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
722 pce = iter->data; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
723 if (pce->is_int) { |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
724 int val; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
725 const char *str = g_hash_table_lookup(chat->components, pce->identifier); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
726 if (!str || sscanf(str, "%d", &val) != 1) |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
727 val = pce->min; |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
728 field = gaim_request_field_int_new(pce->identifier, pce->label, val); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
729 } else { |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
730 field = gaim_request_field_string_new(pce->identifier, pce->label, |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
731 g_hash_table_lookup(chat->components, pce->identifier), FALSE); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
732 } |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
733 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
734 gaim_request_field_group_add_field(group, field); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
735 g_free(pce); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
736 } |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
737 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
738 g_list_free(parts); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
739 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
740 gaim_request_fields(NULL, _("Edit Chat"), NULL, _("Please Update the necessary fields."), |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
741 fields, _("Edit"), G_CALLBACK(chat_components_edit_ok), _("Cancel"), NULL, chat); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
742 } |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
743 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
744 static void |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
745 autojoin_toggled(GntMenuItem *item, gpointer data) |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
746 { |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
747 GaimMenuAction *action = data; |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
748 gaim_blist_node_set_bool(action->data, "gnt-autojoin", |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
749 gnt_menuitem_check_get_checked(GNT_MENUITEM_CHECK(item))); |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
750 } |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
751 |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
752 static void |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
753 create_chat_menu(GntMenu *menu, GaimChat *chat) |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
754 { |
14105
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
755 GaimMenuAction *action = gaim_menu_action_new(_("Auto-join"), NULL, chat, NULL); |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
756 GntMenuItem *check = gnt_menuitem_check_new(action->label); |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
757 gnt_menuitem_check_set_checked(GNT_MENUITEM_CHECK(check), |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
758 gaim_blist_node_get_bool((GaimBlistNode*)chat, "gnt-autojoin")); |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
759 gnt_menu_add_item(menu, check); |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
760 gnt_menuitem_set_callback(check, autojoin_toggled, action); |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
761 g_signal_connect_swapped(G_OBJECT(menu), "destroy", |
14105
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
762 G_CALLBACK(gaim_menu_action_free), action); |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
763 |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
764 add_custom_action(menu, _("Edit Settings"), (GaimCallback)chat_components_edit, chat); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
765 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
766 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
767 static void |
14469
ddfe82afecd8
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14427
diff
changeset
|
768 gg_add_buddy(GaimGroup *grp, GaimBlistNode *selected) |
14062
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
769 { |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
770 gaim_blist_request_add_buddy(NULL, NULL, grp ? grp->name : NULL, NULL); |
14062
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
771 } |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
772 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
773 static void |
14469
ddfe82afecd8
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14427
diff
changeset
|
774 gg_add_group(GaimGroup *grp, GaimBlistNode *selected) |
14062
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
775 { |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
776 gaim_blist_request_add_group(); |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
777 } |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
778 |
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
779 static void |
14469
ddfe82afecd8
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14427
diff
changeset
|
780 gg_add_chat(GaimGroup *grp, GaimBlistNode *selected) |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
781 { |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
782 gaim_blist_request_add_chat(NULL, grp, NULL, NULL); |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
783 } |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
784 |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
785 static void |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
786 create_group_menu(GntMenu *menu, GaimGroup *group) |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
787 { |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
788 add_custom_action(menu, _("Add Buddy"), |
14062
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
789 GAIM_CALLBACK(gg_add_buddy), group); |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
790 add_custom_action(menu, _("Add Chat"), |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
791 GAIM_CALLBACK(gg_add_chat), group); |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
792 add_custom_action(menu, _("Add Group"), |
14062
fa8f65cd912c
[gaim-migrate @ 16681]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14059
diff
changeset
|
793 GAIM_CALLBACK(gg_add_group), group); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
794 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
795 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
796 static void |
14469
ddfe82afecd8
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14427
diff
changeset
|
797 gg_blist_get_buddy_info_cb(GaimBuddy *buddy, GaimBlistNode *selected) |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
798 { |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
799 serv_get_info(buddy->account->gc, gaim_buddy_get_name(buddy)); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
800 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
801 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
802 static void |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
803 create_buddy_menu(GntMenu *menu, GaimBuddy *buddy) |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
804 { |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
805 GaimPluginProtocolInfo *prpl_info; |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
806 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
807 prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(buddy->account->gc->prpl); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
808 if (prpl_info && prpl_info->get_info) |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
809 { |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
810 add_custom_action(menu, _("Get Info"), |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
811 GAIM_CALLBACK(gg_blist_get_buddy_info_cb), buddy); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
812 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
813 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
814 #if 0 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
815 add_custom_action(tree, _("Add Buddy Pounce"), |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
816 GAIM_CALLBACK(gg_blist_add_buddy_pounce_cb)), buddy); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
817 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
818 if (prpl_info && prpl_info->send_file) |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
819 { |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
820 if (!prpl_info->can_receive_file || |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
821 prpl_info->can_receive_file(buddy->account->gc, buddy->name)) |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
822 add_custom_action(tree, _("Send File"), |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
823 GAIM_CALLBACK(gg_blist_show_file_cb)), buddy); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
824 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
825 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
826 add_custom_action(tree, _("View Log"), |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
827 GAIM_CALLBACK(gg_blist_view_log_cb)), buddy); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
828 #endif |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
829 |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
830 /* Protocol actions */ |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
831 append_proto_menu(menu, |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
832 gaim_account_get_connection(gaim_buddy_get_account(buddy)), |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
833 (GaimBlistNode*)buddy); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
834 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
835 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
836 static void |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
837 append_extended_menu(GntMenu *menu, GaimBlistNode *node) |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
838 { |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
839 GList *iter; |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
840 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
841 for (iter = gaim_blist_node_get_extended_menu(node); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
842 iter; iter = g_list_delete_link(iter, iter)) |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
843 { |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
844 gnt_append_menu_action(menu, iter->data, NULL); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
845 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
846 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
847 |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
848 /* Xerox'd from gtkdialogs.c:gaim_gtkdialogs_remove_contact_cb */ |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
849 static void |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
850 remove_contact(GaimContact *contact) |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
851 { |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
852 GaimBlistNode *bnode, *cnode; |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
853 GaimGroup *group; |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
854 |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
855 cnode = (GaimBlistNode *)contact; |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
856 group = (GaimGroup*)cnode->parent; |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
857 for (bnode = cnode->child; bnode; bnode = bnode->next) { |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
858 GaimBuddy *buddy = (GaimBuddy*)bnode; |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
859 if (gaim_account_is_connected(buddy->account)) |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
860 gaim_account_remove_buddy(buddy->account, buddy, group); |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
861 } |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
862 gaim_blist_remove_contact(contact); |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
863 } |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
864 |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
865 static void |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
866 rename_blist_node(GaimBlistNode *node, const char *newname) |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
867 { |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
868 const char *name = newname; |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
869 if (name && !*name) |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
870 name = NULL; |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
871 |
14475
feedb7828791
[gaim-migrate @ 17191]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14470
diff
changeset
|
872 if (GAIM_BLIST_NODE_IS_CONTACT(node)) { |
feedb7828791
[gaim-migrate @ 17191]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14470
diff
changeset
|
873 GaimContact *contact = (GaimContact*)node; |
feedb7828791
[gaim-migrate @ 17191]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14470
diff
changeset
|
874 GaimBuddy *buddy = gaim_contact_get_priority_buddy(contact); |
feedb7828791
[gaim-migrate @ 17191]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14470
diff
changeset
|
875 gaim_blist_alias_contact(contact, name); |
feedb7828791
[gaim-migrate @ 17191]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14470
diff
changeset
|
876 gaim_blist_alias_buddy(buddy, name); |
feedb7828791
[gaim-migrate @ 17191]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14470
diff
changeset
|
877 serv_alias_buddy(buddy); |
feedb7828791
[gaim-migrate @ 17191]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14470
diff
changeset
|
878 } else if (GAIM_BLIST_NODE_IS_BUDDY(node)) { |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
879 gaim_blist_alias_buddy((GaimBuddy*)node, name); |
14475
feedb7828791
[gaim-migrate @ 17191]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14470
diff
changeset
|
880 serv_alias_buddy((GaimBuddy*)node); |
feedb7828791
[gaim-migrate @ 17191]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14470
diff
changeset
|
881 } else if (GAIM_BLIST_NODE_IS_CHAT(node)) |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
882 gaim_blist_alias_chat((GaimChat*)node, name); |
14691 | 883 else if (GAIM_BLIST_NODE_IS_GROUP(node) && (name != NULL)) |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
884 gaim_blist_rename_group((GaimGroup*)node, name); |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
885 else |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
886 g_return_if_reached(); |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
887 } |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
888 |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
889 static void |
14469
ddfe82afecd8
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14427
diff
changeset
|
890 gg_blist_rename_node_cb(GaimBlistNode *node, GaimBlistNode *selected) |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
891 { |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
892 const char *name = NULL; |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
893 char *prompt; |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
894 |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
895 if (GAIM_BLIST_NODE_IS_CONTACT(node)) |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
896 name = gaim_contact_get_alias((GaimContact*)node); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
897 else if (GAIM_BLIST_NODE_IS_BUDDY(node)) |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
898 name = gaim_buddy_get_contact_alias((GaimBuddy*)node); |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
899 else if (GAIM_BLIST_NODE_IS_CHAT(node)) |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
900 name = gaim_chat_get_name((GaimChat*)node); |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
901 else if (GAIM_BLIST_NODE_IS_GROUP(node)) |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
902 name = ((GaimGroup*)node)->name; |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
903 else |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
904 g_return_if_reached(); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
905 |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
906 prompt = g_strdup_printf(_("Please enter the new name for %s"), name); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
907 |
14018
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
908 gaim_request_input(node, _("Rename"), prompt, _("Enter empty string to reset the name."), |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
909 name, FALSE, FALSE, NULL, _("Rename"), G_CALLBACK(rename_blist_node), |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
910 _("Cancel"), NULL, node); |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
911 |
35699556075f
[gaim-migrate @ 16614]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14010
diff
changeset
|
912 g_free(prompt); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
913 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
914 |
14063
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
915 /* Xeroxed from gtkdialogs.c:gaim_gtkdialogs_remove_group_cb*/ |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
916 static void |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
917 remove_group(GaimGroup *group) |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
918 { |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
919 GaimBlistNode *cnode, *bnode; |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
920 |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
921 cnode = ((GaimBlistNode*)group)->child; |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
922 |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
923 while (cnode) { |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
924 if (GAIM_BLIST_NODE_IS_CONTACT(cnode)) { |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
925 bnode = cnode->child; |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
926 cnode = cnode->next; |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
927 while (bnode) { |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
928 GaimBuddy *buddy; |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
929 if (GAIM_BLIST_NODE_IS_BUDDY(bnode)) { |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
930 buddy = (GaimBuddy*)bnode; |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
931 bnode = bnode->next; |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
932 if (gaim_account_is_connected(buddy->account)) { |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
933 gaim_account_remove_buddy(buddy->account, buddy, group); |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
934 gaim_blist_remove_buddy(buddy); |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
935 } |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
936 } else { |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
937 bnode = bnode->next; |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
938 } |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
939 } |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
940 } else if (GAIM_BLIST_NODE_IS_CHAT(cnode)) { |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
941 GaimChat *chat = (GaimChat *)cnode; |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
942 cnode = cnode->next; |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
943 if (gaim_account_is_connected(chat->account)) |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
944 gaim_blist_remove_chat(chat); |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
945 } else { |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
946 cnode = cnode->next; |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
947 } |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
948 } |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
949 |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
950 gaim_blist_remove_group(group); |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
951 } |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
952 |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
953 static void |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
954 gg_blist_remove_node(GaimBlistNode *node) |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
955 { |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
956 if (GAIM_BLIST_NODE_IS_CONTACT(node)) { |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
957 remove_contact((GaimContact*)node); |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
958 } else if (GAIM_BLIST_NODE_IS_BUDDY(node)) { |
14063
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
959 GaimBuddy *buddy = (GaimBuddy*)node; |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
960 GaimGroup *group = gaim_buddy_get_group(buddy); |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
961 gaim_account_remove_buddy(gaim_buddy_get_account(buddy), buddy, group); |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
962 gaim_blist_remove_buddy(buddy); |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
963 } else if (GAIM_BLIST_NODE_IS_CHAT(node)) { |
14063
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
964 gaim_blist_remove_chat((GaimChat*)node); |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
965 } else if (GAIM_BLIST_NODE_IS_GROUP(node)) { |
14063
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
966 remove_group((GaimGroup*)node); |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
967 } |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
968 } |
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
969 |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
970 static void |
14469
ddfe82afecd8
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14427
diff
changeset
|
971 gg_blist_remove_node_cb(GaimBlistNode *node, GaimBlistNode *selected) |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
972 { |
14198
c65ed4f6eea8
[gaim-migrate @ 16870]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14132
diff
changeset
|
973 char *primary; |
c65ed4f6eea8
[gaim-migrate @ 16870]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14132
diff
changeset
|
974 const char *name, *sec = NULL; |
14064
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
975 |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
976 /* XXX: could be a contact */ |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
977 if (GAIM_BLIST_NODE_IS_CONTACT(node)) { |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
978 GaimContact *c = (GaimContact*)node; |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
979 name = gaim_contact_get_alias(c); |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
980 if (c->totalsize > 1) |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
981 sec = _("Removing this contact will also remove all the buddies in the contact"); |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
982 } else if (GAIM_BLIST_NODE_IS_BUDDY(node)) |
14064
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
983 name = gaim_buddy_get_name((GaimBuddy*)node); |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
984 else if (GAIM_BLIST_NODE_IS_CHAT(node)) |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
985 name = gaim_chat_get_name((GaimChat*)node); |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
986 else if (GAIM_BLIST_NODE_IS_GROUP(node)) |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
987 { |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
988 name = ((GaimGroup*)node)->name; |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
989 sec = _("Removing this group will also remove all the buddies in the group"); |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
990 } |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
991 else |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
992 return; |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
993 |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
994 primary = g_strdup_printf(_("Are you sure you want to remove %s?"), name); |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
995 |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
996 /* XXX: anything to do with the returned ui-handle? */ |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
997 gaim_request_action(node, _("Confirm Remove"), |
14064
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
998 primary, sec, |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
999 1, node, 2, |
14063
ccbd43daa1a3
[gaim-migrate @ 16682]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14062
diff
changeset
|
1000 _("Remove"), gg_blist_remove_node, |
14064
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
1001 _("Cancel"), NULL); |
fec4fadf30c9
[gaim-migrate @ 16683]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14063
diff
changeset
|
1002 g_free(primary); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1003 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1004 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1005 static void |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1006 gg_blist_toggle_tag_buddy(GaimBlistNode *node) |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1007 { |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1008 GList *iter; |
14985
fb98e9c45607
[gaim-migrate @ 17763]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14978
diff
changeset
|
1009 if (GAIM_BLIST_NODE_IS_CHAT(node) || GAIM_BLIST_NODE_IS_GROUP(node)) |
fb98e9c45607
[gaim-migrate @ 17763]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14978
diff
changeset
|
1010 return; |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1011 if (ggblist->tagged && (iter = g_list_find(ggblist->tagged, node)) != NULL) { |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1012 ggblist->tagged = g_list_delete_link(ggblist->tagged, iter); |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1013 } else { |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1014 ggblist->tagged = g_list_prepend(ggblist->tagged, node); |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1015 } |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1016 if (GAIM_BLIST_NODE_IS_CONTACT(node)) |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1017 node = (GaimBlistNode*)gaim_contact_get_priority_buddy((GaimContact*)node); |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1018 update_buddy_display((GaimBuddy*)node, ggblist); |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1019 } |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1020 |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1021 static void |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1022 gg_blist_place_tagged(GaimBlistNode *target) |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1023 { |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1024 GaimGroup *tg = NULL; |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1025 GaimContact *tc = NULL; |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1026 |
15022 | 1027 /* This target resolution probably needs more clarification; for |
1028 * example, if I tag a buddy in a contact, then place on | |
1029 * another buddy in the same contact, I probably intend to | |
1030 * place the tagged buddy immediately after (before?) the | |
1031 * target buddy -- this will simply move the tagged buddy | |
1032 * within the same contact without reference to position. */ | |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1033 if (GAIM_BLIST_NODE_IS_GROUP(target)) |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1034 tg = (GaimGroup*)target; |
15022 | 1035 else if (GAIM_BLIST_NODE_IS_CONTACT(target)) |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1036 tc = (GaimContact*)target; |
15022 | 1037 else /* Buddy or Chat */ |
1038 tc = (GaimContact*)target->parent; | |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1039 |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1040 if (ggblist->tagged) { |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1041 GList *list = ggblist->tagged; |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1042 ggblist->tagged = NULL; |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1043 |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1044 while (list) { |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1045 GaimBlistNode *node = list->data; |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1046 list = g_list_delete_link(list, list); |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1047 if (tg) { |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1048 if (GAIM_BLIST_NODE_IS_CONTACT(node)) |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1049 gaim_blist_add_contact((GaimContact*)node, tg, NULL); |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1050 else |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1051 gaim_blist_add_buddy((GaimBuddy*)node, NULL, tg, NULL); |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1052 } else { |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1053 if (GAIM_BLIST_NODE_IS_BUDDY(node)) |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1054 gaim_blist_add_buddy((GaimBuddy*)node, tc, |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1055 gaim_buddy_get_group(gaim_contact_get_priority_buddy(tc)), NULL); |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1056 else if (GAIM_BLIST_NODE_IS_CONTACT(node)) |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1057 gaim_blist_merge_contact((GaimContact*)node, target); |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1058 } |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1059 } |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1060 } |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1061 } |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1062 |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1063 static void |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1064 context_menu_destroyed(GntWidget *widget, GGBlist *ggblist) |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1065 { |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1066 ggblist->context = NULL; |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1067 } |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1068 |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1069 static void |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1070 draw_context_menu(GGBlist *ggblist) |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1071 { |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1072 GaimBlistNode *node = NULL; |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1073 GntWidget *context = NULL; |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1074 GntTree *tree = NULL; |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1075 int x, y, top, width; |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1076 char *title = NULL; |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1077 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1078 tree = GNT_TREE(ggblist->tree); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1079 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1080 node = gnt_tree_get_selection_data(tree); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1081 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1082 if (ggblist->tooltip) |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1083 remove_tooltip(ggblist); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1084 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1085 ggblist->cnode = node; |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1086 |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1087 ggblist->context = context = gnt_menu_new(GNT_MENU_POPUP); |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1088 g_signal_connect(G_OBJECT(context), "destroy", G_CALLBACK(context_menu_destroyed), ggblist); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1089 |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1090 if (!node) { |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1091 create_group_menu(GNT_MENU(context), NULL); |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1092 title = g_strdup(_("Buddy List")); |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1093 } else if (GAIM_BLIST_NODE_IS_CONTACT(node)) { |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1094 create_buddy_menu(GNT_MENU(context), |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1095 gaim_contact_get_priority_buddy((GaimContact*)node)); |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1096 title = g_strdup(gaim_contact_get_alias((GaimContact*)node)); |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1097 } else if (GAIM_BLIST_NODE_IS_BUDDY(node)) { |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1098 GaimBuddy *buddy = (GaimBuddy *)node; |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1099 create_buddy_menu(GNT_MENU(context), buddy); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1100 title = g_strdup(gaim_buddy_get_name(buddy)); |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1101 } else if (GAIM_BLIST_NODE_IS_CHAT(node)) { |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1102 GaimChat *chat = (GaimChat*)node; |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1103 create_chat_menu(GNT_MENU(context), chat); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1104 title = g_strdup(gaim_chat_get_name(chat)); |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1105 } else if (GAIM_BLIST_NODE_IS_GROUP(node)) { |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1106 GaimGroup *group = (GaimGroup *)node; |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1107 create_group_menu(GNT_MENU(context), group); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1108 title = g_strdup(group->name); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1109 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1110 |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1111 append_extended_menu(GNT_MENU(context), node); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1112 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1113 /* These are common for everything */ |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1114 if (node) { |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1115 add_custom_action(GNT_MENU(context), _("Rename"), |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1116 GAIM_CALLBACK(gg_blist_rename_node_cb), node); |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1117 add_custom_action(GNT_MENU(context), _("Remove"), |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1118 GAIM_CALLBACK(gg_blist_remove_node_cb), node); |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1119 |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1120 if (ggblist->tagged && (GAIM_BLIST_NODE_IS_CONTACT(node) |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1121 || GAIM_BLIST_NODE_IS_GROUP(node))) { |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1122 add_custom_action(GNT_MENU(context), _("Place tagged"), |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1123 GAIM_CALLBACK(gg_blist_place_tagged), node); |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1124 } |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1125 |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1126 if (GAIM_BLIST_NODE_IS_BUDDY(node) || GAIM_BLIST_NODE_IS_CONTACT(node)) { |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1127 add_custom_action(GNT_MENU(context), _("Toggle Tag"), |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1128 GAIM_CALLBACK(gg_blist_toggle_tag_buddy), node); |
14694
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1129 } |
8538993dbb00
[gaim-migrate @ 17446]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14691
diff
changeset
|
1130 } |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1131 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1132 /* Set the position for the popup */ |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1133 gnt_widget_get_position(GNT_WIDGET(tree), &x, &y); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1134 gnt_widget_get_size(GNT_WIDGET(tree), &width, NULL); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1135 top = gnt_tree_get_selection_visible_line(tree); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1136 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1137 x += width; |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1138 y += top - 1; |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1139 |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1140 gnt_widget_set_position(context, x, y); |
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1141 gnt_screen_menu_show(GNT_MENU(context)); |
13959
2ae35c0cf616
[gaim-migrate @ 16511]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13958
diff
changeset
|
1142 g_free(title); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1143 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1144 |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1145 static void |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1146 tooltip_for_buddy(GaimBuddy *buddy, GString *str) |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1147 { |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1148 GaimPlugin *prpl; |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1149 GaimPluginProtocolInfo *prpl_info; |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1150 GaimAccount *account; |
15052
34e049e6ce10
[gaim-migrate @ 17835]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15022
diff
changeset
|
1151 const char *alias = gaim_buddy_get_alias(buddy); |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1152 |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1153 account = gaim_buddy_get_account(buddy); |
15052
34e049e6ce10
[gaim-migrate @ 17835]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15022
diff
changeset
|
1154 |
34e049e6ce10
[gaim-migrate @ 17835]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15022
diff
changeset
|
1155 if (g_utf8_collate(gaim_buddy_get_name(buddy), alias)) |
34e049e6ce10
[gaim-migrate @ 17835]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15022
diff
changeset
|
1156 g_string_append_printf(str, _("Nickname: %s\n"), alias); |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1157 g_string_append_printf(str, _("Account: %s (%s)"), |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1158 gaim_account_get_username(account), |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1159 gaim_account_get_protocol_name(account)); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1160 |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1161 prpl = gaim_find_prpl(gaim_account_get_protocol_id(account)); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1162 prpl_info = GAIM_PLUGIN_PROTOCOL_INFO(prpl); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1163 if (prpl_info && prpl_info->tooltip_text) { |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1164 GString *tip = g_string_new(""); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1165 char *strip, *br; |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1166 prpl_info->tooltip_text(buddy, tip, TRUE); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1167 |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1168 br = gaim_strreplace(tip->str, "\n", "<br>"); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1169 strip = gaim_markup_strip_html(br); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1170 g_string_append(str, strip); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1171 g_string_free(tip, TRUE); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1172 g_free(strip); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1173 g_free(br); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1174 } |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1175 |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1176 if (gaim_prefs_get_bool("/gaim/gnt/blist/idletime")) { |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1177 GaimPresence *pre = gaim_buddy_get_presence(buddy); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1178 if (gaim_presence_is_idle(pre)) { |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1179 time_t idle = gaim_presence_get_idle_time(pre); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1180 if (idle > 0) { |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1181 char *st = gaim_str_seconds_to_string(time(NULL) - idle); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1182 g_string_append_printf(str, _("\nIdle: %s"), st); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1183 g_free(st); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1184 } |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1185 } |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1186 } |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1187 } |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1188 |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1189 static GString* |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1190 make_sure_text_fits(GString *string) |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1191 { |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1192 int maxw = getmaxx(stdscr) - 3; |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1193 char *str = gnt_util_onscreen_fit_string(string->str, maxw); |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1194 string = g_string_assign(string, str); |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1195 g_free(str); |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1196 return string; |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1197 } |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1198 |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1199 static gboolean |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1200 draw_tooltip_real(GGBlist *ggblist) |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1201 { |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1202 GaimBlistNode *node; |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1203 int x, y, top, width, w, h; |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1204 GString *str; |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1205 GntTree *tree; |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1206 GntWidget *widget, *box, *tv; |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1207 char *title = NULL; |
14427
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1208 int lastseen = 0; |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1209 |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1210 widget = ggblist->tree; |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1211 tree = GNT_TREE(widget); |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1212 |
14919
056c8a27668c
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14889
diff
changeset
|
1213 if (!gnt_widget_has_focus(ggblist->tree) || |
056c8a27668c
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14889
diff
changeset
|
1214 (ggblist->context && !GNT_WIDGET_IS_FLAG_SET(ggblist->context, GNT_WIDGET_INVISIBLE))) |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1215 return FALSE; |
13896
a621329e8c85
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13885
diff
changeset
|
1216 |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1217 if (ggblist->tooltip) |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1218 { |
13869
5642f4658b59
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13865
diff
changeset
|
1219 /* XXX: Once we can properly redraw on expose events, this can be removed at the end |
5642f4658b59
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13865
diff
changeset
|
1220 * to avoid the blinking*/ |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1221 remove_tooltip(ggblist); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1222 } |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1223 |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1224 node = gnt_tree_get_selection_data(tree); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1225 if (!node) |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1226 return FALSE; |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1227 |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1228 str = g_string_new(""); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1229 |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1230 if (GAIM_BLIST_NODE_IS_CONTACT(node)) { |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1231 GaimBuddy *pr = gaim_contact_get_priority_buddy((GaimContact*)node); |
14427
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1232 gboolean offline = !GAIM_BUDDY_IS_ONLINE(pr); |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1233 gboolean showoffline = gaim_prefs_get_bool(PREF_ROOT "/showoffline"); |
14919
056c8a27668c
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14889
diff
changeset
|
1234 const char *name = gaim_buddy_get_name(pr); |
14427
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1235 |
15052
34e049e6ce10
[gaim-migrate @ 17835]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15022
diff
changeset
|
1236 title = g_strdup(name); |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1237 tooltip_for_buddy(pr, str); |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1238 for (node = node->child; node; node = node->next) { |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1239 GaimBuddy *buddy = (GaimBuddy*)node; |
14427
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1240 if (offline) { |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1241 int value = gaim_blist_node_get_int(node, "last_seen"); |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1242 if (value > lastseen) |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1243 lastseen = value; |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1244 } |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1245 if (node == (GaimBlistNode*)pr) |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1246 continue; |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1247 if (!gaim_account_is_connected(buddy->account)) |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1248 continue; |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1249 if (!showoffline && !GAIM_BUDDY_IS_ONLINE(buddy)) |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1250 continue; |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1251 str = g_string_append(str, "\n----------\n"); |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1252 tooltip_for_buddy(buddy, str); |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1253 } |
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1254 } else if (GAIM_BLIST_NODE_IS_BUDDY(node)) { |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1255 GaimBuddy *buddy = (GaimBuddy *)node; |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1256 tooltip_for_buddy(buddy, str); |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1257 title = g_strdup(gaim_buddy_get_name(buddy)); |
14427
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1258 if (!GAIM_BUDDY_IS_ONLINE((GaimBuddy*)node)) |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1259 lastseen = gaim_blist_node_get_int(node, "last_seen"); |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1260 } else if (GAIM_BLIST_NODE_IS_GROUP(node)) { |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1261 GaimGroup *group = (GaimGroup *)node; |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1262 |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1263 g_string_append_printf(str, _("Online: %d\nTotal: %d"), |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1264 gaim_blist_get_group_online_count(group), |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1265 gaim_blist_get_group_size(group, FALSE)); |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1266 |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1267 title = g_strdup(group->name); |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1268 } else if (GAIM_BLIST_NODE_IS_CHAT(node)) { |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
1269 GaimChat *chat = (GaimChat *)node; |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
1270 GaimAccount *account = chat->account; |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
1271 |
13952
841a5ffbfee4
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13943
diff
changeset
|
1272 g_string_append_printf(str, _("Account: %s (%s)"), |
841a5ffbfee4
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13943
diff
changeset
|
1273 gaim_account_get_username(account), |
841a5ffbfee4
[gaim-migrate @ 16500]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13943
diff
changeset
|
1274 gaim_account_get_protocol_name(account)); |
13884
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
1275 |
eac18261c6f0
[gaim-migrate @ 16364]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13877
diff
changeset
|
1276 title = g_strdup(gaim_chat_get_name(chat)); |
14384
4a901f5d1312
[gaim-migrate @ 17090]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14379
diff
changeset
|
1277 } else { |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1278 g_string_free(str, TRUE); |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1279 return FALSE; |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1280 } |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1281 |
14427
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1282 if (lastseen > 0) { |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1283 char *tmp = gaim_str_seconds_to_string(time(NULL) - lastseen); |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1284 g_string_append_printf(str, _("\nLast Seen: %s ago"), tmp); |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1285 g_free(tmp); |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1286 } |
1e00e8245720
[gaim-migrate @ 17137]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14407
diff
changeset
|
1287 |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1288 gnt_widget_get_position(widget, &x, &y); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1289 gnt_widget_get_size(widget, &width, NULL); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1290 top = gnt_tree_get_selection_visible_line(tree); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1291 |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1292 x += width; |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1293 y += top - 1; |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1294 |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1295 box = gnt_box_new(FALSE, FALSE); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1296 gnt_box_set_toplevel(GNT_BOX(box), TRUE); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1297 GNT_WIDGET_SET_FLAGS(box, GNT_WIDGET_NO_SHADOW); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1298 gnt_box_set_title(GNT_BOX(box), title); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1299 |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1300 str = make_sure_text_fits(str); |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1301 gnt_util_get_text_bound(str->str, &w, &h); |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1302 h = MAX(2, h); |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1303 tv = gnt_text_view_new(); |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1304 gnt_widget_set_size(tv, w + 1, h); |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1305 gnt_box_add_widget(GNT_BOX(box), tv); |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1306 |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1307 gnt_widget_set_position(box, x, y); |
13916
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
1308 GNT_WIDGET_UNSET_FLAGS(box, GNT_WIDGET_CAN_TAKE_FOCUS); |
14042
143474e2b1cb
[gaim-migrate @ 16648]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14041
diff
changeset
|
1309 GNT_WIDGET_SET_FLAGS(box, GNT_WIDGET_TRANSIENT); |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1310 gnt_widget_draw(box); |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1311 |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1312 gnt_text_view_append_text_with_flags(GNT_TEXT_VIEW(tv), str->str, GNT_TEXT_FLAG_NORMAL); |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1313 gnt_text_view_scroll(GNT_TEXT_VIEW(tv), 0); |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1314 |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1315 g_free(title); |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1316 g_string_free(str, TRUE); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1317 ggblist->tooltip = box; |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1318 ggblist->tnode = node; |
13869
5642f4658b59
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13865
diff
changeset
|
1319 |
5642f4658b59
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13865
diff
changeset
|
1320 gnt_widget_set_name(ggblist->tooltip, "tooltip"); |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1321 return FALSE; |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1322 } |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1323 |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1324 static void |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1325 draw_tooltip(GGBlist *ggblist) |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1326 { |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1327 /* When an account has signed off, it removes one buddy at a time. |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1328 * Drawing the tooltip after removing each buddy is expensive. On |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1329 * top of that, if the selected buddy belongs to the disconnected |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1330 * account, then retreiving the tooltip for that causes crash. So |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1331 * let's make sure we wait for all the buddies to be removed first.*/ |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1332 int id = g_timeout_add(0, (GSourceFunc)draw_tooltip_real, ggblist); |
14935
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1333 g_object_set_data_full(G_OBJECT(ggblist->window), "draw_tooltip_calback", |
ef80d4c30a90
[gaim-migrate @ 17707]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14919
diff
changeset
|
1334 GINT_TO_POINTER(id), (GDestroyNotify)g_source_remove); |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1335 } |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1336 |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1337 static void |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1338 selection_changed(GntWidget *widget, gpointer old, gpointer current, GGBlist *ggblist) |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1339 { |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1340 draw_tooltip(ggblist); |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1341 } |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1342 |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1343 static gboolean |
14834
52022b0a9405
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14712
diff
changeset
|
1344 context_menu(GntWidget *widget, GGBlist *ggblist) |
52022b0a9405
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14712
diff
changeset
|
1345 { |
52022b0a9405
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14712
diff
changeset
|
1346 draw_context_menu(ggblist); |
52022b0a9405
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14712
diff
changeset
|
1347 return TRUE; |
52022b0a9405
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14712
diff
changeset
|
1348 } |
52022b0a9405
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14712
diff
changeset
|
1349 |
52022b0a9405
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14712
diff
changeset
|
1350 static gboolean |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1351 key_pressed(GntWidget *widget, const char *text, GGBlist *ggblist) |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1352 { |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1353 if (text[0] == 27 && text[1] == 0) { |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1354 /* Escape was pressed */ |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1355 remove_peripherals(ggblist); |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1356 } else if (strcmp(text, GNT_KEY_CTRL_O) == 0) { |
14405
8375ecb6152b
[gaim-migrate @ 17113]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14399
diff
changeset
|
1357 gaim_prefs_set_bool(PREF_ROOT "/showoffline", |
8375ecb6152b
[gaim-migrate @ 17113]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14399
diff
changeset
|
1358 !gaim_prefs_get_bool(PREF_ROOT "/showoffline")); |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1359 } else if (strcmp(text, "t") == 0) { |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1360 gg_blist_toggle_tag_buddy(gnt_tree_get_selection_data(GNT_TREE(ggblist->tree))); |
15052
34e049e6ce10
[gaim-migrate @ 17835]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
15022
diff
changeset
|
1361 gnt_bindable_perform_action_named(GNT_BINDABLE(ggblist->tree), "move-down"); |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1362 } else if (strcmp(text, "a") == 0) { |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1363 gg_blist_place_tagged(gnt_tree_get_selection_data(GNT_TREE(ggblist->tree))); |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1364 } else |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1365 return FALSE; |
13885
582aaa4e287e
[gaim-migrate @ 16365]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13884
diff
changeset
|
1366 |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1367 return TRUE; |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1368 } |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
1369 |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1370 static void |
13931
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1371 update_buddy_display(GaimBuddy *buddy, GGBlist *ggblist) |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1372 { |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1373 GaimContact *contact; |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1374 GntTextFormatFlags bflag = 0, cflag = 0; |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1375 |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1376 contact = gaim_buddy_get_contact(buddy); |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1377 |
13964
0a0d2a1fd2bc
[gaim-migrate @ 16520]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13959
diff
changeset
|
1378 gnt_tree_change_text(GNT_TREE(ggblist->tree), buddy, 0, get_display_name((GaimBlistNode*)buddy)); |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1379 gnt_tree_change_text(GNT_TREE(ggblist->tree), contact, 0, get_display_name((GaimBlistNode*)contact)); |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1380 |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1381 if (ggblist->tagged && g_list_find(ggblist->tagged, buddy)) |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1382 bflag |= GNT_TEXT_FLAG_BOLD; |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1383 if (ggblist->tagged && g_list_find(ggblist->tagged, contact)) |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1384 cflag |= GNT_TEXT_FLAG_BOLD; |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1385 |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1386 if (ggblist->tnode == (GaimBlistNode*)buddy) |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1387 draw_tooltip(ggblist); |
13931
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1388 |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1389 if (gaim_presence_is_idle(gaim_buddy_get_presence(buddy))) { |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1390 gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), buddy, bflag | GNT_TEXT_FLAG_DIM); |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1391 gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), contact, cflag | GNT_TEXT_FLAG_DIM); |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1392 } else { |
14978
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1393 gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), buddy, bflag); |
e601bc7880a6
[gaim-migrate @ 17756]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14935
diff
changeset
|
1394 gnt_tree_set_row_flags(GNT_TREE(ggblist->tree), contact, cflag); |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1395 } |
13931
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1396 } |
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1397 |
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1398 static void |
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1399 buddy_status_changed(GaimBuddy *buddy, GaimStatus *old, GaimStatus *now, GGBlist *ggblist) |
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1400 { |
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1401 update_buddy_display(buddy, ggblist); |
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1402 } |
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1403 |
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1404 static void |
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1405 buddy_idle_changed(GaimBuddy *buddy, int old, int new, GGBlist *ggblist) |
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1406 { |
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
1407 update_buddy_display(buddy, ggblist); |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1408 } |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
1409 |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1410 static void |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1411 remove_peripherals(GGBlist *ggblist) |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1412 { |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1413 if (ggblist->tooltip) |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1414 remove_tooltip(ggblist); |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1415 else if (ggblist->context) |
14843
97977138cf29
[gaim-migrate @ 17612]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14834
diff
changeset
|
1416 gnt_widget_destroy(ggblist->context); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1417 } |
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
1418 |
14010
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1419 static void |
14846
c7651586e27b
[gaim-migrate @ 17615]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14843
diff
changeset
|
1420 size_changed_cb(GntWidget *w, int wi, int h) |
14010
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1421 { |
14846
c7651586e27b
[gaim-migrate @ 17615]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14843
diff
changeset
|
1422 int width, height; |
c7651586e27b
[gaim-migrate @ 17615]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14843
diff
changeset
|
1423 gnt_widget_get_size(w, &width, &height); |
14010
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1424 gaim_prefs_set_int(PREF_ROOT "/size/width", width); |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1425 gaim_prefs_set_int(PREF_ROOT "/size/height", height); |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1426 } |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1427 |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1428 static void |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1429 save_position_cb(GntWidget *w, int x, int y) |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1430 { |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1431 gaim_prefs_set_int(PREF_ROOT "/position/x", x); |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1432 gaim_prefs_set_int(PREF_ROOT "/position/y", y); |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1433 } |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1434 |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1435 static void |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1436 reset_blist_window(GntWidget *window, gpointer null) |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1437 { |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1438 GaimBlistNode *node; |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1439 gaim_signals_disconnect_by_handle(gg_blist_get_handle()); |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1440 gaim_get_blist()->ui_data = NULL; |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1441 |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1442 node = gaim_blist_get_root(); |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1443 while (node) { |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1444 node->ui_data = NULL; |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1445 node = gaim_blist_node_next(node, TRUE); |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1446 } |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1447 |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
1448 if (ggblist->typing) |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
1449 g_source_remove(ggblist->typing); |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1450 remove_peripherals(ggblist); |
14985
fb98e9c45607
[gaim-migrate @ 17763]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14978
diff
changeset
|
1451 if (ggblist->tagged) |
fb98e9c45607
[gaim-migrate @ 17763]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14978
diff
changeset
|
1452 g_list_free(ggblist->tagged); |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1453 g_free(ggblist); |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1454 ggblist = NULL; |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1455 } |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1456 |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1457 static void |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1458 populate_buddylist() |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1459 { |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1460 GaimBlistNode *node; |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1461 GaimBuddyList *list; |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1462 |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1463 if (strcmp(gaim_prefs_get_string(PREF_ROOT "/sort_type"), "text") == 0) { |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1464 gnt_tree_set_compare_func(GNT_TREE(ggblist->tree), |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1465 (GCompareFunc)blist_node_compare_text); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1466 } else if (strcmp(gaim_prefs_get_string(PREF_ROOT "/sort_type"), "status") == 0) { |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1467 gnt_tree_set_compare_func(GNT_TREE(ggblist->tree), |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1468 (GCompareFunc)blist_node_compare_status); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1469 } else if (strcmp(gaim_prefs_get_string(PREF_ROOT "/sort_type"), "log") == 0) { |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1470 gnt_tree_set_compare_func(GNT_TREE(ggblist->tree), |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1471 (GCompareFunc)blist_node_compare_log); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1472 } |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1473 |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1474 list = gaim_get_blist(); |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1475 node = gaim_blist_get_root(); |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1476 while (node) |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1477 { |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1478 node_update(list, node); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1479 node = gaim_blist_node_next(node, FALSE); |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1480 } |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1481 } |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1482 |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1483 static void |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1484 destroy_status_list(GList *list) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1485 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1486 g_list_foreach(list, (GFunc)g_free, NULL); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1487 g_list_free(list); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1488 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1489 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1490 static void |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1491 populate_status_dropdown() |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1492 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1493 int i; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1494 GList *iter; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1495 GList *items = NULL; |
14126
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1496 StatusBoxItem *item = NULL; |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1497 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1498 /* First the primitives */ |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1499 GaimStatusPrimitive prims[] = {GAIM_STATUS_AVAILABLE, GAIM_STATUS_AWAY, |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1500 GAIM_STATUS_INVISIBLE, GAIM_STATUS_OFFLINE, GAIM_STATUS_UNSET}; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1501 |
14493
5ac8f22e7b08
[gaim-migrate @ 17212]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14477
diff
changeset
|
1502 gnt_combo_box_remove_all(GNT_COMBO_BOX(ggblist->status)); |
5ac8f22e7b08
[gaim-migrate @ 17212]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14477
diff
changeset
|
1503 |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1504 for (i = 0; prims[i] != GAIM_STATUS_UNSET; i++) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1505 { |
14126
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1506 item = g_new0(StatusBoxItem, 1); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1507 item->type = STATUS_PRIMITIVE; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1508 item->u.prim = prims[i]; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1509 items = g_list_prepend(items, item); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1510 gnt_combo_box_add_data(GNT_COMBO_BOX(ggblist->status), item, |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1511 gaim_primitive_get_name_from_type(prims[i])); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1512 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1513 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1514 /* Now the popular statuses */ |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1515 for (iter = gaim_savedstatuses_get_popular(6); iter; iter = iter->next) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1516 { |
14126
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1517 item = g_new0(StatusBoxItem, 1); |
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1518 item->type = STATUS_SAVED_POPULAR; |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1519 item->u.saved = iter->data; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1520 items = g_list_prepend(items, item); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1521 gnt_combo_box_add_data(GNT_COMBO_BOX(ggblist->status), item, |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1522 gaim_savedstatus_get_title(iter->data)); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1523 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1524 |
14132
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1525 /* New savedstatus */ |
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1526 item = g_new0(StatusBoxItem, 1); |
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1527 item->type = STATUS_SAVED_NEW; |
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1528 items = g_list_prepend(items, item); |
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1529 gnt_combo_box_add_data(GNT_COMBO_BOX(ggblist->status), item, |
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1530 _("New...")); |
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1531 |
14126
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1532 /* More savedstatuses */ |
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1533 item = g_new0(StatusBoxItem, 1); |
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1534 item->type = STATUS_SAVED_ALL; |
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1535 items = g_list_prepend(items, item); |
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1536 gnt_combo_box_add_data(GNT_COMBO_BOX(ggblist->status), item, |
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1537 _("Saved...")); |
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1538 |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1539 /* The keys for the combobox are created here, and never used |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1540 * anywhere else. So make sure the keys are freed when the widget |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1541 * is destroyed. */ |
14126
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1542 g_object_set_data_full(G_OBJECT(ggblist->status), "list of statuses", |
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1543 items, (GDestroyNotify)destroy_status_list); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1544 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1545 |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1546 static void |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1547 redraw_blist(const char *name, GaimPrefType type, gconstpointer val, gpointer data) |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1548 { |
14469
ddfe82afecd8
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14427
diff
changeset
|
1549 GaimBlistNode *node, *sel; |
14848
6d9db29f4c10
[gaim-migrate @ 17617]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14847
diff
changeset
|
1550 if (ggblist == NULL || ggblist->window == NULL) |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1551 return; |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1552 |
14469
ddfe82afecd8
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14427
diff
changeset
|
1553 sel = gnt_tree_get_selection_data(GNT_TREE(ggblist->tree)); |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1554 gnt_tree_remove_all(GNT_TREE(ggblist->tree)); |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1555 node = gaim_blist_get_root(); |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1556 for (; node; node = gaim_blist_node_next(node, TRUE)) |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1557 node->ui_data = NULL; |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1558 populate_buddylist(); |
14469
ddfe82afecd8
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14427
diff
changeset
|
1559 gnt_tree_set_selected(GNT_TREE(ggblist->tree), sel); |
ddfe82afecd8
[gaim-migrate @ 17185]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14427
diff
changeset
|
1560 draw_tooltip(ggblist); |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1561 } |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1562 |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
1563 void gg_blist_init() |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
1564 { |
14010
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1565 gaim_prefs_add_none(PREF_ROOT); |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1566 gaim_prefs_add_none(PREF_ROOT "/size"); |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1567 gaim_prefs_add_int(PREF_ROOT "/size/width", 20); |
14218 | 1568 gaim_prefs_add_int(PREF_ROOT "/size/height", 17); |
14010
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1569 gaim_prefs_add_none(PREF_ROOT "/position"); |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1570 gaim_prefs_add_int(PREF_ROOT "/position/x", 0); |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1571 gaim_prefs_add_int(PREF_ROOT "/position/y", 0); |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1572 gaim_prefs_add_bool(PREF_ROOT "/idletime", TRUE); |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1573 gaim_prefs_add_bool(PREF_ROOT "/showoffline", FALSE); |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1574 gaim_prefs_add_string(PREF_ROOT "/sort_type", "text"); |
14010
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
1575 |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1576 gaim_prefs_connect_callback(gg_blist_get_handle(), |
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1577 PREF_ROOT "/showoffline", redraw_blist, NULL); |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1578 gaim_prefs_connect_callback(gg_blist_get_handle(), |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1579 PREF_ROOT "/sort_type", redraw_blist, NULL); |
14399
28baa42b5ac2
[gaim-migrate @ 17107]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14396
diff
changeset
|
1580 |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1581 return; |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1582 } |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
1583 |
14047
c5bfede33622
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14042
diff
changeset
|
1584 static gboolean |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1585 remove_typing_cb(gpointer null) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1586 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1587 GaimSavedStatus *current; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1588 const char *message, *newmessage; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1589 GaimStatusPrimitive prim, newprim; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1590 StatusBoxItem *item; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1591 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1592 current = gaim_savedstatus_get_current(); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1593 message = gaim_savedstatus_get_message(current); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1594 prim = gaim_savedstatus_get_type(current); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1595 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1596 newmessage = gnt_entry_get_text(GNT_ENTRY(ggblist->statustext)); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1597 item = gnt_combo_box_get_selected_data(GNT_COMBO_BOX(ggblist->status)); |
14047
c5bfede33622
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14042
diff
changeset
|
1598 g_return_val_if_fail(item->type == STATUS_PRIMITIVE, FALSE); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1599 newprim = item->u.prim; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1600 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1601 if (newprim != prim || ((message && !newmessage) || |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1602 (!message && newmessage) || |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1603 (message && newmessage && g_utf8_collate(message, newmessage) != 0))) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1604 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1605 GaimSavedStatus *status = gaim_savedstatus_find_transient_by_type_and_message(newprim, newmessage); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1606 /* Holy Crap! That's a LAWNG function name */ |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1607 if (status == NULL) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1608 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1609 status = gaim_savedstatus_new(NULL, newprim); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1610 gaim_savedstatus_set_message(status, newmessage); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1611 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1612 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1613 gaim_savedstatus_activate(status); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1614 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1615 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1616 gnt_box_give_focus_to_child(GNT_BOX(ggblist->window), ggblist->tree); |
14059
2d1b41e3cf0d
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14047
diff
changeset
|
1617 if (ggblist->typing) |
2d1b41e3cf0d
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14047
diff
changeset
|
1618 g_source_remove(ggblist->typing); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1619 ggblist->typing = 0; |
14047
c5bfede33622
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14042
diff
changeset
|
1620 return FALSE; |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1621 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1622 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1623 static void |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1624 status_selection_changed(GntComboBox *box, StatusBoxItem *old, StatusBoxItem *now, gpointer null) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1625 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1626 gnt_entry_set_text(GNT_ENTRY(ggblist->statustext), NULL); |
14126
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1627 if (now->type == STATUS_SAVED_POPULAR) |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1628 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1629 /* Set the status immediately */ |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1630 gaim_savedstatus_activate(now->u.saved); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1631 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1632 else if (now->type == STATUS_PRIMITIVE) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1633 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1634 /* Move the focus to the entry box */ |
14059
2d1b41e3cf0d
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14047
diff
changeset
|
1635 /* XXX: Make sure the selected status can have a message */ |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1636 gnt_box_move_focus(GNT_BOX(ggblist->window), 1); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1637 ggblist->typing = g_timeout_add(TYPING_TIMEOUT, (GSourceFunc)remove_typing_cb, NULL); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1638 } |
14126
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1639 else if (now->type == STATUS_SAVED_ALL) |
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1640 { |
14131
db2311999862
[gaim-migrate @ 16773]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14126
diff
changeset
|
1641 /* Restore the selection to reflect current status. */ |
db2311999862
[gaim-migrate @ 16773]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14126
diff
changeset
|
1642 savedstatus_changed(gaim_savedstatus_get_current(), NULL); |
db2311999862
[gaim-migrate @ 16773]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14126
diff
changeset
|
1643 gnt_box_give_focus_to_child(GNT_BOX(ggblist->window), ggblist->tree); |
14126
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1644 gg_savedstatus_show_all(); |
b71bfeaaed58
[gaim-migrate @ 16764]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14105
diff
changeset
|
1645 } |
14132
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1646 else if (now->type == STATUS_SAVED_NEW) |
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1647 { |
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1648 savedstatus_changed(gaim_savedstatus_get_current(), NULL); |
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1649 gnt_box_give_focus_to_child(GNT_BOX(ggblist->window), ggblist->tree); |
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1650 gg_savedstatus_edit(NULL); |
2c85b0f97dd0
[gaim-migrate @ 16774]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14131
diff
changeset
|
1651 } |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1652 else |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1653 g_return_if_reached(); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1654 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1655 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1656 static gboolean |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1657 status_text_changed(GntEntry *entry, const char *text, gpointer null) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1658 { |
14047
c5bfede33622
[gaim-migrate @ 16660]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14042
diff
changeset
|
1659 if ((text[0] == 27 || (text[0] == '\t' && text[1] == '\0')) && ggblist->typing == 0) |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1660 return FALSE; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1661 |
14059
2d1b41e3cf0d
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14047
diff
changeset
|
1662 if (ggblist->typing) |
2d1b41e3cf0d
[gaim-migrate @ 16674]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14047
diff
changeset
|
1663 g_source_remove(ggblist->typing); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1664 ggblist->typing = 0; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1665 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1666 if (text[0] == '\r' && text[1] == 0) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1667 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1668 /* Set the status only after you press 'Enter' */ |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1669 remove_typing_cb(NULL); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1670 return TRUE; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1671 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1672 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1673 ggblist->typing = g_timeout_add(TYPING_TIMEOUT, (GSourceFunc)remove_typing_cb, NULL); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1674 return FALSE; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1675 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1676 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1677 static void |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1678 savedstatus_changed(GaimSavedStatus *now, GaimSavedStatus *old) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1679 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1680 GList *list; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1681 GaimStatusPrimitive prim; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1682 const char *message; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1683 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1684 if (!ggblist) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1685 return; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1686 |
14493
5ac8f22e7b08
[gaim-migrate @ 17212]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14477
diff
changeset
|
1687 /* Block the signals we don't want to emit */ |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1688 g_signal_handlers_block_matched(ggblist->status, G_SIGNAL_MATCH_FUNC, |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1689 0, 0, NULL, status_selection_changed, NULL); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1690 g_signal_handlers_block_matched(ggblist->statustext, G_SIGNAL_MATCH_FUNC, |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1691 0, 0, NULL, status_text_changed, NULL); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1692 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1693 prim = gaim_savedstatus_get_type(now); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1694 message = gaim_savedstatus_get_message(now); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1695 |
14493
5ac8f22e7b08
[gaim-migrate @ 17212]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14477
diff
changeset
|
1696 /* Rebuild the status dropdown */ |
5ac8f22e7b08
[gaim-migrate @ 17212]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14477
diff
changeset
|
1697 populate_status_dropdown(); |
5ac8f22e7b08
[gaim-migrate @ 17212]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14477
diff
changeset
|
1698 |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1699 list = g_object_get_data(G_OBJECT(ggblist->status), "list of statuses"); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1700 for (; list; list = list->next) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1701 { |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1702 StatusBoxItem *item = list->data; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1703 if (item->type == STATUS_PRIMITIVE && item->u.prim == prim) |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1704 { |
14396
9e9699792bb9
[gaim-migrate @ 17104]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14393
diff
changeset
|
1705 char *mess = gaim_unescape_html(message); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1706 gnt_combo_box_set_selected(GNT_COMBO_BOX(ggblist->status), item); |
14396
9e9699792bb9
[gaim-migrate @ 17104]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14393
diff
changeset
|
1707 gnt_entry_set_text(GNT_ENTRY(ggblist->statustext), mess); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1708 gnt_widget_draw(ggblist->status); |
14396
9e9699792bb9
[gaim-migrate @ 17104]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14393
diff
changeset
|
1709 g_free(mess); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1710 break; |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1711 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1712 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1713 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1714 g_signal_handlers_unblock_matched(ggblist->status, G_SIGNAL_MATCH_FUNC, |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1715 0, 0, NULL, status_selection_changed, NULL); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1716 g_signal_handlers_unblock_matched(ggblist->statustext, G_SIGNAL_MATCH_FUNC, |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1717 0, 0, NULL, status_text_changed, NULL); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1718 } |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
1719 |
14105
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1720 static int |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1721 blist_node_compare_text(GaimBlistNode *n1, GaimBlistNode *n2) |
14105
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1722 { |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1723 const char *s1, *s2; |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1724 char *us1, *us2; |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1725 int ret; |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1726 |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1727 g_return_val_if_fail(n1->type == n2->type, -1); |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1728 |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1729 switch (n1->type) |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1730 { |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1731 case GAIM_BLIST_GROUP_NODE: |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1732 s1 = ((GaimGroup*)n1)->name; |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1733 s2 = ((GaimGroup*)n2)->name; |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1734 break; |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1735 case GAIM_BLIST_CHAT_NODE: |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1736 s1 = gaim_chat_get_name((GaimChat*)n1); |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1737 s2 = gaim_chat_get_name((GaimChat*)n2); |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1738 break; |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1739 case GAIM_BLIST_BUDDY_NODE: |
14385
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1740 return gaim_presence_compare(gaim_buddy_get_presence((GaimBuddy*)n1), |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1741 gaim_buddy_get_presence((GaimBuddy*)n2)); |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1742 break; |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1743 case GAIM_BLIST_CONTACT_NODE: |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1744 s1 = gaim_contact_get_alias((GaimContact*)n1); |
d1e4e986bbd1
[gaim-migrate @ 17091]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14384
diff
changeset
|
1745 s2 = gaim_contact_get_alias((GaimContact*)n2); |
14105
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1746 break; |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1747 default: |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1748 return -1; |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1749 } |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1750 |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1751 us1 = g_utf8_strup(s1, -1); |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1752 us2 = g_utf8_strup(s2, -1); |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1753 ret = g_utf8_collate(us1, us2); |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1754 g_free(us1); |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1755 g_free(us2); |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1756 |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1757 return ret; |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1758 } |
eaf7f35635bc
[gaim-migrate @ 16739]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14065
diff
changeset
|
1759 |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1760 static int |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1761 blist_node_compare_status(GaimBlistNode *n1, GaimBlistNode *n2) |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1762 { |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1763 int ret; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1764 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1765 g_return_val_if_fail(n1->type == n2->type, -1); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1766 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1767 switch (n1->type) { |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1768 case GAIM_BLIST_CONTACT_NODE: |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1769 n1 = (GaimBlistNode*)gaim_contact_get_priority_buddy((GaimContact*)n1); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1770 n2 = (GaimBlistNode*)gaim_contact_get_priority_buddy((GaimContact*)n2); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1771 /* now compare the presence of the priority buddies */ |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1772 case GAIM_BLIST_BUDDY_NODE: |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1773 ret = gaim_presence_compare(gaim_buddy_get_presence((GaimBuddy*)n1), |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1774 gaim_buddy_get_presence((GaimBuddy*)n2)); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1775 if (ret != 0) |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1776 return ret; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1777 break; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1778 default: |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1779 break; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1780 } |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1781 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1782 /* Sort alphabetically if presence is not comparable */ |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1783 ret = blist_node_compare_text(n1, n2); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1784 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1785 return ret; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1786 } |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1787 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1788 static int |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1789 get_contact_log_size(GaimBlistNode *c) |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1790 { |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1791 int log = 0; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1792 GaimBlistNode *node; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1793 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1794 for (node = c->child; node; node = node->next) { |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1795 GaimBuddy *b = (GaimBuddy*)node; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1796 log += gaim_log_get_total_size(GAIM_LOG_IM, b->name, b->account); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1797 } |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1798 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1799 return log; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1800 } |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1801 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1802 static int |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1803 blist_node_compare_log(GaimBlistNode *n1, GaimBlistNode *n2) |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1804 { |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1805 int ret; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1806 GaimBuddy *b1, *b2; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1807 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1808 g_return_val_if_fail(n1->type == n2->type, -1); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1809 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1810 switch (n1->type) { |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1811 case GAIM_BLIST_BUDDY_NODE: |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1812 b1 = (GaimBuddy*)n1; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1813 b2 = (GaimBuddy*)n2; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1814 ret = gaim_log_get_total_size(GAIM_LOG_IM, b2->name, b2->account) - |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1815 gaim_log_get_total_size(GAIM_LOG_IM, b1->name, b1->account); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1816 if (ret != 0) |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1817 return ret; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1818 break; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1819 case GAIM_BLIST_CONTACT_NODE: |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1820 ret = get_contact_log_size(n2) - get_contact_log_size(n1); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1821 if (ret != 0) |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1822 return ret; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1823 break; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1824 default: |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1825 break; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1826 } |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1827 ret = blist_node_compare_text(n1, n2); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1828 return ret; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1829 } |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1830 |
14477
ca36763497d9
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14475
diff
changeset
|
1831 static gboolean |
ca36763497d9
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14475
diff
changeset
|
1832 blist_clicked(GntTree *tree, GntMouseEvent event, int x, int y, gpointer ggblist) |
ca36763497d9
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14475
diff
changeset
|
1833 { |
ca36763497d9
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14475
diff
changeset
|
1834 if (event == GNT_RIGHT_MOUSE_DOWN) { |
ca36763497d9
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14475
diff
changeset
|
1835 draw_context_menu(ggblist); |
ca36763497d9
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14475
diff
changeset
|
1836 } |
ca36763497d9
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14475
diff
changeset
|
1837 return FALSE; |
ca36763497d9
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14475
diff
changeset
|
1838 } |
ca36763497d9
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14475
diff
changeset
|
1839 |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1840 static void |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1841 plugin_action(GntMenuItem *item, gpointer data) |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1842 { |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1843 GaimPluginAction *action = data; |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1844 if (action && action->callback) |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1845 action->callback(action); |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1846 } |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1847 |
14883
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1848 static void |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1849 build_plugin_actions(GntMenuItem *item, GaimPlugin *plugin, gpointer context) |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1850 { |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1851 GntWidget *sub = gnt_menu_new(GNT_MENU_POPUP); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1852 GList *actions; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1853 GntMenuItem *menuitem; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1854 |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1855 gnt_menuitem_set_submenu(item, GNT_MENU(sub)); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1856 for (actions = GAIM_PLUGIN_ACTIONS(plugin, context); actions; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1857 actions = g_list_delete_link(actions, actions)) { |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1858 if (actions->data) { |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1859 GaimPluginAction *action = actions->data; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1860 action->plugin = plugin; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1861 action->context = context; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1862 menuitem = gnt_menuitem_new(action->label); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1863 gnt_menu_add_item(GNT_MENU(sub), menuitem); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1864 |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1865 gnt_menuitem_set_callback(menuitem, plugin_action, action); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1866 g_object_set_data_full(G_OBJECT(menuitem), "plugin_action", |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1867 action, (GDestroyNotify)gaim_plugin_action_free); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1868 } |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1869 } |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1870 } |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1871 |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1872 static void |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1873 reconstruct_plugins_menu() |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1874 { |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1875 GntWidget *sub; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1876 GntMenuItem *plg; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1877 GList *iter; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1878 |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1879 if (!ggblist) |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1880 return; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1881 |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1882 if (ggblist->plugins == NULL) |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1883 ggblist->plugins = gnt_menuitem_new(_("Plugins")); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1884 |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1885 plg = ggblist->plugins; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1886 sub = gnt_menu_new(GNT_MENU_POPUP); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1887 gnt_menuitem_set_submenu(plg, GNT_MENU(sub)); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1888 |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1889 for (iter = gaim_plugins_get_loaded(); iter; iter = iter->next) { |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1890 GaimPlugin *plugin = iter->data; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1891 GntMenuItem *item; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1892 if (GAIM_IS_PROTOCOL_PLUGIN(plugin)) |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1893 continue; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1894 |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1895 if (!GAIM_PLUGIN_HAS_ACTIONS(plugin)) |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1896 continue; |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1897 |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1898 item = gnt_menuitem_new(_(plugin->info->name)); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1899 gnt_menu_add_item(GNT_MENU(sub), item); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1900 build_plugin_actions(item, plugin, NULL); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1901 } |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1902 } |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1903 |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1904 static void |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1905 reconstruct_accounts_menu() |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1906 { |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1907 GntWidget *sub; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1908 GntMenuItem *acc, *item; |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1909 GList *iter; |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1910 |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1911 if (!ggblist) |
14883
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1912 return; |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1913 |
14883
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1914 if (ggblist->accounts == NULL) |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1915 ggblist->accounts = gnt_menuitem_new(_("Accounts")); |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1916 |
14883
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1917 acc = ggblist->accounts; |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1918 sub = gnt_menu_new(GNT_MENU_POPUP); |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1919 gnt_menuitem_set_submenu(acc, GNT_MENU(sub)); |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1920 |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1921 for (iter = gaim_accounts_get_all_active(); iter; |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1922 iter = g_list_delete_link(iter, iter)) { |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1923 GaimAccount *account = iter->data; |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1924 GaimConnection *gc = gaim_account_get_connection(account); |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1925 GaimPlugin *prpl; |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1926 |
14630
275c84b1b2a4
[gaim-migrate @ 17376]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14616
diff
changeset
|
1927 if (!gc || !GAIM_CONNECTION_IS_CONNECTED(gc)) |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1928 continue; |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1929 prpl = gc->prpl; |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1930 |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1931 if (GAIM_PLUGIN_HAS_ACTIONS(prpl)) { |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1932 item = gnt_menuitem_new(gaim_account_get_username(account)); |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1933 gnt_menu_add_item(GNT_MENU(sub), item); |
14883
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
1934 build_plugin_actions(item, prpl, gc); |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1935 } |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
1936 } |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1937 } |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1938 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1939 static void show_offline_cb(GntMenuItem *item, gpointer n) |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1940 { |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1941 gaim_prefs_set_bool(PREF_ROOT "/showoffline", |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1942 !gaim_prefs_get_bool(PREF_ROOT "/showoffline")); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1943 } |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1944 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1945 static void sort_blist_change_cb(GntMenuItem *item, gpointer n) |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1946 { |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1947 gaim_prefs_set_string(PREF_ROOT "/sort_type", n); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1948 } |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1949 |
14889
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1950 /* XXX: send_im_select* -- Xerox */ |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1951 static void |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1952 send_im_select_cb(gpointer data, GaimRequestFields *fields) |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1953 { |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1954 GaimAccount *account; |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1955 const char *username; |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1956 |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1957 account = gaim_request_fields_get_account(fields, "account"); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1958 username = gaim_request_fields_get_string(fields, "screenname"); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1959 |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1960 gaim_conversation_new(GAIM_CONV_TYPE_IM, account, username); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1961 } |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1962 |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1963 static void |
14919
056c8a27668c
[gaim-migrate @ 17691]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14889
diff
changeset
|
1964 send_im_select(GntMenuItem *item, gpointer n) |
14889
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1965 { |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1966 GaimRequestFields *fields; |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1967 GaimRequestFieldGroup *group; |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1968 GaimRequestField *field; |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1969 |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1970 fields = gaim_request_fields_new(); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1971 |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1972 group = gaim_request_field_group_new(NULL); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1973 gaim_request_fields_add_group(fields, group); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1974 |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1975 field = gaim_request_field_string_new("screenname", _("_Name"), NULL, FALSE); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1976 gaim_request_field_set_type_hint(field, "screenname"); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1977 gaim_request_field_set_required(field, TRUE); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1978 gaim_request_field_group_add_field(group, field); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1979 |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1980 field = gaim_request_field_account_new("account", _("_Account"), NULL); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1981 gaim_request_field_set_type_hint(field, "account"); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1982 gaim_request_field_set_visible(field, |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1983 (gaim_connections_get_all() != NULL && |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1984 gaim_connections_get_all()->next != NULL)); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1985 gaim_request_field_set_required(field, TRUE); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1986 gaim_request_field_group_add_field(group, field); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1987 |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1988 gaim_request_fields(gaim_get_blist(), _("New Instant Message"), |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1989 NULL, |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1990 _("Please enter the screen name or alias of the person " |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1991 "you would like to IM."), |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1992 fields, |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1993 _("OK"), G_CALLBACK(send_im_select_cb), |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1994 _("Cancel"), NULL, |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1995 NULL); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1996 } |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
1997 |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1998 static void |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
1999 create_menu() |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2000 { |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2001 GntWidget *menu, *sub; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2002 GntMenuItem *item; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2003 GntWindow *window; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2004 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2005 if (!ggblist) |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2006 return; |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2007 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2008 window = GNT_WINDOW(ggblist->window); |
14883
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2009 ggblist->menu = menu = gnt_menu_new(GNT_MENU_TOPLEVEL); |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2010 gnt_window_set_menu(window, GNT_MENU(menu)); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2011 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2012 item = gnt_menuitem_new(_("Options")); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2013 gnt_menu_add_item(GNT_MENU(menu), item); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2014 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2015 sub = gnt_menu_new(GNT_MENU_POPUP); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2016 gnt_menuitem_set_submenu(item, GNT_MENU(sub)); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2017 |
14889
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
2018 item = gnt_menuitem_new(_("Send IM...")); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
2019 gnt_menu_add_item(GNT_MENU(sub), item); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
2020 gnt_menuitem_set_callback(GNT_MENUITEM(item), send_im_select, NULL); |
ea920bd4a00b
[gaim-migrate @ 17661]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14883
diff
changeset
|
2021 |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2022 item = gnt_menuitem_new(_("Toggle offline buddies")); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2023 gnt_menu_add_item(GNT_MENU(sub), item); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2024 gnt_menuitem_set_callback(GNT_MENUITEM(item), show_offline_cb, NULL); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2025 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2026 item = gnt_menuitem_new(_("Sort by status")); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2027 gnt_menu_add_item(GNT_MENU(sub), item); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2028 gnt_menuitem_set_callback(GNT_MENUITEM(item), sort_blist_change_cb, "status"); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2029 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2030 item = gnt_menuitem_new(_("Sort alphabetically")); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2031 gnt_menu_add_item(GNT_MENU(sub), item); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2032 gnt_menuitem_set_callback(GNT_MENUITEM(item), sort_blist_change_cb, "text"); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2033 |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2034 item = gnt_menuitem_new(_("Sort by log size")); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2035 gnt_menu_add_item(GNT_MENU(sub), item); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2036 gnt_menuitem_set_callback(GNT_MENUITEM(item), sort_blist_change_cb, "log"); |
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2037 |
14883
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2038 reconstruct_accounts_menu(); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2039 gnt_menu_add_item(GNT_MENU(menu), ggblist->accounts); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2040 |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2041 reconstruct_plugins_menu(); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2042 gnt_menu_add_item(GNT_MENU(menu), ggblist->plugins); |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
2043 } |
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
2044 |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
2045 void gg_blist_show() |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
2046 { |
14847
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
2047 blist_show(gaim_get_blist()); |
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
2048 } |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
2049 |
14847
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
2050 static void |
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
2051 blist_show(GaimBuddyList *list) |
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
2052 { |
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
2053 if (ggblist == NULL) |
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
2054 new_list(list); |
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
2055 else if (ggblist->window) |
d478f3853671
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14846
diff
changeset
|
2056 return; |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2057 |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
2058 ggblist->window = gnt_vwindow_new(FALSE); |
13869
5642f4658b59
[gaim-migrate @ 16335]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13865
diff
changeset
|
2059 gnt_widget_set_name(ggblist->window, "buddylist"); |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
2060 gnt_box_set_toplevel(GNT_BOX(ggblist->window), TRUE); |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2061 gnt_box_set_title(GNT_BOX(ggblist->window), _("Buddy List")); |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
2062 gnt_box_set_pad(GNT_BOX(ggblist->window), 0); |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2063 |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2064 ggblist->tree = gnt_tree_new(); |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2065 |
13853
bbf0470cb348
[gaim-migrate @ 16312]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13850
diff
changeset
|
2066 GNT_WIDGET_SET_FLAGS(ggblist->tree, GNT_WIDGET_NO_BORDER); |
14010
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
2067 gnt_widget_set_size(ggblist->tree, gaim_prefs_get_int(PREF_ROOT "/size/width"), |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
2068 gaim_prefs_get_int(PREF_ROOT "/size/height")); |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
2069 gnt_widget_set_position(ggblist->window, gaim_prefs_get_int(PREF_ROOT "/position/x"), |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
2070 gaim_prefs_get_int(PREF_ROOT "/position/y")); |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2071 |
14846
c7651586e27b
[gaim-migrate @ 17615]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14843
diff
changeset
|
2072 gnt_tree_set_col_width(GNT_TREE(ggblist->tree), 0, |
c7651586e27b
[gaim-migrate @ 17615]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14843
diff
changeset
|
2073 gaim_prefs_get_int(PREF_ROOT "/size/width") - 1); |
c7651586e27b
[gaim-migrate @ 17615]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14843
diff
changeset
|
2074 |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2075 gnt_box_add_widget(GNT_BOX(ggblist->window), ggblist->tree); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2076 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2077 ggblist->status = gnt_combo_box_new(); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2078 gnt_box_add_widget(GNT_BOX(ggblist->window), ggblist->status); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2079 ggblist->statustext = gnt_entry_new(NULL); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2080 gnt_box_add_widget(GNT_BOX(ggblist->window), ggblist->statustext); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2081 |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2082 gnt_widget_show(ggblist->window); |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
2083 |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
2084 gaim_signal_connect(gaim_connections_get_handle(), "signed-on", gg_blist_get_handle(), |
14883
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2085 GAIM_CALLBACK(reconstruct_accounts_menu), NULL); |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
2086 gaim_signal_connect(gaim_connections_get_handle(), "signed-off", gg_blist_get_handle(), |
14883
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2087 GAIM_CALLBACK(reconstruct_accounts_menu), NULL); |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
2088 gaim_signal_connect(gaim_blist_get_handle(), "buddy-status-changed", gg_blist_get_handle(), |
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
2089 GAIM_CALLBACK(buddy_status_changed), ggblist); |
13931
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
2090 gaim_signal_connect(gaim_blist_get_handle(), "buddy-idle-changed", gg_blist_get_handle(), |
917a71dd02eb
[gaim-migrate @ 16458]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13927
diff
changeset
|
2091 GAIM_CALLBACK(buddy_idle_changed), ggblist); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2092 |
14883
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2093 gaim_signal_connect(gaim_plugins_get_handle(), "plugin-load", gg_blist_get_handle(), |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2094 GAIM_CALLBACK(reconstruct_plugins_menu), NULL); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2095 gaim_signal_connect(gaim_plugins_get_handle(), "plugin-unload", gg_blist_get_handle(), |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2096 GAIM_CALLBACK(reconstruct_plugins_menu), NULL); |
c8cd118653fc
[gaim-migrate @ 17652]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14850
diff
changeset
|
2097 |
13864
c7d84d4c5afa
[gaim-migrate @ 16328]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13861
diff
changeset
|
2098 #if 0 |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2099 gaim_signal_connect(gaim_blist_get_handle(), "buddy-signed-on", gg_blist_get_handle(), |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2100 GAIM_CALLBACK(buddy_signed_on), ggblist); |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2101 gaim_signal_connect(gaim_blist_get_handle(), "buddy-signed-off", gg_blist_get_handle(), |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2102 GAIM_CALLBACK(buddy_signed_off), ggblist); |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2103 |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
2104 /* These I plan to use to indicate unread-messages etc. */ |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
2105 gaim_signal_connect(gaim_conversations_get_handle(), "received-im-msg", gg_blist_get_handle(), |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
2106 GAIM_CALLBACK(received_im_msg), list); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
2107 gaim_signal_connect(gaim_conversations_get_handle(), "sent-im-msg", gg_blist_get_handle(), |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
2108 GAIM_CALLBACK(sent_im_msg), NULL); |
13857
d341b5ac1a78
[gaim-migrate @ 16316]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13853
diff
changeset
|
2109 |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
2110 gaim_signal_connect(gaim_conversations_get_handle(), "received-chat-msg", gg_blist_get_handle(), |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
2111 GAIM_CALLBACK(received_chat_msg), list); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
2112 #endif |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2113 |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
2114 g_signal_connect(G_OBJECT(ggblist->tree), "selection_changed", G_CALLBACK(selection_changed), ggblist); |
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
2115 g_signal_connect(G_OBJECT(ggblist->tree), "key_pressed", G_CALLBACK(key_pressed), ggblist); |
14834
52022b0a9405
[gaim-migrate @ 17601]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14712
diff
changeset
|
2116 g_signal_connect(G_OBJECT(ggblist->tree), "context-menu", G_CALLBACK(context_menu), ggblist); |
14477
ca36763497d9
[gaim-migrate @ 17195]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14475
diff
changeset
|
2117 g_signal_connect_after(G_OBJECT(ggblist->tree), "clicked", G_CALLBACK(blist_clicked), ggblist); |
13860
c1e3f7c75c3f
[gaim-migrate @ 16321]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13858
diff
changeset
|
2118 g_signal_connect(G_OBJECT(ggblist->tree), "activate", G_CALLBACK(selection_activate), ggblist); |
13916
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2119 g_signal_connect_data(G_OBJECT(ggblist->tree), "gained-focus", G_CALLBACK(draw_tooltip), |
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2120 ggblist, 0, G_CONNECT_AFTER | G_CONNECT_SWAPPED); |
13958
6741419af7f7
[gaim-migrate @ 16510]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13952
diff
changeset
|
2121 g_signal_connect_data(G_OBJECT(ggblist->tree), "lost-focus", G_CALLBACK(remove_peripherals), |
13916
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2122 ggblist, 0, G_CONNECT_AFTER | G_CONNECT_SWAPPED); |
14010
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
2123 g_signal_connect(G_OBJECT(ggblist->tree), "size_changed", G_CALLBACK(size_changed_cb), NULL); |
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
2124 g_signal_connect(G_OBJECT(ggblist->window), "position_set", G_CALLBACK(save_position_cb), NULL); |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
2125 g_signal_connect(G_OBJECT(ggblist->window), "destroy", G_CALLBACK(reset_blist_window), NULL); |
14010
7573bd40a190
[gaim-migrate @ 16602]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13964
diff
changeset
|
2126 |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2127 /* Status signals */ |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2128 gaim_signal_connect(gaim_savedstatuses_get_handle(), "savedstatus-changed", gg_blist_get_handle(), |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2129 GAIM_CALLBACK(savedstatus_changed), NULL); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2130 g_signal_connect(G_OBJECT(ggblist->status), "selection_changed", |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2131 G_CALLBACK(status_selection_changed), NULL); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2132 g_signal_connect(G_OBJECT(ggblist->statustext), "key_pressed", |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2133 G_CALLBACK(status_text_changed), NULL); |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2134 |
14712
b15c2eaeb67f
[gaim-migrate @ 17466]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14708
diff
changeset
|
2135 create_menu(); |
14616
f1f1dcb26d89
[gaim-migrate @ 17344]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14558
diff
changeset
|
2136 |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
2137 populate_buddylist(); |
14041
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2138 |
27182f83b79b
[gaim-migrate @ 16647]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14024
diff
changeset
|
2139 savedstatus_changed(gaim_savedstatus_get_current(), NULL); |
13850
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2140 } |
0e1e59770cb0
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
diff
changeset
|
2141 |
13907
cc60d0861337
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13897
diff
changeset
|
2142 void gg_blist_uninit() |
cc60d0861337
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13897
diff
changeset
|
2143 { |
14024
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
2144 if (ggblist == NULL) |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
2145 return; |
7109e6397a31
[gaim-migrate @ 16622]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14020
diff
changeset
|
2146 |
13907
cc60d0861337
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13897
diff
changeset
|
2147 gnt_widget_destroy(ggblist->window); |
cc60d0861337
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13897
diff
changeset
|
2148 g_free(ggblist); |
cc60d0861337
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13897
diff
changeset
|
2149 ggblist = NULL; |
cc60d0861337
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13897
diff
changeset
|
2150 } |
cc60d0861337
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13897
diff
changeset
|
2151 |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
2152 gboolean gg_blist_get_position(int *x, int *y) |
13916
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2153 { |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
2154 if (!ggblist || !ggblist->window) |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
2155 return FALSE; |
13916
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2156 gnt_widget_get_position(ggblist->window, x, y); |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
2157 return TRUE; |
13916
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2158 } |
13907
cc60d0861337
[gaim-migrate @ 16402]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13897
diff
changeset
|
2159 |
13916
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2160 void gg_blist_set_position(int x, int y) |
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2161 { |
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2162 gnt_widget_set_position(ggblist->window, x, y); |
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2163 } |
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2164 |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
2165 gboolean gg_blist_get_size(int *width, int *height) |
13916
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2166 { |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
2167 if (!ggblist || !ggblist->window) |
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
2168 return FALSE; |
13916
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2169 gnt_widget_get_size(ggblist->window, width, height); |
14351
1bd09d355f9e
[gaim-migrate @ 17054]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
14218
diff
changeset
|
2170 return TRUE; |
13916
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2171 } |
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2172 |
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2173 void gg_blist_set_size(int width, int height) |
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2174 { |
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2175 gnt_widget_set_size(ggblist->window, width, height); |
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2176 } |
fdf2dbed6faa
[gaim-migrate @ 16418]
Sadrul Habib Chowdhury <imadil@gmail.com>
parents:
13907
diff
changeset
|
2177 |