Mercurial > pidgin
annotate src/buddy.c @ 3551:cd938f18f3f8
[gaim-migrate @ 3626]
In the interest of continued progress, I pulled what's usable out of my
development tree and am committing it.
Here, we have gotten rid of the plugins dialog and perl menu under Tools and
put them both in preferences. Perl scripts now work like plugins--you have
to load them explicitly (it will probe $prefix/lib/gaim and $HOME/.gaim for
them) and you can unload them (although right now, this is entirely unreliable)
Oh, and I broke all your perl scripts. Sorry about that. Don't try fixing
them yet, though--I'm gonna make unloading single scripts more reliable
tommorow.
I should also finish Phase Two tommorow as well.
committer: Tailor Script <tailor@pidgin.im>
| author | Sean Egan <seanegan@gmail.com> |
|---|---|
| date | Thu, 26 Sep 2002 07:37:52 +0000 |
| parents | 7afbc063038d |
| children | cf00549c53d7 |
| rev | line source |
|---|---|
| 1 | 1 /* |
| 2 * gaim | |
| 3 * | |
| 4 * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
| 5 * | |
| 6 * This program is free software; you can redistribute it and/or modify | |
| 7 * it under the terms of the GNU General Public License as published by | |
| 8 * the Free Software Foundation; either version 2 of the License, or | |
| 9 * (at your option) any later version. | |
| 10 * | |
| 11 * This program is distributed in the hope that it will be useful, | |
| 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 * GNU General Public License for more details. | |
| 15 * | |
| 16 * You should have received a copy of the GNU General Public License | |
| 17 * along with this program; if not, write to the Free Software | |
| 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 19 * | |
| 20 */ | |
| 21 | |
|
349
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
342
diff
changeset
|
22 #ifdef HAVE_CONFIG_H |
|
2090
b66aca8e8dce
[gaim-migrate @ 2100]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2048
diff
changeset
|
23 #include <config.h> |
|
349
b402a23f35df
[gaim-migrate @ 359]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
342
diff
changeset
|
24 #endif |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
25 #ifdef GAIM_PLUGINS |
|
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
26 #include <dlfcn.h> |
|
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
27 #endif /* GAIM_PLUGINS */ |
| 1 | 28 #include <string.h> |
| 29 #include <stdio.h> | |
| 30 #include <stdlib.h> | |
| 3159 | 31 #include <ctype.h> |
| 1 | 32 #include <math.h> |
| 33 #include <time.h> | |
|
1233
728a90516211
[gaim-migrate @ 1243]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1230
diff
changeset
|
34 #include <unistd.h> |
| 3279 | 35 #include <ctype.h> |
| 1 | 36 |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
37 #include <gdk/gdkkeysyms.h> |
| 1 | 38 #include <gtk/gtk.h> |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
39 #include "prpl.h" |
| 1 | 40 #include "gaim.h" |
| 41 #include "pixmaps/login_icon.xpm" | |
| 42 #include "pixmaps/logout_icon.xpm" | |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
43 #include "pixmaps/no_icon.xpm" |
| 1 | 44 |
| 872 | 45 #include "pixmaps/away_small.xpm" |
|
1929
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
46 #include "pixmaps/away_big.xpm" |
| 1 | 47 |
| 3367 | 48 #include "pixmaps/block_small.xpm" |
| 49 | |
| 714 | 50 #include "pixmaps/add_small.xpm" |
| 718 | 51 #include "pixmaps/import_small.xpm" |
|
1815
f15d449b3167
[gaim-migrate @ 1825]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1805
diff
changeset
|
52 /*#include "pixmaps/export_small.xpm"*/ |
|
885
db5f5c33e83f
[gaim-migrate @ 895]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
875
diff
changeset
|
53 #if defined(GAIM_PLUGINS) || defined(USE_PERL) |
| 801 | 54 #include "pixmaps/plugins_small.xpm" |
| 55 #endif | |
| 56 #include "pixmaps/prefs_small.xpm" | |
|
1880
b8245bcce7e6
[gaim-migrate @ 1890]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1874
diff
changeset
|
57 #include "pixmaps/search_small.xpm" |
| 727 | 58 #include "pixmaps/close_small.xpm" |
|
1456
6650776468b3
[gaim-migrate @ 1466]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1435
diff
changeset
|
59 #include "pixmaps/exit_small.xpm" |
| 865 | 60 #include "pixmaps/pounce_small.xpm" |
| 874 | 61 #include "pixmaps/about_small.xpm" |
| 714 | 62 |
| 820 | 63 #include "pixmaps/tmp_send.xpm" |
| 1177 | 64 #include "pixmaps/send_small.xpm" |
| 820 | 65 #include "pixmaps/tb_search.xpm" |
| 870 | 66 #include "pixmaps/join.xpm" |
| 875 | 67 #include "pixmaps/gnome_add.xpm" |
| 68 #include "pixmaps/gnome_remove.xpm" | |
| 69 #include "pixmaps/group.xpm" | |
| 2780 | 70 #include "pixmaps/logout_menu.xpm" |
| 820 | 71 |
| 3131 | 72 #include "pixmaps/arrow_down.xpm" |
| 73 #include "pixmaps/arrow_right.xpm" | |
| 74 | |
| 1 | 75 static GtkTooltips *tips; |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
76 static GtkAccelGroup *accel; |
| 1 | 77 static GtkWidget *editpane; |
| 78 static GtkWidget *buddypane; | |
|
696
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
79 static GtkWidget *imchatbox; |
| 1 | 80 static GtkWidget *edittree; |
|
1929
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
81 static GtkWidget *imbutton, *infobutton, *chatbutton, *awaybutton; |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
544
diff
changeset
|
82 static GtkWidget *addbutton, *groupbutton, *rembutton; |
| 1 | 83 |
| 84 GtkWidget *blist = NULL; | |
| 85 GtkWidget *bpmenu; | |
| 86 GtkWidget *buddies; | |
| 87 | |
| 3131 | 88 typedef struct _GtkTreePixmaps GtkTreePixmaps; |
| 89 | |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
90 struct buddy_show { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
91 GtkWidget *item; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
92 GtkWidget *pix; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
93 GtkWidget *label; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
94 GtkWidget *warn; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
95 GtkWidget *idle; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
96 char *name; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
97 char *show; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
98 GSList *connlist; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
99 guint log_timer; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
100 gint sound; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
101 }; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
102 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
103 /* stuff for actual display of buddy list */ |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
104 struct group_show { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
105 GtkWidget *item; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
106 GtkWidget *label; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
107 GtkWidget *tree; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
108 GSList *members; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
109 char *name; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
110 }; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
111 static GSList *shows = NULL; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
112 |
| 3524 | 113 int docklet_count = 0; |
| 3472 | 114 |
| 2564 | 115 /* Predefine some functions */ |
|
2569
a714b8223228
[gaim-migrate @ 2582]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2564
diff
changeset
|
116 static void new_bp_callback(GtkWidget *w, struct buddy *bs); |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
117 static struct group_show *find_group_show(char *group); |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
118 static struct buddy_show *find_buddy_show(struct group_show *gs, char *name); |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
119 static int group_number(char *group); |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
120 static int buddy_number(char *group, char *buddy); |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
121 static struct group_show *new_group_show(char *group); |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
122 static struct buddy_show *new_buddy_show(struct group_show *gs, struct buddy *buddy, char **xpm); |
|
1108
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
123 static void remove_buddy_show(struct group_show *gs, struct buddy_show *bs); |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
124 static struct group_show *find_gs_by_bs(struct buddy_show *b); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
125 static void update_num_group(struct group_show *gs); |
|
2624
4d5c2c913750
[gaim-migrate @ 2637]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
126 static void update_idle_time(struct buddy_show *bs); |
| 1 | 127 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
128 void handle_group_rename(struct group *g, char *prevname) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
129 { |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
130 struct group_show *gs, *new_gs; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
131 struct buddy_show *bs; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
132 struct buddy *b; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
133 GSList *m; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
134 GtkCTreeNode *c; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
135 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
136 c = gtk_ctree_find_by_row_data(GTK_CTREE(edittree), NULL, g); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
137 gtk_ctree_node_set_text(GTK_CTREE(edittree), c, 0, g->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
138 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
139 gs = find_group_show(prevname); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
140 if (!gs) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
141 return; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
142 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
143 new_gs = find_group_show(g->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
144 if (new_gs) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
145 /* transfer everything that was in gs and is in the same gaim_conn as g |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
146 * over to new_gs. */ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
147 m = gs->members; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
148 while (m) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
149 bs = (struct buddy_show *)m->data; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
150 if (g_slist_index(bs->connlist, g->gc) >= 0) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
151 b = find_buddy(g->gc, bs->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
152 m = g_slist_next(m); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
153 bs->connlist = g_slist_remove(bs->connlist, g->gc); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
154 if (!bs->connlist) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
155 gs->members = g_slist_remove(gs->members, bs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
156 if (bs->log_timer > 0) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
157 gtk_timeout_remove(bs->log_timer); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
158 bs->log_timer = 0; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
159 remove_buddy_show(gs, bs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
160 g_free(bs->show); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
161 g_free(bs->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
162 g_free(bs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
163 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
164 if ((bs = find_buddy_show(new_gs, b->name)) == NULL) { |
|
2433
cac432940fb8
[gaim-migrate @ 2446]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2393
diff
changeset
|
165 if (g->gc->prpl->list_icon) { |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
166 bs = new_buddy_show(new_gs, b, |
|
2662
b0c5770156e1
[gaim-migrate @ 2675]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2641
diff
changeset
|
167 g->gc->prpl->list_icon(b->uc)); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
168 } else { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
169 bs = new_buddy_show(new_gs, b, (char **)no_icon_xpm); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
170 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
171 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
172 bs->connlist = g_slist_append(bs->connlist, g->gc); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
173 } else { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
174 m = g_slist_next(m); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
175 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
176 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
177 if (!gs->members) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
178 /* we just transferred all of the members out of this group_show, |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
179 * so this group_show serves no purpose now. */ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
180 shows = g_slist_remove(shows, gs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
181 gtk_tree_remove_item(GTK_TREE(buddies), gs->item); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
182 g_free(gs->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
183 g_free(gs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
184 } else { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
185 update_num_group(gs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
186 } |
|
1748
2eec724fdbcd
[gaim-migrate @ 1758]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1739
diff
changeset
|
187 update_num_group(new_gs); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
188 } else { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
189 /* two possible actions: if gs contains things that are only from g, |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
190 * just rename gs and fix the label. otherwise, move everything in g |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
191 * over to another group_show */ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
192 for (m = gs->members; m != NULL; m = g_slist_next(m)) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
193 bs = (struct buddy_show *)m->data; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
194 if (g_slist_index(bs->connlist, g->gc) < 0 || g_slist_length(bs->connlist) > 1) { |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
195 break; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
196 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
197 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
198 if (m) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
199 /* there's something from a different gaim_connection. */ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
200 new_gs = new_group_show(g->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
201 m = gs->members; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
202 while (m) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
203 bs = (struct buddy_show *)m->data; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
204 if (g_slist_index(bs->connlist, g->gc) >= 0) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
205 b = find_buddy(g->gc, bs->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
206 m = g_slist_next(m); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
207 bs->connlist = g_slist_remove(bs->connlist, g->gc); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
208 if (!bs->connlist) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
209 gs->members = g_slist_remove(gs->members, bs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
210 if (bs->log_timer > 0) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
211 gtk_timeout_remove(bs->log_timer); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
212 bs->log_timer = 0; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
213 remove_buddy_show(gs, bs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
214 g_free(bs->show); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
215 g_free(bs->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
216 g_free(bs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
217 } |
|
2433
cac432940fb8
[gaim-migrate @ 2446]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2393
diff
changeset
|
218 if (g->gc->prpl->list_icon) { |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
219 bs = new_buddy_show(new_gs, b, |
|
2662
b0c5770156e1
[gaim-migrate @ 2675]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2641
diff
changeset
|
220 g->gc->prpl->list_icon(b->uc)); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
221 } else { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
222 bs = new_buddy_show(new_gs, b, (char **)no_icon_xpm); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
223 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
224 bs->connlist = g_slist_append(NULL, g->gc); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
225 } else { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
226 m = g_slist_next(m); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
227 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
228 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
229 update_num_group(gs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
230 update_num_group(new_gs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
231 } else { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
232 g_free(gs->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
233 gs->name = g_strdup(g->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
234 update_num_group(gs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
235 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
236 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
237 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
238 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
239 void handle_buddy_rename(struct buddy *b, char *prevname) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
240 { |
|
2787
feea7103a235
[gaim-migrate @ 2800]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2780
diff
changeset
|
241 struct conversation *cnv; |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
242 struct buddy_show *bs; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
243 struct group_show *gs; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
244 struct group *g; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
245 GtkCTreeNode *c; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
246 char buf[256]; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
247 |
|
2824
2c39e70dd07c
[gaim-migrate @ 2837]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2787
diff
changeset
|
248 if (!strcmp(b->show, prevname)) |
|
2c39e70dd07c
[gaim-migrate @ 2837]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2787
diff
changeset
|
249 g_snprintf(b->show, sizeof(b->show), "%s", b->name); |
|
2c39e70dd07c
[gaim-migrate @ 2837]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2787
diff
changeset
|
250 |
|
2607
e0d4a23aac89
[gaim-migrate @ 2620]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2606
diff
changeset
|
251 /* well you shouldn't be calling this if nothing changed. duh. */ |
|
e0d4a23aac89
[gaim-migrate @ 2620]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2606
diff
changeset
|
252 do_export(b->gc); |
|
e0d4a23aac89
[gaim-migrate @ 2620]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2606
diff
changeset
|
253 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
254 c = gtk_ctree_find_by_row_data(GTK_CTREE(edittree), NULL, b); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
255 if (strcmp(b->show, b->name)) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
256 g_snprintf(buf, sizeof(buf), "%s (%s)", b->name, b->show); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
257 else |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
258 g_snprintf(buf, sizeof(buf), "%s", b->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
259 gtk_ctree_node_set_text(GTK_CTREE(edittree), c, 0, buf); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
260 |
|
2787
feea7103a235
[gaim-migrate @ 2800]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2780
diff
changeset
|
261 if ((cnv = find_conversation(b->name)) != NULL) |
|
feea7103a235
[gaim-migrate @ 2800]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2780
diff
changeset
|
262 set_convo_title(cnv); |
|
feea7103a235
[gaim-migrate @ 2800]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2780
diff
changeset
|
263 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
264 gs = find_group_show(prevname); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
265 |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
266 g = find_group_by_buddy(b->gc, b->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
267 if (!g) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
268 /* shouldn't happen */ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
269 return; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
270 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
271 gs = find_group_show(g->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
272 if (!gs) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
273 return; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
274 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
275 bs = find_buddy_show(gs, prevname); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
276 if (!bs) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
277 /* buddy's offline */ |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
278 return; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
279 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
280 |
|
2275
f7bf34a3b535
[gaim-migrate @ 2285]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2255
diff
changeset
|
281 if (g_strcasecmp(b->name, prevname)) { |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
282 bs->connlist = g_slist_remove(bs->connlist, b->gc); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
283 if (!bs->connlist) { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
284 gs->members = g_slist_remove(gs->members, bs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
285 if (bs->log_timer > 0) |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
286 gtk_timeout_remove(bs->log_timer); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
287 bs->log_timer = 0; |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
288 remove_buddy_show(gs, bs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
289 g_free(bs->show); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
290 g_free(bs->name); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
291 g_free(bs); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
292 } |
|
2778
27c22147e023
[gaim-migrate @ 2791]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2736
diff
changeset
|
293 update_num_group(gs); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
294 } else { |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
295 gtk_label_set_text(GTK_LABEL(bs->label), b->show); |
|
2624
4d5c2c913750
[gaim-migrate @ 2637]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2613
diff
changeset
|
296 update_idle_time(bs); |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
297 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
298 } |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
299 |
| 1 | 300 void destroy_buddy() |
| 301 { | |
|
2380
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
302 GSList *s = shows; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
303 struct group_show *g; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
304 GSList *m; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
305 struct buddy_show *b; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
306 while (s) { |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
307 g = (struct group_show *)s->data; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
308 debug_printf("group_show still exists: %s\n", g->name); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
309 m = g->members; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
310 while (m) { |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
311 b = (struct buddy_show *)m->data; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
312 debug_printf("buddy_show still exists: %s\n", b->name); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
313 m = g_slist_remove(m, b); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
314 if (b->log_timer > 0) |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
315 gtk_timeout_remove(b->log_timer); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
316 b->log_timer = 0; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
317 gtk_tree_remove_item(GTK_TREE(g->tree), b->item); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
318 g_free(b->show); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
319 g_free(b->name); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
320 g_free(b); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
321 } |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
322 gtk_tree_remove_item(GTK_TREE(buddies), g->item); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
323 s = g_slist_remove(s, g); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
324 g_free(g->name); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
325 g_free(g); |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
326 } |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
327 shows = NULL; |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
328 |
| 1 | 329 if (blist) |
| 330 gtk_widget_destroy(blist); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
331 blist = NULL; |
|
700
d904bf694bd7
[gaim-migrate @ 710]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
696
diff
changeset
|
332 imchatbox = NULL; |
|
1544
f7bef430ccd1
[gaim-migrate @ 1554]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1509
diff
changeset
|
333 awaymenu = NULL; |
|
f7bef430ccd1
[gaim-migrate @ 1554]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1509
diff
changeset
|
334 protomenu = NULL; |
| 1 | 335 } |
| 336 | |
| 337 static void adjust_pic(GtkWidget *button, const char *c, gchar **xpm) | |
| 338 { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
339 GdkPixmap *pm; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
340 GdkBitmap *bm; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
341 GtkWidget *pic; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
342 GtkWidget *label; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
343 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
344 /*if the user had opted to put pictures on the buttons */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
345 if (blist_options & OPT_BLIST_SHOW_BUTTON_XPM && xpm) { |
| 820 | 346 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, xpm); |
| 1 | 347 pic = gtk_pixmap_new(pm, bm); |
| 348 gtk_widget_show(pic); | |
|
644
b3900e312d8e
[gaim-migrate @ 654]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
608
diff
changeset
|
349 gdk_pixmap_unref(pm); |
|
804
17def2bb9720
[gaim-migrate @ 814]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
803
diff
changeset
|
350 gdk_bitmap_unref(bm); |
| 1 | 351 label = GTK_BIN(button)->child; |
| 352 gtk_container_remove(GTK_CONTAINER(button), label); | |
| 353 gtk_container_add(GTK_CONTAINER(button), pic); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
354 } else { |
| 1 | 355 label = gtk_label_new(c); |
| 356 gtk_widget_show(label); | |
| 357 pic = GTK_BIN(button)->child; | |
| 358 gtk_container_remove(GTK_CONTAINER(button), pic); | |
| 359 gtk_container_add(GTK_CONTAINER(button), label); | |
| 360 } | |
| 361 | |
| 362 } | |
| 363 | |
| 364 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
365 void toggle_show_empty_groups() |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
366 { |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
367 if (blist_options & OPT_BLIST_NO_MT_GRP) { |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
368 /* remove any group_shows with empty members */ |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
369 GSList *s = shows; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
370 struct group_show *g; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
371 |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
372 while (s) { |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
373 g = (struct group_show *)s->data; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
374 if (!g_slist_length(g->members)) { |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
375 shows = g_slist_remove(shows, g); |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
376 s = shows; |
|
1108
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
377 gtk_tree_remove_item(GTK_TREE(buddies), g->item); |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
378 g_free(g->name); |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
379 g_free(g); |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
380 } else |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
381 s = g_slist_next(s); |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
382 } |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
383 |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
384 } else { |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
385 /* put back all groups */ |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
386 GSList *c = connections; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
387 struct gaim_connection *gc; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
388 GSList *m; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
389 struct group *g; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
390 |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
391 while (c) { |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
392 gc = (struct gaim_connection *)c->data; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
393 m = gc->groups; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
394 while (m) { |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
395 g = (struct group *)m->data; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
396 m = g_slist_next(m); |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
397 if (!find_group_show(g->name)) |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
398 new_group_show(g->name); |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
399 } |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
400 c = g_slist_next(c); |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
401 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
402 |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
403 } |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
404 } |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
405 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
406 void toggle_buddy_pixmaps() |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
407 { |
|
1711
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
408 GSList *s = shows; |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
409 struct group_show *g; |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
410 GSList *m; |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
411 struct buddy_show *b; |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
412 |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
413 while (s) { |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
414 g = s->data; |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
415 m = g->members; |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
416 while (m) { |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
417 b = m->data; |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
418 if (blist_options & OPT_BLIST_SHOW_PIXMAPS) |
|
1711
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
419 gtk_widget_show(b->pix); |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
420 else |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
421 gtk_widget_hide(b->pix); |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
422 m = m->next; |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
423 } |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
424 s = s->next; |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
425 } |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
426 } |
|
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
427 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
428 static void update_num_group(struct group_show *gs) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
429 { |
|
1070
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
430 GSList *c = connections; |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
431 struct gaim_connection *gc; |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
432 struct group *g; |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
433 struct buddy_show *b; |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
434 int total = 0, on = 0; |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
435 char buf[256]; |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
436 |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
437 if (!g_slist_find(shows, gs)) { |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
438 debug_printf("update_num_group called for unfound group_show %s\n", gs->name); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
439 return; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
440 } |
|
1085
8da0bf36fb99
[gaim-migrate @ 1095]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1083
diff
changeset
|
441 |
|
1070
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
442 while (c) { |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
443 gc = (struct gaim_connection *)c->data; |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
444 g = find_group(gc, gs->name); |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
445 if (g) { |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
446 total += g_slist_length(g->members); |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
447 } |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
448 c = g_slist_next(c); |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
449 } |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
450 |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
451 c = gs->members; |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
452 while (c) { |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
453 b = (struct buddy_show *)c->data; |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
454 on += g_slist_length(b->connlist); |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
455 c = g_slist_next(c); |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
456 } |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
457 |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
458 if (blist_options & OPT_BLIST_SHOW_GRPNUM) |
|
1070
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
459 g_snprintf(buf, sizeof buf, "%s (%d/%d)", gs->name, on, total); |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
460 else |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
461 g_snprintf(buf, sizeof buf, "%s", gs->name); |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
462 |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
463 gtk_label_set_text(GTK_LABEL(gs->label), buf); |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
464 } |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
465 |
|
2883
c12e3e66d54a
[gaim-migrate @ 2896]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2856
diff
changeset
|
466 void update_num_groups(void) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
467 { |
|
1070
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
468 GSList *s = shows; |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
469 struct group_show *g; |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
470 |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
471 while (s) { |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
472 g = (struct group_show *)s->data; |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
473 update_num_group(g); |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
474 s = g_slist_next(s); |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
475 } |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
476 } |
|
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
477 |
| 1 | 478 void update_button_pix() |
| 479 { | |
| 480 | |
| 875 | 481 adjust_pic(addbutton, _("Add"), (gchar **)gnome_add_xpm); |
| 482 adjust_pic(groupbutton, _("Group"), (gchar **)group_xpm); | |
| 483 adjust_pic(rembutton, _("Remove"), (gchar **)gnome_remove_xpm); | |
| 484 | |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
485 if (!(blist_options & OPT_BLIST_NO_BUTTONS)) { |
| 1963 | 486 adjust_pic(awaybutton, _("Away"), (gchar **)away_big_xpm); |
| 870 | 487 adjust_pic(chatbutton, _("Chat"), (gchar **)join_xpm); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
488 adjust_pic(imbutton, _("IM"), (gchar **)tmp_send_xpm); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
489 adjust_pic(infobutton, _("Info"), (gchar **)tb_search_xpm); |
| 820 | 490 } |
|
544
53a85529d670
[gaim-migrate @ 554]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
535
diff
changeset
|
491 gtk_widget_hide(addbutton->parent); |
|
53a85529d670
[gaim-migrate @ 554]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
535
diff
changeset
|
492 gtk_widget_show(addbutton->parent); |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
493 if (!(blist_options & OPT_BLIST_NO_BUTTONS)) { |
|
696
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
494 gtk_widget_hide(chatbutton->parent); |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
495 gtk_widget_show(chatbutton->parent); |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
496 } |
| 820 | 497 } |
| 1 | 498 |
| 3032 | 499 void set_blist_tab() |
| 500 { | |
| 501 GtkWidget *blist_notebook; | |
| 3154 | 502 if (!buddypane) |
| 503 return; | |
| 504 | |
| 3032 | 505 blist_notebook = buddypane->parent; /* The "Online" Page */ |
| 506 | |
| 507 debug_printf("blist_options = %d\n", blist_options); | |
| 508 if((blist_options & OPT_BLIST_BOTTOM_TAB)) | |
| 509 gtk_notebook_set_tab_pos(GTK_NOTEBOOK(blist_notebook), GTK_POS_BOTTOM); | |
| 510 else | |
| 511 gtk_notebook_set_tab_pos(GTK_NOTEBOOK(blist_notebook), GTK_POS_TOP); | |
| 512 | |
| 513 } | |
| 1 | 514 |
| 515 | |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
516 static int handle_click_group(GtkWidget *widget, GdkEventButton *event, struct group *g) |
| 1 | 517 { |
| 518 if (event->type == GDK_2BUTTON_PRESS) { | |
| 519 if (GTK_TREE_ITEM(widget)->expanded) | |
| 520 gtk_tree_item_collapse(GTK_TREE_ITEM(widget)); | |
| 521 else | |
| 522 gtk_tree_item_expand(GTK_TREE_ITEM(widget)); | |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
523 return TRUE; |
| 1 | 524 } |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
525 |
|
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
526 return FALSE; |
| 1 | 527 } |
| 528 | |
|
1739
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
529 void pressed_im_bud(GtkWidget *widget, struct buddy *b) |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
530 { |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
531 struct conversation *c; |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
532 |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
533 c = find_conversation(b->name); |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
534 |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
535 if (c != NULL) { |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
536 gdk_window_show(c->window->window); |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
537 } else { |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
538 c = new_conversation(b->name); |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
539 |
|
1898
73d73939f698
[gaim-migrate @ 1908]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1881
diff
changeset
|
540 set_convo_gc(c, b->gc); |
|
1739
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
541 } |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
542 } |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
543 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
544 void pressed_im(GtkWidget *widget, struct buddy_show *b) |
| 1 | 545 { |
| 546 struct conversation *c; | |
| 547 | |
| 548 c = find_conversation(b->name); | |
| 549 | |
| 550 if (c != NULL) { | |
| 87 | 551 gdk_window_show(c->window->window); |
| 1 | 552 } else { |
| 553 c = new_conversation(b->name); | |
|
1150
aa3dda7fc352
[gaim-migrate @ 1160]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1138
diff
changeset
|
554 |
|
1898
73d73939f698
[gaim-migrate @ 1908]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1881
diff
changeset
|
555 set_convo_gc(c, b->connlist->data); |
| 1 | 556 } |
| 557 } | |
| 558 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
559 void pressed_log(GtkWidget *widget, char *name) |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
560 { |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
561 show_log(name); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
562 } |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
563 |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
564 void show_syslog() |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
565 { |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
566 show_log(NULL); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
567 } |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
568 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
569 void pressed_alias_bs(GtkWidget *widget, struct buddy_show *bs) |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
703
diff
changeset
|
570 { |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
571 alias_dialog_bud(find_buddy(bs->connlist->data, bs->name)); |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
572 } |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
573 |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
574 void pressed_alias_bud(GtkWidget *widget, struct buddy *b) |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
575 { |
|
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
576 alias_dialog_bud(b); |
| 1 | 577 } |
| 578 | |
|
2170
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
579 static void menu_click(GtkObject *obj, char *who) |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
580 { |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
581 GList *list = gtk_object_get_user_data(obj); |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
582 struct proto_buddy_menu *pbm = list->data; |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
583 if (pbm->callback) |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
584 pbm->callback(pbm->gc, who); |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
585 } |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
586 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
587 static int handle_click_buddy(GtkWidget *widget, GdkEventButton *event, struct buddy_show *b) |
| 1 | 588 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
589 if (!b->connlist) |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
590 return FALSE; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
591 if (event->type == GDK_2BUTTON_PRESS && event->button == 1) { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
592 struct conversation *c; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
593 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
594 c = find_conversation(b->name); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
595 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
596 if (c != NULL) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
597 gdk_window_show(c->window->window); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
598 else |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
599 c = new_conversation(b->name); |
|
1150
aa3dda7fc352
[gaim-migrate @ 1160]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1138
diff
changeset
|
600 |
|
2132
a6b9983cead1
[gaim-migrate @ 2142]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2131
diff
changeset
|
601 set_convo_gc(c, b->connlist->data); |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
602 if (im_options & OPT_IM_ONE_WINDOW) |
|
1594
ac8eddd16e89
[gaim-migrate @ 1604]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1591
diff
changeset
|
603 raise_convo_tab(c); |
| 1 | 604 } else if (event->type == GDK_BUTTON_PRESS && event->button == 3) { |
| 3251 | 605 static GtkWidget *menu = NULL; |
| 606 static GList *mo_top = NULL; | |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
607 GtkWidget *button; |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
608 GtkWidget *menuitem; |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
609 GtkWidget *conmenu; |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
610 GSList *cn = b->connlist; |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
611 struct gaim_connection *g; |
| 1 | 612 /* We're gonna make us a menu right here */ |
| 613 | |
| 3251 | 614 /* |
| 615 * If a menu already exists, destroy it before creating a new one, | |
| 616 * thus freeing-up the memory it occupied. Same for its associated | |
| 617 * (prpl menu items) GList. | |
| 618 */ | |
| 619 if(menu) { | |
| 620 gtk_widget_destroy(menu); | |
| 621 if(mo_top) { | |
| 622 g_list_foreach(mo_top, (GFunc)g_free, NULL); | |
| 623 g_list_free(mo_top); | |
| 624 mo_top = NULL; | |
| 625 } | |
| 626 } | |
| 627 | |
| 1 | 628 menu = gtk_menu_new(); |
| 629 | |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
630 button = gtk_menu_item_new_with_label(_("IM")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
631 gtk_signal_connect(GTK_OBJECT(button), "activate", GTK_SIGNAL_FUNC(pressed_im), b); |
| 1 | 632 gtk_menu_append(GTK_MENU(menu), button); |
| 633 gtk_widget_show(button); | |
| 634 | |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
703
diff
changeset
|
635 button = gtk_menu_item_new_with_label(_("Alias")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
636 gtk_signal_connect(GTK_OBJECT(button), "activate", GTK_SIGNAL_FUNC(pressed_alias_bs), b); |
|
710
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
703
diff
changeset
|
637 gtk_menu_append(GTK_MENU(menu), button); |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
703
diff
changeset
|
638 gtk_widget_show(button); |
|
efd72a117875
[gaim-migrate @ 720]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
703
diff
changeset
|
639 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
640 button = gtk_menu_item_new_with_label(_("Add Buddy Pounce")); |
| 1 | 641 gtk_signal_connect(GTK_OBJECT(button), "activate", |
|
2569
a714b8223228
[gaim-migrate @ 2582]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2564
diff
changeset
|
642 GTK_SIGNAL_FUNC(new_bp_callback), |
|
a714b8223228
[gaim-migrate @ 2582]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2564
diff
changeset
|
643 cn ? find_buddy(cn->data, b->name) : NULL); |
| 1 | 644 gtk_menu_append(GTK_MENU(menu), button); |
| 645 gtk_widget_show(button); | |
| 646 | |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
647 button = gtk_menu_item_new_with_label(_("View Log")); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
648 gtk_signal_connect(GTK_OBJECT(button), "activate", |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
649 GTK_SIGNAL_FUNC(pressed_log), b->name); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
650 gtk_menu_append(GTK_MENU(menu), button); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
651 gtk_widget_show(button); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
652 |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
653 if (g_slist_length(cn) > 1) { |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
654 while (cn) { |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
655 g = (struct gaim_connection *)cn->data; |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1496
diff
changeset
|
656 if (g->prpl->buddy_menu) { |
| 3251 | 657 GList *mo = mo_top = g->prpl->buddy_menu(g, b->name); |
|
2170
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
658 |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
659 menuitem = gtk_menu_item_new_with_label(g->username); |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
660 gtk_menu_append(GTK_MENU(menu), menuitem); |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
661 gtk_widget_show(menuitem); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
662 |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
663 conmenu = gtk_menu_new(); |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
664 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), conmenu); |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
665 gtk_widget_show(conmenu); |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
666 |
|
2170
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
667 while (mo) { |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
668 struct proto_buddy_menu *pbm = mo->data; |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
669 GtkWidget *button; |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
670 |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
671 button = gtk_menu_item_new_with_label(pbm->label); |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
672 gtk_signal_connect(GTK_OBJECT(button), "activate", |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
673 GTK_SIGNAL_FUNC(menu_click), b->name); |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
674 gtk_object_set_user_data(GTK_OBJECT(button), mo); |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
675 gtk_menu_append(GTK_MENU(conmenu), button); |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
676 gtk_widget_show(button); |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
677 |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
678 mo = mo->next; |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
679 } |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
680 } |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
681 cn = g_slist_next(cn); |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
682 } |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
683 } else { |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
684 g = (struct gaim_connection *)cn->data; |
|
2170
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
685 if (g->prpl->buddy_menu) { |
| 3251 | 686 GList *mo = mo_top = g->prpl->buddy_menu(g, b->name); |
|
2170
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
687 |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
688 while (mo) { |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
689 struct proto_buddy_menu *pbm = mo->data; |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
690 GtkWidget *button; |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
691 |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
692 button = gtk_menu_item_new_with_label(pbm->label); |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
693 gtk_signal_connect(GTK_OBJECT(button), "activate", |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
694 GTK_SIGNAL_FUNC(menu_click), b->name); |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
695 gtk_object_set_user_data(GTK_OBJECT(button), mo); |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
696 gtk_menu_append(GTK_MENU(menu), button); |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
697 gtk_widget_show(button); |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
698 |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
699 mo = mo->next; |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
700 } |
|
c24595d3c364
[gaim-migrate @ 2180]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2140
diff
changeset
|
701 } |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
702 } |
|
1874
1e33bd2d7780
[gaim-migrate @ 1884]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1870
diff
changeset
|
703 |
|
1e33bd2d7780
[gaim-migrate @ 1884]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1870
diff
changeset
|
704 /* we send the menu widget so we can add menuitems within a plugin */ |
| 3517 | 705 plugin_event(event_draw_menu, menu, b->name); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
706 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
707 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, event->time); |
| 1 | 708 |
| 709 } else if (event->type == GDK_3BUTTON_PRESS && event->button == 2) { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
710 if (!g_strcasecmp("zilding", normalize (b->name))) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
711 show_ee_dialog(0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
712 else if (!g_strcasecmp("robflynn", normalize (b->name))) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
713 show_ee_dialog(1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
714 else if (!g_strcasecmp("flynorange", normalize (b->name))) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
715 show_ee_dialog(2); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
716 else if (!g_strcasecmp("ewarmenhoven", normalize (b->name))) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
717 show_ee_dialog(3); |
| 2472 | 718 else if (!g_strcasecmp("markster97", normalize (b->name))) |
| 719 show_ee_dialog(4); | |
| 2993 | 720 else if (!g_strcasecmp("seanegn", normalize (b->name))) |
| 721 show_ee_dialog(5); | |
| 3043 | 722 else if (!g_strcasecmp("chipx86", normalize (b->name))) |
| 723 show_ee_dialog(6); | |
| 3152 | 724 else if (!g_strcasecmp("kingant", normalize (b->name))) |
| 725 show_ee_dialog(7); | |
| 3508 | 726 else if (!g_strcasecmp("lschiere", normalize (b->name))) |
| 727 show_ee_dialog(8); | |
| 1 | 728 |
| 729 } else { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
730 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
731 /* Anything for other buttons? :) */ |
| 1 | 732 } |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
733 |
|
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
734 return FALSE; |
| 1 | 735 } |
| 736 | |
|
1396
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
737 static void un_alias(GtkWidget *a, struct buddy *b) |
|
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
738 { |
|
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
739 g_snprintf(b->show, sizeof(b->show), "%s", b->name); |
| 3496 | 740 /* passing b->show as the previous name seems to be the (current) |
| 741 * way to get the bs->lable changed for that buddy. However, this | |
| 742 * function should do everything that needs to be done | |
| 743 */ | |
| 744 handle_buddy_rename(b, b->show); /* make me a sammich! */ | |
| 3136 | 745 serv_alias_buddy(b); |
| 3496 | 746 |
|
1396
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
747 } |
| 1 | 748 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
749 static gboolean click_edit_tree(GtkWidget *widget, GdkEventButton *event, gpointer data) |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
750 { |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
751 GtkCTreeNode *node; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
752 int *type; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
753 int row, column; |
| 3251 | 754 static GtkWidget *menu = NULL; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
755 GtkWidget *button; |
| 3313 | 756 static GList *mo_top = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
757 |
|
1392
dc6ba774bfc5
[gaim-migrate @ 1402]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1391
diff
changeset
|
758 if (event->button != 3 || event->type != GDK_BUTTON_PRESS) |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
759 return FALSE; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
760 |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
761 if (!gtk_clist_get_selection_info(GTK_CLIST(edittree), event->x, event->y, &row, &column)) |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
762 return FALSE; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
763 |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
764 node = gtk_ctree_node_nth(GTK_CTREE(edittree), row); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
765 type = gtk_ctree_node_get_row_data(GTK_CTREE(edittree), node); |
| 3251 | 766 |
| 767 /* | |
| 768 * If a menu already exists, destroy it before creating a new one, | |
| 769 * thus freeing-up the memory it occupied. | |
| 770 */ | |
| 771 if(menu) { | |
| 772 gtk_widget_destroy(menu); | |
| 773 menu = NULL; /* safety measure */ | |
| 3313 | 774 if(mo_top) { |
| 775 g_list_foreach(mo_top, (GFunc)g_free, NULL); | |
| 776 g_list_free(mo_top); | |
| 777 mo_top = NULL; | |
| 778 } | |
| 3251 | 779 } |
| 780 | |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
781 if (*type == EDIT_GROUP) { |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
782 struct group *group = (struct group *)type; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
783 menu = gtk_menu_new(); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
784 |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
785 button = gtk_menu_item_new_with_label(_("Rename")); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
786 gtk_signal_connect(GTK_OBJECT(button), "activate", |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
787 GTK_SIGNAL_FUNC(show_rename_group), group); |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
788 gtk_menu_append(GTK_MENU(menu), button); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
789 gtk_widget_show(button); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
790 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
791 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, event->time); |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
792 |
|
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
793 return TRUE; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
794 } else if (*type == EDIT_BUDDY) { |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
795 struct buddy *b = (struct buddy *)type; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
796 menu = gtk_menu_new(); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
797 |
|
1739
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
798 button = gtk_menu_item_new_with_label(_("IM")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
799 gtk_signal_connect(GTK_OBJECT(button), "activate", GTK_SIGNAL_FUNC(pressed_im_bud), b); |
|
1739
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
800 gtk_menu_append(GTK_MENU(menu), button); |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
801 gtk_widget_show(button); |
|
0ddc5418a0b4
[gaim-migrate @ 1749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1735
diff
changeset
|
802 |
|
1392
dc6ba774bfc5
[gaim-migrate @ 1402]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1391
diff
changeset
|
803 button = gtk_menu_item_new_with_label(_("Alias")); |
|
dc6ba774bfc5
[gaim-migrate @ 1402]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1391
diff
changeset
|
804 gtk_signal_connect(GTK_OBJECT(button), "activate", |
|
1397
d2799e0672ee
[gaim-migrate @ 1407]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1396
diff
changeset
|
805 GTK_SIGNAL_FUNC(pressed_alias_bud), b); |
|
1392
dc6ba774bfc5
[gaim-migrate @ 1402]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1391
diff
changeset
|
806 gtk_menu_append(GTK_MENU(menu), button); |
|
dc6ba774bfc5
[gaim-migrate @ 1402]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1391
diff
changeset
|
807 gtk_widget_show(button); |
|
dc6ba774bfc5
[gaim-migrate @ 1402]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1391
diff
changeset
|
808 |
|
1396
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
809 if (strcmp(b->name, b->show)) { |
|
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
810 button = gtk_menu_item_new_with_label(_("Un-Alias")); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
811 gtk_signal_connect(GTK_OBJECT(button), "activate", GTK_SIGNAL_FUNC(un_alias), b); |
|
1396
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
812 gtk_menu_append(GTK_MENU(menu), button); |
|
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
813 gtk_widget_show(button); |
|
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
814 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
815 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
816 button = gtk_menu_item_new_with_label(_("Rename")); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
817 gtk_signal_connect(GTK_OBJECT(button), "activate", |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
818 GTK_SIGNAL_FUNC(show_rename_buddy), b); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
819 gtk_menu_append(GTK_MENU(menu), button); |
|
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
820 gtk_widget_show(button); |
|
1396
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
821 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
822 button = gtk_menu_item_new_with_label(_("Add Buddy Pounce")); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
823 gtk_signal_connect(GTK_OBJECT(button), "activate", |
| 2564 | 824 GTK_SIGNAL_FUNC(new_bp_callback), b); |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
825 gtk_menu_append(GTK_MENU(menu), button); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
826 gtk_widget_show(button); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
827 |
|
1477
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
828 button = gtk_menu_item_new_with_label(_("View Log")); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
829 gtk_signal_connect(GTK_OBJECT(button), "activate", |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
830 GTK_SIGNAL_FUNC(pressed_log), b->name); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
831 gtk_menu_append(GTK_MENU(menu), button); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
832 gtk_widget_show(button); |
|
1d0fc2622b29
[gaim-migrate @ 1487]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1465
diff
changeset
|
833 |
| 3313 | 834 /* |
| 835 * Add protocol-specific edit buddy menu items if they exist | |
| 836 */ | |
| 837 if (b->gc->prpl->edit_buddy_menu) { | |
| 838 GList *mo = mo_top = b->gc->prpl->edit_buddy_menu(b->gc, b->name); | |
| 839 | |
| 840 while (mo) { | |
| 841 struct proto_buddy_menu *pbm = mo->data; | |
| 842 GtkWidget *button; | |
| 843 | |
| 844 button = gtk_menu_item_new_with_label(pbm->label); | |
| 845 gtk_signal_connect(GTK_OBJECT(button), "activate", | |
| 846 GTK_SIGNAL_FUNC(menu_click), b->name); | |
| 847 gtk_object_set_user_data(GTK_OBJECT(button), mo); | |
| 848 gtk_menu_append(GTK_MENU(menu), button); | |
| 849 gtk_widget_show(button); | |
| 850 | |
| 851 mo = mo->next; | |
| 852 } | |
| 853 } | |
| 854 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
855 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, event->button, event->time); |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
856 |
|
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
857 return TRUE; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
858 } |
|
1456
6650776468b3
[gaim-migrate @ 1466]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1435
diff
changeset
|
859 |
|
2725
f3c094e78609
[gaim-migrate @ 2738]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2681
diff
changeset
|
860 return FALSE; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
861 } |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
862 |
| 1 | 863 |
| 3059 | 864 /* |
| 865 * Find and remove CTree node associated with buddylist entry | |
| 866 */ | |
| 867 static void ui_remove_buddy_node(struct group *rem_g, struct buddy *rem_b) | |
| 868 { | |
| 869 GtkCTreeNode *gnode = NULL, *bnode; | |
| 870 | |
| 871 if((gnode = gtk_ctree_find_by_row_data(GTK_CTREE(edittree), NULL, rem_g)) != NULL && | |
| 872 (bnode = gtk_ctree_find_by_row_data(GTK_CTREE(edittree), gnode, rem_b)) != NULL) | |
| 873 { | |
| 874 gtk_ctree_remove_node(GTK_CTREE(edittree), bnode); | |
| 875 } | |
| 876 } | |
| 877 | |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
878 void ui_remove_buddy(struct gaim_connection *gc, struct group *rem_g, struct buddy *rem_b) |
| 1 | 879 { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
880 struct conversation *c; |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
881 struct group_show *gs; |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
882 struct buddy_show *bs; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
883 |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
884 gs = find_group_show(rem_g->name); |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
885 if (gs) { |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
886 bs = find_buddy_show(gs, rem_b->name); |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
887 if (bs) { |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
888 if (g_slist_find(bs->connlist, gc)) { |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
889 bs->connlist = g_slist_remove(bs->connlist, gc); |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
890 if (!g_slist_length(bs->connlist)) { |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
891 gs->members = g_slist_remove(gs->members, bs); |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
892 if (bs->log_timer > 0) |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
893 gtk_timeout_remove(bs->log_timer); |
|
1098
b335c0ce305e
[gaim-migrate @ 1108]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1097
diff
changeset
|
894 bs->log_timer = 0; |
|
1108
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
895 remove_buddy_show(gs, bs); |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
896 g_free(bs->show); |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
897 g_free(bs->name); |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
898 g_free(bs); |
|
1083
12478dd1e9d7
[gaim-migrate @ 1093]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1081
diff
changeset
|
899 if (!g_slist_length(gs->members) && |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
900 (blist_options & OPT_BLIST_NO_MT_GRP)) { |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
901 shows = g_slist_remove(shows, gs); |
|
1108
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
902 gtk_tree_remove_item(GTK_TREE(buddies), gs->item); |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
903 g_free(gs->name); |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
904 g_free(gs); |
| 3134 | 905 gs = NULL; |
|
2778
27c22147e023
[gaim-migrate @ 2791]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2736
diff
changeset
|
906 } |
|
27c22147e023
[gaim-migrate @ 2791]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2736
diff
changeset
|
907 } |
|
27c22147e023
[gaim-migrate @ 2791]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2736
diff
changeset
|
908 } |
|
27c22147e023
[gaim-migrate @ 2791]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2736
diff
changeset
|
909 } |
| 3103 | 910 if (gs) |
| 911 update_num_group(gs); | |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
912 } |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
913 |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
914 c = find_conversation(rem_b->name); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
915 if (c) |
| 1352 | 916 update_buttons_by_protocol(c); |
| 3059 | 917 |
| 918 /* Remove CTree node for buddy */ | |
| 919 ui_remove_buddy_node(rem_g, rem_b); | |
| 920 | |
| 1 | 921 } |
| 922 | |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
923 void ui_remove_group(struct gaim_connection *gc, struct group *rem_g) |
| 1 | 924 { |
|
1297
aa6a0fe8e03f
[gaim-migrate @ 1307]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
925 struct group_show *gs; |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
926 |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
927 if ((gs = find_group_show(rem_g->name)) != NULL) { |
|
1465
163b9ee8d789
[gaim-migrate @ 1475]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1456
diff
changeset
|
928 shows = g_slist_remove(shows, gs); |
|
1297
aa6a0fe8e03f
[gaim-migrate @ 1307]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
929 gtk_tree_remove_item(GTK_TREE(buddies), gs->item); |
|
aa6a0fe8e03f
[gaim-migrate @ 1307]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
930 g_free(gs->name); |
|
aa6a0fe8e03f
[gaim-migrate @ 1307]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
931 g_free(gs); |
|
aa6a0fe8e03f
[gaim-migrate @ 1307]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1261
diff
changeset
|
932 } |
| 1 | 933 } |
| 934 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
935 gboolean edit_drag_compare_func(GtkCTree *ctree, GtkCTreeNode *source_node, |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
936 GtkCTreeNode *new_parent, GtkCTreeNode *new_sibling) |
| 1 | 937 { |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
938 int *type; |
| 1 | 939 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
940 type = (int *)gtk_ctree_node_get_row_data(GTK_CTREE(ctree), source_node); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
941 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
942 if (*type == EDIT_GC) { |
| 1 | 943 if (!new_parent) |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
944 return TRUE; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
945 } else if (*type == EDIT_BUDDY) { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
946 if (new_parent) { |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
947 type = (int *)gtk_ctree_node_get_row_data(GTK_CTREE(ctree), new_parent); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
948 if (*type == EDIT_GROUP) |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
949 return TRUE; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
950 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
951 } else { /* group */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
952 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
953 if (g_slist_length(connections) > 1 && new_parent) { |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
954 type = (int *)gtk_ctree_node_get_row_data(GTK_CTREE(ctree), new_parent); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
955 if (*type == EDIT_GC) |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
956 return TRUE; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
957 } else if (g_slist_length(connections) == 1 && !new_parent) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
958 return TRUE; |
| 1 | 959 } |
| 960 | |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
961 return FALSE; |
| 1 | 962 } |
| 963 | |
| 964 | |
|
2380
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
965 /* you really shouldn't call this function */ |
|
6f83c22d9e70
[gaim-migrate @ 2393]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2372
diff
changeset
|
966 void redo_buddy_list() |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
967 { |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
968 /* so here we can safely assume that we don't have to add or delete anything, we |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
969 * just have to go through and reorder everything. remember, nothing is going to |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
970 * change connections, so we can assume that we don't have to change any user |
|
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
971 * data or anything. this is just a simple reordering. so calm down. */ |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
972 /* note: we only have to do this if we want to strongly enforce order; however, |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
973 * order doesn't particularly matter to the stability of the program. but, it's |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
974 * kind of nice to have */ |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
975 /* the easy way to implement this is just to go through shows and destroy all the |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
976 * group_shows, then go through the connections and put everything back. though, |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
977 * there are slight complications with that; most of them deal with timeouts and |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
978 * people not seeing the login icon for the full 10 seconds. butt fuck them. */ |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
979 GSList *s = shows; |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
980 struct group_show *gs; |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
981 GSList *m; |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
982 struct buddy_show *bs; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
983 GSList *c = connections; |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
984 struct gaim_connection *gc; |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
985 GSList *gr; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
986 struct group *g; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
987 struct buddy *b; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
988 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
989 if (!blist) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
990 return; |
|
1150
aa3dda7fc352
[gaim-migrate @ 1160]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1138
diff
changeset
|
991 |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
992 while (s) { |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
993 gs = (struct group_show *)s->data; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
994 s = g_slist_remove(s, gs); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
995 m = gs->members; |
|
1108
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
996 gtk_tree_remove_item(GTK_TREE(buddies), gs->item); |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
997 while (m) { |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
998 bs = (struct buddy_show *)m->data; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
999 m = g_slist_remove(m, bs); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1000 if (bs->log_timer > 0) |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1001 gtk_timeout_remove(bs->log_timer); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1002 g_free(bs->show); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1003 g_free(bs->name); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1004 g_free(bs); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1005 } |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1006 g_free(gs->name); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1007 g_free(gs); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1008 } |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1009 shows = NULL; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1010 while (c) { |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1011 gc = (struct gaim_connection *)c->data; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1012 c = c->next; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1013 gr = gc->groups; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1014 while (gr) { |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1015 g = (struct group *)gr->data; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1016 gr = gr->next; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1017 gs = find_group_show(g->name); |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
1018 if (!gs && !(blist_options & OPT_BLIST_NO_MT_GRP)) |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1019 gs = new_group_show(g->name); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1020 m = g->members; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1021 while (m) { |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1022 b = (struct buddy *)m->data; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1023 m = m->next; |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1024 if (b->present) { |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1025 if (!gs) |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1026 gs = new_group_show(g->name); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1027 bs = find_buddy_show(gs, b->name); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1028 if (!bs) { |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1029 if (gc->prpl->list_icon) |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1030 bs = new_buddy_show(gs, b, |
|
2662
b0c5770156e1
[gaim-migrate @ 2675]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2641
diff
changeset
|
1031 gc->prpl->list_icon(b-> |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1032 uc)); |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1033 else |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1034 bs = new_buddy_show(gs, b, (char **)no_icon_xpm); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1035 } |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1036 bs->connlist = g_slist_append(bs->connlist, gc); |
|
2778
27c22147e023
[gaim-migrate @ 2791]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2736
diff
changeset
|
1037 update_num_group(gs); |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1038 } |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1039 } |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1040 } |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1041 } |
|
2605
ff9d9b4f7aa2
[gaim-migrate @ 2618]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2598
diff
changeset
|
1042 update_idle_times(); |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
1043 } |
| 1 | 1044 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1045 static void edit_tree_move(GtkCTree *ctree, GtkCTreeNode *child, GtkCTreeNode *parent, |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1046 GtkCTreeNode *sibling, gpointer data) |
| 1 | 1047 { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1048 struct gaim_connection *gc, *pc = NULL, *sc = NULL; |
|
1456
6650776468b3
[gaim-migrate @ 1466]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1435
diff
changeset
|
1049 int *ctype, *ptype = NULL, *stype = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1050 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1051 ctype = (int *)gtk_ctree_node_get_row_data(GTK_CTREE(ctree), child); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1052 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1053 if (parent) |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1054 ptype = (int *)gtk_ctree_node_get_row_data(GTK_CTREE(ctree), parent); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1055 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1056 if (sibling) |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1057 stype = (int *)gtk_ctree_node_get_row_data(GTK_CTREE(ctree), sibling); |
| 1 | 1058 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1059 if (*ctype == EDIT_GC) { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1060 /* not that it particularly matters which order the connections |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1061 * are in, but just for debugging sake, i guess.... */ |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1062 gc = (struct gaim_connection *)ctype; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1063 connections = g_slist_remove(connections, gc); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1064 if (sibling) { |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1065 int pos; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1066 sc = (struct gaim_connection *)stype; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1067 pos = g_slist_index(connections, sc); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1068 if (pos) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1069 connections = g_slist_insert(connections, gc, pos); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1070 else |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1071 connections = g_slist_prepend(connections, gc); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1072 } else |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1073 connections = g_slist_append(connections, gc); |
|
2641
671c3a6a2c12
[gaim-migrate @ 2654]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2624
diff
changeset
|
1074 redo_convo_menus(); /* this is evil */ |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1075 } else if (*ctype == EDIT_BUDDY) { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1076 /* we moved a buddy. hopefully we just changed groups or positions or something. |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1077 * if we changed connections, we copy the buddy to the new connection. if the new |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1078 * connection already had the buddy in its buddy list but in a different group, |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1079 * we change the group that the buddy is in */ |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1080 struct group *old_g, *new_g = (struct group *)ptype; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1081 struct buddy *s = NULL, *buddy = (struct buddy *)ctype; |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2669
diff
changeset
|
1082 gboolean add = FALSE; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1083 int pos; |
| 1 | 1084 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1085 if (buddy->gc != new_g->gc) { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1086 /* we changed connections */ |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1087 struct buddy *a; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1088 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1089 a = find_buddy(new_g->gc, buddy->name); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1090 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1091 if (a) { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1092 /* the buddy is in the new connection, so we'll remove it from |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1093 * its current group and add it to the proper group below */ |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1094 struct group *og; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1095 og = find_group_by_buddy(new_g->gc, buddy->name); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1096 og->members = g_slist_remove(og->members, a); |
| 1 | 1097 } else { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1098 /* we don't have this buddy yet; let's add him */ |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2669
diff
changeset
|
1099 add = TRUE; |
| 1 | 1100 } |
| 1101 } | |
| 1102 | |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1103 old_g = find_group_by_buddy(buddy->gc, buddy->name); |
| 1 | 1104 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1105 if (buddy->gc == new_g->gc) |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1106 /* this is the same connection, so we'll remove it from its old group */ |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1107 old_g->members = g_slist_remove(old_g->members, buddy); |
| 1 | 1108 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1109 if (sibling) { |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1110 s = (struct buddy *)stype; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1111 pos = g_slist_index(new_g->members, s); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1112 if (pos) |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1113 new_g->members = g_slist_insert(new_g->members, buddy, pos); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1114 else |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1115 new_g->members = g_slist_prepend(new_g->members, buddy); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1116 } else |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1117 new_g->members = g_slist_append(new_g->members, buddy); |
| 1 | 1118 |
| 3136 | 1119 /* |
| 1120 * we do the add after it's added locally so that prpls can find it if necessary | |
| 1121 * JFIXME: Er, shouldn't the buddy be removed from the old server, as well? | |
| 1122 */ | |
| 1123 if (add) { | |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2669
diff
changeset
|
1124 serv_add_buddy(new_g->gc, buddy->name); |
| 3136 | 1125 } else { |
| 1126 serv_move_buddy(buddy, old_g, new_g); | |
| 1127 } | |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2669
diff
changeset
|
1128 |
|
1805
caa605e70917
[gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1794
diff
changeset
|
1129 do_export(buddy->gc); |
|
caa605e70917
[gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1794
diff
changeset
|
1130 if (buddy->gc != new_g->gc) { |
|
caa605e70917
[gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1794
diff
changeset
|
1131 do_export(new_g->gc); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1132 build_edit_tree(); |
|
1805
caa605e70917
[gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1794
diff
changeset
|
1133 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1134 } else { /* group */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1135 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1136 /* move the group. if moving connections, copy the group, and each buddy in the |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1137 * group. if the buddy exists in the new connection, leave it where it is. */ |
| 1 | 1138 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1139 struct group *g, *g2, *group; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1140 int pos; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1141 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1142 pc = (struct gaim_connection *)ptype; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1143 group = (struct group *)ctype; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1144 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1145 if (g_slist_length(connections) > 1) { |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1146 g = find_group(pc, group->name); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1147 if (!g) |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1148 g = add_group(pc, group->name); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1149 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1150 pc->groups = g_slist_remove(pc->groups, g); |
| 1 | 1151 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1152 if (sibling) { |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1153 g2 = (struct group *)stype; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1154 pos = g_slist_index(pc->groups, g2); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1155 if (pos) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1156 pc->groups = g_slist_insert(pc->groups, g, pos); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1157 else |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1158 pc->groups = g_slist_prepend(pc->groups, g); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1159 } else |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1160 pc->groups = g_slist_append(pc->groups, g); |
| 1 | 1161 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1162 if (pc != group->gc) { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1163 GSList *mem; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1164 struct buddy *b; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1165 g2 = group; |
| 1 | 1166 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1167 mem = g2->members; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1168 while (mem) { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1169 b = (struct buddy *)mem->data; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1170 if (!find_buddy(pc, b->name)) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1171 add_buddy(pc, g->name, b->name, b->show); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1172 mem = mem->next; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1173 } |
|
912
5a517b4f0be4
[gaim-migrate @ 922]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
905
diff
changeset
|
1174 } |
|
1805
caa605e70917
[gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1794
diff
changeset
|
1175 do_export(pc); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1176 } else { |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1177 g = group; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1178 gc = g->gc; |
| 1 | 1179 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1180 gc->groups = g_slist_remove(gc->groups, g); |
| 1 | 1181 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1182 if (sibling) { |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1183 g2 = (struct group *)stype; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1184 pos = g_slist_index(gc->groups, g2); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1185 if (pos) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1186 gc->groups = g_slist_insert(gc->groups, g, pos); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1187 else |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1188 gc->groups = g_slist_prepend(gc->groups, g); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1189 } else |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1190 gc->groups = g_slist_append(gc->groups, g); |
|
1805
caa605e70917
[gaim-migrate @ 1815]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1794
diff
changeset
|
1191 do_export(gc); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1192 } |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1193 } |
| 1 | 1194 |
|
1069
5d4926907b21
[gaim-migrate @ 1079]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1068
diff
changeset
|
1195 redo_buddy_list(); |
|
1070
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
1196 update_num_groups(); |
| 1 | 1197 } |
| 1198 | |
| 3111 | 1199 void |
| 1200 create_prpl_icon(GtkWidget *widget, struct gaim_connection *gc, | |
| 1201 GdkPixmap **pixmap, GdkBitmap **mask) | |
| 1202 { | |
| 1203 /* This whole thing is a hack--but it looks nice. | |
| 1204 * Probably should have a prpl->icon(struct gaim_connection *) to | |
| 1205 * do this. */ | |
| 1206 GtkStyle *style; | |
| 1207 char **xpm = NULL; | |
| 1208 | |
| 1209 if (widget == NULL || gc == NULL || pixmap == NULL || mask == NULL) | |
| 1210 return; | |
| 1211 | |
| 1212 style = gtk_widget_get_style( widget ); | |
| 1213 | |
| 3159 | 1214 if (gc->prpl->list_icon) { |
| 3111 | 1215 if (gc->prpl->protocol == PROTO_OSCAR) { |
| 1216 if (isdigit(*gc->username)) { | |
| 1217 xpm = gc->prpl->list_icon(0); | |
| 1218 } else { | |
| 1219 xpm = gc->prpl->list_icon(0x10); | |
| 1220 } | |
| 1221 } else { | |
| 1222 xpm = gc->prpl->list_icon (0); | |
| 1223 } | |
| 3159 | 1224 } |
| 3111 | 1225 if (xpm == NULL) |
| 1226 xpm = (char **)no_icon_xpm; | |
| 1227 | |
| 1228 *pixmap = gdk_pixmap_create_from_xpm_d(widget->window, mask, &style->bg[GTK_STATE_NORMAL], xpm); | |
| 1229 } | |
| 1 | 1230 |
| 1231 void build_edit_tree() | |
| 1232 { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1233 GtkCTreeNode *c = NULL, *p = NULL, *n; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1234 GSList *con = connections; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1235 GSList *grp; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1236 GSList *mem; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1237 struct gaim_connection *z; |
| 1 | 1238 struct group *g; |
| 1239 struct buddy *b; | |
| 1240 char *text[1]; | |
| 1241 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1242 if (!blist) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1243 return; |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
1244 |
| 1 | 1245 gtk_clist_freeze(GTK_CLIST(edittree)); |
| 1246 gtk_clist_clear(GTK_CLIST(edittree)); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1247 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1248 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1249 while (con) { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1250 z = (struct gaim_connection *)con->data; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1251 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1252 if (g_slist_length(connections) > 1) { |
| 3111 | 1253 GdkPixmap *pixmap; |
| 1254 GdkBitmap *mask; | |
| 1255 | |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1256 text[0] = z->username; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1257 |
| 3111 | 1258 create_prpl_icon(blist, z, &pixmap, &mask); |
| 1259 | |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1260 c = gtk_ctree_insert_node(GTK_CTREE(edittree), NULL, |
| 3111 | 1261 NULL, text, 3, pixmap, mask, pixmap, mask, 0, 1); |
| 1262 | |
| 1263 gdk_pixmap_unref (pixmap); | |
| 1264 gdk_bitmap_unref (mask); | |
| 1 | 1265 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1266 gtk_ctree_node_set_row_data(GTK_CTREE(edittree), c, z); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1267 } else |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1268 c = NULL; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1269 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1270 grp = z->groups; |
| 1 | 1271 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1272 while (grp) { |
| 3111 | 1273 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1274 g = (struct group *)grp->data; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1275 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1276 text[0] = g->name; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1277 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1278 p = gtk_ctree_insert_node(GTK_CTREE(edittree), c, |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1279 NULL, text, 5, NULL, NULL, NULL, NULL, 0, 1); |
| 1 | 1280 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1281 gtk_ctree_node_set_row_data(GTK_CTREE(edittree), p, g); |
| 1 | 1282 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1283 n = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1284 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1285 mem = g->members; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1286 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1287 while (mem) { |
|
1396
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
1288 char buf[256]; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1289 b = (struct buddy *)mem->data; |
|
1396
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
1290 if (strcmp(b->name, b->show)) { |
|
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
1291 g_snprintf(buf, sizeof(buf), "%s (%s)", b->name, b->show); |
|
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
1292 text[0] = buf; |
|
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
1293 } else |
|
df7c3cacac92
[gaim-migrate @ 1406]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1392
diff
changeset
|
1294 text[0] = b->name; |
| 1 | 1295 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1296 n = gtk_ctree_insert_node(GTK_CTREE(edittree), |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1297 p, NULL, text, 5, |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1298 NULL, NULL, NULL, NULL, 1, 1); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1299 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1300 gtk_ctree_node_set_row_data(GTK_CTREE(edittree), n, b); |
| 1 | 1301 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1302 mem = mem->next; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1303 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1304 } |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1305 grp = g_slist_next(grp); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1306 } |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1307 con = g_slist_next(con); |
| 1 | 1308 } |
| 1309 | |
| 1310 gtk_clist_thaw(GTK_CLIST(edittree)); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1311 |
| 1 | 1312 } |
| 1313 | |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
1314 void ui_add_buddy(struct gaim_connection *gc, struct group *g, struct buddy *b) |
| 1 | 1315 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1316 GtkCTreeNode *p = NULL, *n; |
|
1699
644056e095f1
[gaim-migrate @ 1709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1694
diff
changeset
|
1317 char *text[1]; |
|
644056e095f1
[gaim-migrate @ 1709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1694
diff
changeset
|
1318 char buf[256]; |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
1319 struct group_show *gs = find_group_show(g->name); |
| 1 | 1320 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1321 b->edittype = EDIT_BUDDY; |
|
1088
18a14e6dd0af
[gaim-migrate @ 1098]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1085
diff
changeset
|
1322 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1323 if (gs) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1324 update_num_group(gs); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1325 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1326 if (!blist) |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
1327 return; |
|
1699
644056e095f1
[gaim-migrate @ 1709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1694
diff
changeset
|
1328 |
|
644056e095f1
[gaim-migrate @ 1709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1694
diff
changeset
|
1329 p = gtk_ctree_find_by_row_data(GTK_CTREE(edittree), NULL, g); |
|
644056e095f1
[gaim-migrate @ 1709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1694
diff
changeset
|
1330 if (strcmp(b->name, b->show)) { |
|
644056e095f1
[gaim-migrate @ 1709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1694
diff
changeset
|
1331 g_snprintf(buf, sizeof(buf), "%s (%s)", b->name, b->show); |
|
644056e095f1
[gaim-migrate @ 1709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1694
diff
changeset
|
1332 text[0] = buf; |
|
644056e095f1
[gaim-migrate @ 1709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1694
diff
changeset
|
1333 } else |
|
644056e095f1
[gaim-migrate @ 1709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1694
diff
changeset
|
1334 text[0] = b->name; |
|
644056e095f1
[gaim-migrate @ 1709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1694
diff
changeset
|
1335 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1336 n = gtk_ctree_insert_node(GTK_CTREE(edittree), p, NULL, text, 5, NULL, NULL, NULL, NULL, 1, 1); |
|
1699
644056e095f1
[gaim-migrate @ 1709]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1694
diff
changeset
|
1337 gtk_ctree_node_set_row_data(GTK_CTREE(edittree), n, b); |
| 1 | 1338 } |
| 1339 | |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
1340 void ui_add_group(struct gaim_connection *gc, struct group *g) |
| 1 | 1341 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1342 GtkCTreeNode *c = NULL, *p; |
|
1663
0f7d2284296f
[gaim-migrate @ 1673]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1662
diff
changeset
|
1343 char *text[1]; |
| 1 | 1344 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1345 g->edittype = EDIT_GROUP; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1346 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1347 if (!blist) |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
1348 return; |
|
1088
18a14e6dd0af
[gaim-migrate @ 1098]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1085
diff
changeset
|
1349 |
|
1663
0f7d2284296f
[gaim-migrate @ 1673]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1662
diff
changeset
|
1350 c = gtk_ctree_find_by_row_data(GTK_CTREE(edittree), NULL, gc); |
|
0f7d2284296f
[gaim-migrate @ 1673]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1662
diff
changeset
|
1351 text[0] = g->name; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1352 p = gtk_ctree_insert_node(GTK_CTREE(edittree), c, NULL, text, 5, NULL, NULL, NULL, NULL, 0, 1); |
|
1663
0f7d2284296f
[gaim-migrate @ 1673]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1662
diff
changeset
|
1353 gtk_ctree_node_set_row_data(GTK_CTREE(edittree), p, g); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1354 |
|
2382
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
1355 if (!(blist_options & OPT_BLIST_NO_MT_GRP) && !find_group_show(g->name)) |
|
569ae9f2bb89
[gaim-migrate @ 2395]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2380
diff
changeset
|
1356 new_group_show(g->name); |
| 1 | 1357 } |
| 1358 | |
| 1359 | |
| 1360 static void do_del_buddy(GtkWidget *w, GtkCTree *ctree) | |
| 1361 { | |
| 1362 GtkCTreeNode *node; | |
| 1363 struct buddy *b; | |
| 1364 struct group *g; | |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1365 int *type; |
| 1 | 1366 GList *i; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1367 |
| 1 | 1368 i = GTK_CLIST(edittree)->selection; |
| 1369 if (i) { | |
| 1370 node = i->data; | |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1371 type = (int *)gtk_ctree_node_get_row_data(GTK_CTREE(edittree), node); |
| 1 | 1372 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1373 if (*type == EDIT_BUDDY) { |
|
1821
5fc89f9e7f3e
[gaim-migrate @ 1831]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1817
diff
changeset
|
1374 struct gaim_connection *gct; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1375 b = (struct buddy *)type; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1376 g = find_group_by_buddy(b->gc, b->name); |
|
1821
5fc89f9e7f3e
[gaim-migrate @ 1831]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1817
diff
changeset
|
1377 gct = b->gc; |
|
2681
37d80035e77f
[gaim-migrate @ 2694]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2669
diff
changeset
|
1378 serv_remove_buddy(b->gc, b->name, g->name); |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1379 remove_buddy(b->gc, g, b); |
|
1821
5fc89f9e7f3e
[gaim-migrate @ 1831]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1817
diff
changeset
|
1380 do_export(gct); |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1381 } else if (*type == EDIT_GROUP) { |
|
1825
b96f07ff3f78
[gaim-migrate @ 1835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1821
diff
changeset
|
1382 struct gaim_connection *gc = ((struct group *)type)->gc; |
|
b96f07ff3f78
[gaim-migrate @ 1835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1821
diff
changeset
|
1383 remove_group(gc, (struct group *)type); |
|
1662
88e72116639d
[gaim-migrate @ 1672]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1661
diff
changeset
|
1384 gtk_ctree_remove_node(GTK_CTREE(edittree), node); |
|
1825
b96f07ff3f78
[gaim-migrate @ 1835]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1821
diff
changeset
|
1385 do_export(gc); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1386 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1387 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1388 } else { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1389 /* Nothing selected. */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1390 } |
| 1 | 1391 } |
| 1392 | |
| 1393 | |
| 1394 void import_callback(GtkWidget *widget, void *null) | |
| 1395 { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1396 show_import_dialog(); |
| 1 | 1397 } |
| 1398 | |
| 1399 void do_quit() | |
| 1400 { | |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
1401 /* first we tell those who have requested it we're quitting */ |
| 3517 | 1402 plugin_event(event_quit); |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
1403 |
|
2560
0417ecaff0e5
[gaim-migrate @ 2573]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2559
diff
changeset
|
1404 signoff_all(); |
|
2140
66a84ff0445a
[gaim-migrate @ 2150]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2134
diff
changeset
|
1405 #ifdef GAIM_PLUGINS |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
1406 /* then we remove everyone in a mass suicide */ |
|
2125
af59d854de29
[gaim-migrate @ 2135]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2111
diff
changeset
|
1407 remove_all_plugins(); |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
1408 #endif |
|
1575
427e1409917c
[gaim-migrate @ 1585]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1544
diff
changeset
|
1409 system_log(log_quit, NULL, NULL, OPT_LOG_BUDDY_SIGNON | OPT_LOG_MY_SIGNON); |
|
784
4c292b3f74ea
[gaim-migrate @ 794]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
780
diff
changeset
|
1410 #ifdef USE_PERL |
|
4c292b3f74ea
[gaim-migrate @ 794]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
780
diff
changeset
|
1411 perl_end(); |
|
4c292b3f74ea
[gaim-migrate @ 794]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
780
diff
changeset
|
1412 #endif |
|
391
be408b41c172
[gaim-migrate @ 401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
350
diff
changeset
|
1413 |
|
1117
f3e0f41beddb
[gaim-migrate @ 1127]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1115
diff
changeset
|
1414 gtk_main_quit(); |
| 1 | 1415 } |
| 1416 | |
| 1417 void add_buddy_callback(GtkWidget *widget, void *dummy) | |
| 1418 { | |
| 1419 char *grp = NULL; | |
| 1420 GtkCTreeNode *node; | |
| 1421 GList *i; | |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1422 struct gaim_connection *gc = NULL; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1423 int *type; |
| 1 | 1424 |
| 1425 i = GTK_CLIST(edittree)->selection; | |
| 1426 if (i) { | |
| 1427 node = i->data; | |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1428 type = (int *)gtk_ctree_node_get_row_data(GTK_CTREE(edittree), node); |
| 1 | 1429 |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1430 if (*type == EDIT_BUDDY) { |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1431 struct buddy *b = (struct buddy *)type; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1432 struct group *g = find_group_by_buddy(b->gc, b->name); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1433 grp = g->name; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1434 gc = b->gc; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1435 } else if (*type == EDIT_GROUP) { |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1436 struct group *g = (struct group *)type; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1437 grp = g->name; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1438 gc = g->gc; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1439 } else { |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1440 gc = (struct gaim_connection *)type; |
| 1 | 1441 } |
| 1442 } | |
|
2582
5efa8077107f
[gaim-migrate @ 2595]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2569
diff
changeset
|
1443 show_add_buddy(gc, NULL, grp, NULL); |
| 1 | 1444 |
| 1445 } | |
| 1446 | |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
544
diff
changeset
|
1447 void add_group_callback(GtkWidget *widget, void *dummy) |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
544
diff
changeset
|
1448 { |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
1449 GtkCTreeNode *node; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
1450 GList *i; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
1451 struct gaim_connection *gc = NULL; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1452 int *type; |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
1453 |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
1454 i = GTK_CLIST(edittree)->selection; |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
1455 if (i) { |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
1456 node = i->data; |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1457 type = (int *)gtk_ctree_node_get_row_data(GTK_CTREE(edittree), node); |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1458 if (*type == EDIT_BUDDY) |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1459 gc = ((struct buddy *)type)->gc; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1460 else if (*type == EDIT_GROUP) |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1461 gc = ((struct group *)type)->gc; |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1462 else |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
1463 gc = (struct gaim_connection *)type; |
|
1072
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
1464 } |
|
81d19577285a
[gaim-migrate @ 1082]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1070
diff
changeset
|
1465 show_add_group(gc); |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
544
diff
changeset
|
1466 } |
|
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
544
diff
changeset
|
1467 |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1468 static void im_callback(GtkWidget *widget, GtkTree *tree) |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1469 { |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1470 GList *i; |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
1471 struct buddy_show *b = NULL; |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1472 struct conversation *c; |
| 3466 | 1473 i = GTK_TREE_SELECTION_OLD(tree); |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1474 if (i) { |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1475 b = gtk_object_get_user_data(GTK_OBJECT(i->data)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1476 } |
|
1095
ca8206682e3f
[gaim-migrate @ 1105]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1092
diff
changeset
|
1477 if (!i || !b) { |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1478 show_im_dialog(); |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1479 return; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1480 } |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1481 if (!b->name) |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1482 return; |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1483 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1484 c = find_conversation(b->name); |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1485 if (c == NULL) { |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1486 c = new_conversation(b->name); |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1487 } else { |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1488 gdk_window_raise(c->window->window); |
|
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1489 } |
|
2886
9571d6794ef3
[gaim-migrate @ 2899]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2883
diff
changeset
|
1490 |
|
9571d6794ef3
[gaim-migrate @ 2899]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2883
diff
changeset
|
1491 set_convo_gc(c, b->connlist->data); |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1492 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1493 |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1494 |
| 1 | 1495 static void info_callback(GtkWidget *widget, GtkTree *tree) |
| 1496 { | |
| 1497 GList *i; | |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
1498 struct buddy_show *b = NULL; |
| 3466 | 1499 i = GTK_TREE_SELECTION_OLD(tree); |
| 1 | 1500 if (i) { |
| 1501 b = gtk_object_get_user_data(GTK_OBJECT(i->data)); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1502 } |
|
1095
ca8206682e3f
[gaim-migrate @ 1105]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1092
diff
changeset
|
1503 if (!i || !b) { |
|
935
5e6ca3dd4d02
[gaim-migrate @ 945]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
921
diff
changeset
|
1504 show_info_dialog(); |
| 1 | 1505 return; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1506 } |
| 1 | 1507 if (!b->name) |
| 1508 return; | |
|
1693
6ccd49e6f24c
[gaim-migrate @ 1703]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1681
diff
changeset
|
1509 if (b->connlist) |
|
6ccd49e6f24c
[gaim-migrate @ 1703]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1681
diff
changeset
|
1510 serv_get_info(b->connlist->data, b->name); |
| 1 | 1511 } |
| 1512 | |
| 1513 | |
| 1514 void chat_callback(GtkWidget *widget, GtkTree *tree) | |
| 1515 { | |
| 1516 join_chat(); | |
| 1517 } | |
| 1518 | |
|
1929
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1519 static void away_callback(GtkWidget *widget, GtkTree *tree) |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1520 { |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1521 GSList *awy = away_messages; |
| 3251 | 1522 static GtkWidget *menu = NULL; |
|
1929
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1523 GtkWidget *menuitem; |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1524 |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1525 if (!awy) |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1526 return; |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1527 |
| 3251 | 1528 /* |
| 1529 * If a menu already exists, destroy it before creating a new one, | |
| 1530 * thus freeing-up the memory it occupied. | |
| 1531 */ | |
| 1532 if(menu) | |
| 1533 gtk_widget_destroy(menu); | |
| 1534 | |
|
1929
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1535 menu = gtk_menu_new(); |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1536 |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1537 while (awy) { |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1538 struct away_message *a = awy->data; |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1539 |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1540 menuitem = gtk_menu_item_new_with_label(a->name); |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1541 gtk_menu_append(GTK_MENU(menu), menuitem); |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1542 gtk_signal_connect(GTK_OBJECT(menuitem), "activate", |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1543 GTK_SIGNAL_FUNC(do_away_message), a); |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1544 gtk_widget_show(menuitem); |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1545 awy = awy->next; |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1546 } |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1547 |
| 3271 | 1548 gtk_menu_popup(GTK_MENU(menu), NULL, NULL, NULL, NULL, 1, GDK_CURRENT_TIME ); |
|
1929
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1549 } |
|
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
1550 |
| 1 | 1551 void rem_bp(GtkWidget *w, struct buddy_pounce *b) |
| 1552 { | |
| 1553 buddy_pounces = g_list_remove(buddy_pounces, b); | |
|
689
4e3f5d9cacd5
[gaim-migrate @ 699]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
678
diff
changeset
|
1554 do_bp_menu(); |
|
4e3f5d9cacd5
[gaim-migrate @ 699]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
678
diff
changeset
|
1555 save_prefs(); |
| 1 | 1556 } |
| 1557 | |
|
2131
acc11216ec5d
[gaim-migrate @ 2141]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2125
diff
changeset
|
1558 void do_pounce(struct gaim_connection *gc, char *name, int when) |
| 1 | 1559 { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1560 char *who; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1561 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1562 struct buddy_pounce *b; |
| 1 | 1563 struct conversation *c; |
| 1155 | 1564 struct aim_user *u; |
| 1 | 1565 |
| 1566 GList *bp = buddy_pounces; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1567 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1568 who = g_strdup(normalize (name)); |
| 1 | 1569 |
|
1857
9ea0b9531bc9
[gaim-migrate @ 1867]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1825
diff
changeset
|
1570 while (bp) { |
| 1155 | 1571 b = (struct buddy_pounce *)bp->data; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1572 bp = bp->next; /* increment the list here because rem_bp can make our handle bad */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1573 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1574 if (!(b->options & when)) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1575 continue; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1576 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1577 u = find_user(b->pouncer, b->protocol); /* find our user */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1578 if (u == NULL) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1579 continue; |
| 1155 | 1580 |
|
1230
5395053cdee1
[gaim-migrate @ 1240]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1229
diff
changeset
|
1581 /* check and see if we're signed on as the pouncer */ |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1582 if (u->gc != gc) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1583 continue; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1584 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1585 if (!g_strcasecmp(who, normalize (b->name))) { /* find someone to pounce */ |
|
1857
9ea0b9531bc9
[gaim-migrate @ 1867]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1825
diff
changeset
|
1586 if (b->options & OPT_POUNCE_POPUP) { |
| 1 | 1587 c = find_conversation(name); |
| 1588 if (c == NULL) | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1589 c = new_conversation(name); |
|
1857
9ea0b9531bc9
[gaim-migrate @ 1867]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1825
diff
changeset
|
1590 |
|
1898
73d73939f698
[gaim-migrate @ 1908]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1881
diff
changeset
|
1591 set_convo_gc(c, u->gc); |
| 1 | 1592 } |
| 2550 | 1593 if (b->options & OPT_POUNCE_NOTIFY) { |
| 1594 char tmp[1024]; | |
| 1595 | |
| 1596 /* I know the line below is really ugly. I only did it this way | |
| 1597 * because I thought it'd be funny :-) */ | |
| 1598 | |
| 1599 g_snprintf(tmp, sizeof(tmp), "%s has %s", name, | |
| 3273 | 1600 (when & OPT_POUNCE_TYPING) ? "started typing to you" : |
| 1601 (when & OPT_POUNCE_SIGNON) ? "signed on" : | |
| 1602 (when & OPT_POUNCE_UNIDLE) ? "returned from being idle" : | |
| 2993 | 1603 "returned from being away"); |
| 1604 | |
| 3427 | 1605 do_error_dialog(tmp, NULL, GAIM_INFO); |
| 2550 | 1606 } |
|
1857
9ea0b9531bc9
[gaim-migrate @ 1867]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1825
diff
changeset
|
1607 if (b->options & OPT_POUNCE_SEND_IM) { |
| 2550 | 1608 if (strlen(b->message) > 0) { |
| 2552 | 1609 c = find_conversation(name); |
| 1610 | |
| 1611 if (c == NULL) | |
| 1612 c = new_conversation(name); | |
| 1613 | |
| 1614 set_convo_gc(c, u->gc); | |
| 1615 | |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2824
diff
changeset
|
1616 write_to_conv(c, b->message, WFLAG_SEND, NULL, time(NULL), -1); |
| 3033 | 1617 serv_send_im(u->gc, name, b->message, -1, 0); |
| 2550 | 1618 } |
| 1 | 1619 } |
|
1857
9ea0b9531bc9
[gaim-migrate @ 1867]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1825
diff
changeset
|
1620 if (b->options & OPT_POUNCE_COMMAND) { |
|
1229
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1183
diff
changeset
|
1621 int pid = fork(); |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1183
diff
changeset
|
1622 |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1183
diff
changeset
|
1623 if (pid == 0) { |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1183
diff
changeset
|
1624 char *args[4]; |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1183
diff
changeset
|
1625 args[0] = "sh"; |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1183
diff
changeset
|
1626 args[1] = "-c"; |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1183
diff
changeset
|
1627 args[2] = b->command; |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1183
diff
changeset
|
1628 args[3] = NULL; |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1183
diff
changeset
|
1629 execvp(args[0], args); |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1183
diff
changeset
|
1630 _exit(0); |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1183
diff
changeset
|
1631 } |
|
229bf438c591
[gaim-migrate @ 1239]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1183
diff
changeset
|
1632 } |
|
1857
9ea0b9531bc9
[gaim-migrate @ 1867]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1825
diff
changeset
|
1633 if (b->options & OPT_POUNCE_SOUND) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1634 if (strlen(b->sound)) |
|
1857
9ea0b9531bc9
[gaim-migrate @ 1867]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1825
diff
changeset
|
1635 play_file(b->sound); |
| 1694 | 1636 else |
| 3060 | 1637 play_sound(SND_POUNCE_DEFAULT); |
| 1694 | 1638 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1639 |
|
1235
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1640 if (!(b->options & OPT_POUNCE_SAVE)) |
|
a9cf2f61a7b1
[gaim-migrate @ 1245]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1233
diff
changeset
|
1641 rem_bp(NULL, b); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1642 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1643 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1644 } |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1645 g_free(who); |
| 1 | 1646 } |
| 1647 | |
|
2569
a714b8223228
[gaim-migrate @ 2582]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2564
diff
changeset
|
1648 static void new_bp_callback(GtkWidget *w, struct buddy *b) |
| 1 | 1649 { |
|
2569
a714b8223228
[gaim-migrate @ 2582]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2564
diff
changeset
|
1650 if (b) |
| 2986 | 1651 show_new_bp(b->name, b->gc, b->idle, b->uc & UC_UNAVAILABLE, NULL); |
|
2569
a714b8223228
[gaim-migrate @ 2582]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2564
diff
changeset
|
1652 else |
| 2986 | 1653 show_new_bp(NULL, NULL, 0, 0, NULL); |
| 1 | 1654 } |
| 1655 | |
| 2986 | 1656 static void edit_bp_callback(GtkWidget *w, struct buddy_pounce *b) |
| 1657 { | |
| 1658 show_new_bp(NULL, NULL, 0, 0, b); | |
| 1659 } | |
| 1660 | |
| 1661 static GtkTooltips *bp_tooltip = NULL; | |
| 1 | 1662 void do_bp_menu() |
| 1663 { | |
| 1664 GtkWidget *menuitem, *mess, *messmenu; | |
| 1665 static GtkWidget *remmenu; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1666 GtkWidget *remitem; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1667 GtkWidget *sep; |
| 1 | 1668 GList *l; |
| 1669 struct buddy_pounce *b; | |
| 1670 GList *bp = buddy_pounces; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1671 |
| 2986 | 1672 /* Tooltip for editing bp's */ |
| 1673 if(!bp_tooltip) | |
| 1674 bp_tooltip = gtk_tooltips_new(); | |
| 1675 | |
| 1 | 1676 l = gtk_container_children(GTK_CONTAINER(bpmenu)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1677 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1678 while (l) { |
| 1 | 1679 gtk_widget_destroy(GTK_WIDGET(l->data)); |
| 1680 l = l->next; | |
| 1681 } | |
| 1682 | |
| 1683 remmenu = gtk_menu_new(); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1684 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
1685 menuitem = gtk_menu_item_new_with_label(_("New Buddy Pounce")); |
| 1 | 1686 gtk_menu_append(GTK_MENU(bpmenu), menuitem); |
| 1687 gtk_widget_show(menuitem); | |
| 1688 gtk_signal_connect(GTK_OBJECT(menuitem), "activate", GTK_SIGNAL_FUNC(new_bp_callback), NULL); | |
| 1689 | |
| 1690 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1691 while (bp) { |
| 1 | 1692 |
| 1693 b = (struct buddy_pounce *)bp->data; | |
| 1694 remitem = gtk_menu_item_new_with_label(b->name); | |
| 1695 gtk_menu_append(GTK_MENU(remmenu), remitem); | |
| 1696 gtk_widget_show(remitem); | |
| 1697 gtk_signal_connect(GTK_OBJECT(remitem), "activate", GTK_SIGNAL_FUNC(rem_bp), b); | |
| 1698 | |
| 1699 bp = bp->next; | |
| 1700 | |
| 1701 } | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1702 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
1703 menuitem = gtk_menu_item_new_with_label(_("Remove Buddy Pounce")); |
| 1 | 1704 gtk_menu_append(GTK_MENU(bpmenu), menuitem); |
| 1705 gtk_widget_show(menuitem); | |
| 1706 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), remmenu); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1707 gtk_widget_show(remmenu); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1708 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1709 sep = gtk_hseparator_new(); |
| 1 | 1710 menuitem = gtk_menu_item_new(); |
| 1711 gtk_menu_append(GTK_MENU(bpmenu), menuitem); | |
| 1712 gtk_container_add(GTK_CONTAINER(menuitem), sep); | |
| 1713 gtk_widget_set_sensitive(menuitem, FALSE); | |
| 1714 gtk_widget_show(menuitem); | |
| 1715 gtk_widget_show(sep); | |
| 1716 | |
| 1138 | 1717 bp = buddy_pounces; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1718 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1719 while (bp) { |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1720 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1721 b = (struct buddy_pounce *)bp->data; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1722 |
| 1 | 1723 menuitem = gtk_menu_item_new_with_label(b->name); |
| 1724 gtk_menu_append(GTK_MENU(bpmenu), menuitem); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1725 messmenu = gtk_menu_new(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1726 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), messmenu); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1727 gtk_widget_show(menuitem); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1728 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1729 mess = gtk_menu_item_new_with_label(b->message); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1730 gtk_menu_append(GTK_MENU(messmenu), mess); |
| 2986 | 1731 gtk_tooltips_set_tip(bp_tooltip, GTK_WIDGET(mess), _("[Click to edit]"), NULL); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1732 gtk_widget_show(mess); |
| 2986 | 1733 gtk_signal_connect(GTK_OBJECT(mess), "activate", GTK_SIGNAL_FUNC(edit_bp_callback), b); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1734 bp = bp->next; |
| 1 | 1735 |
| 1736 } | |
| 1737 | |
| 1738 } | |
| 1739 | |
| 1740 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1741 static struct group_show *find_group_show(char *group) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1742 { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1743 GSList *m = shows; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1744 struct group_show *g = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1745 char *who = g_strdup(normalize (group)); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1746 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1747 while (m) { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1748 g = (struct group_show *)m->data; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1749 if (!g_strcasecmp(normalize (g->name), who)) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1750 break; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1751 g = NULL; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1752 m = m->next; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1753 } |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
1754 g_free(who); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1755 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1756 return g; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1757 } |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1758 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1759 static struct buddy_show *find_buddy_show(struct group_show *gs, char *name) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1760 { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1761 GSList *m = gs->members; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1762 struct buddy_show *b = NULL; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1763 char *who = g_strdup(normalize (name)); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1764 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1765 while (m) { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1766 b = (struct buddy_show *)m->data; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1767 if (!g_strcasecmp(normalize (b->name), who)) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1768 break; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1769 b = NULL; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1770 m = m->next; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1771 } |
|
1098
b335c0ce305e
[gaim-migrate @ 1108]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1097
diff
changeset
|
1772 g_free(who); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1773 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1774 return b; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1775 } |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1776 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1777 static int group_number(char *group) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1778 { |
|
1037
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1779 GSList *c = connections; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1780 struct gaim_connection *g; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1781 GSList *m; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1782 struct group *p; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1783 int pos = 0; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1784 |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1785 while (c) { |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1786 g = (struct gaim_connection *)c->data; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1787 m = g->groups; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1788 while (m) { |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1789 p = (struct group *)m->data; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1790 if (!strcmp(p->name, group)) |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1791 return pos; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1792 if (find_group_show(p->name)) |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1793 pos++; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1794 m = m->next; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1795 } |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1796 c = c->next; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1797 } |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1798 /* um..... we'll never get here */ |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1799 return -1; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1800 } |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1801 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1802 static int buddy_number(char *group, char *buddy) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1803 { |
|
1037
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1804 GSList *c = connections; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1805 struct gaim_connection *g; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1806 struct group *p; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1807 GSList *z; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1808 struct buddy *b; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1809 int pos = 0; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1810 char *tmp1 = g_strdup(normalize (buddy)); |
|
1037
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1811 struct group_show *gs = find_group_show(group); |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1812 |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1813 while (c) { |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1814 g = (struct gaim_connection *)c->data; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1815 p = find_group(g, group); |
|
1049
749e25dc90cb
[gaim-migrate @ 1059]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1047
diff
changeset
|
1816 if (!p) { |
|
749e25dc90cb
[gaim-migrate @ 1059]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1047
diff
changeset
|
1817 c = c->next; |
|
749e25dc90cb
[gaim-migrate @ 1059]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1047
diff
changeset
|
1818 continue; |
|
749e25dc90cb
[gaim-migrate @ 1059]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1047
diff
changeset
|
1819 } |
|
1037
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1820 z = p->members; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1821 while (z) { |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1822 b = (struct buddy *)z->data; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1823 if (!strcmp(tmp1, normalize (b->name))) { |
|
1037
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1824 g_free(tmp1); |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1825 return pos; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1826 } |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1827 if (find_buddy_show(gs, b->name)) |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1828 pos++; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1829 z = z->next; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1830 } |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1831 c = c->next; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1832 } |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1833 /* we shouldn't ever get here */ |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1834 debug_printf("got to bad place in buddy_number\n"); |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1835 g_free(tmp1); |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1836 return -1; |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1837 } |
|
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1838 |
| 3131 | 1839 |
| 1840 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1841 static struct group_show *new_group_show(char *group) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1842 { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1843 struct group_show *g = g_new0(struct group_show, 1); |
|
1037
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1844 int pos = group_number(group); |
| 3131 | 1845 GdkPixmap *pm; |
| 1846 GdkBitmap *bm; | |
| 1847 GtkStyle *style; | |
| 1848 GtkStyle *style2; | |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1849 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1850 g->name = g_strdup(group); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1851 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1852 g->item = gtk_tree_item_new(); |
| 3131 | 1853 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1854 gtk_signal_connect(GTK_OBJECT(g->item), "button_press_event", |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
1855 GTK_SIGNAL_FUNC(handle_click_group), g); |
| 3131 | 1856 |
| 1857 gtk_tree_insert(GTK_TREE(buddies), g->item, pos); | |
| 1858 | |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1859 gtk_widget_show(g->item); |
| 1 | 1860 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1861 g->label = gtk_label_new(group); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1862 gtk_misc_set_alignment(GTK_MISC(g->label), 0.0, 0.5); |
| 3131 | 1863 gtk_widget_show(g->label); |
| 1864 | |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1865 gtk_container_add(GTK_CONTAINER(g->item), g->label); |
| 3131 | 1866 |
|
1037
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1867 shows = g_slist_insert(shows, g, pos); |
| 3131 | 1868 |
| 1869 /* Rob does drugs - this is still evil, damn you becausse I SAID SO! */ | |
| 1870 | |
| 1871 pm = gdk_pixmap_create_from_xpm_d(g->item->window, | |
| 1872 &bm, NULL, arrow_down_xpm); | |
| 1873 | |
| 1874 gtk_pixmap_set(GTK_PIXMAP(GTK_TREE_ITEM(g->item)->minus_pix_widget), | |
| 1875 pm, bm); | |
| 1876 | |
| 1877 gdk_pixmap_unref(pm); | |
| 1878 gdk_bitmap_unref(bm); | |
| 1879 | |
| 1880 pm = gdk_pixmap_create_from_xpm_d(buddies->window, | |
| 1881 &bm, NULL, arrow_right_xpm); | |
| 1882 | |
| 1883 gtk_pixmap_set(GTK_PIXMAP(GTK_TREE_ITEM(g->item)->plus_pix_widget), | |
| 1884 pm, bm); | |
| 1885 | |
| 1886 gdk_pixmap_unref(pm); | |
| 1887 gdk_bitmap_unref(bm); | |
| 1888 | |
| 3133 | 1889 // style = gtk_widget_get_style(GTK_TREE_ITEM(g->item)->pixmaps_box); |
| 1890 style2 = gtk_style_copy(gtk_widget_get_style(g->item)); | |
| 1891 style = gtk_style_copy(gtk_widget_get_style(GTK_WIDGET(g->label))); | |
| 3137 | 1892 |
| 3131 | 1893 style->bg[0] = style2->base[0]; |
| 1894 gtk_widget_set_style(GTK_TREE_ITEM(g->item)->pixmaps_box, style); | |
| 1895 | |
| 3137 | 1896 gtk_style_unref(style); |
| 1897 gtk_style_unref(style2); | |
| 1898 | |
| 3131 | 1899 /* bad drugs */ |
| 1900 | |
|
2883
c12e3e66d54a
[gaim-migrate @ 2896]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2856
diff
changeset
|
1901 update_num_group(g); |
| 3131 | 1902 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1903 return g; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1904 } |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1905 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1906 static struct buddy_show *new_buddy_show(struct group_show *gs, struct buddy *buddy, char **xpm) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1907 { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1908 struct buddy_show *b = g_new0(struct buddy_show, 1); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1909 GtkWidget *box; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1910 GdkPixmap *pm; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1911 GdkBitmap *bm; |
|
1037
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1912 int pos = buddy_number(gs->name, buddy->name); |
|
1299
18c3874ea051
[gaim-migrate @ 1309]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1297
diff
changeset
|
1913 b->sound = 0; |
| 1 | 1914 |
|
1409
17e544f8c7fb
[gaim-migrate @ 1419]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1401
diff
changeset
|
1915 if (gs->members == NULL) { |
|
17e544f8c7fb
[gaim-migrate @ 1419]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1401
diff
changeset
|
1916 gs->tree = gtk_tree_new(); |
|
17e544f8c7fb
[gaim-migrate @ 1419]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1401
diff
changeset
|
1917 gtk_tree_item_set_subtree(GTK_TREE_ITEM(gs->item), gs->tree); |
|
17e544f8c7fb
[gaim-migrate @ 1419]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1401
diff
changeset
|
1918 gtk_tree_item_expand(GTK_TREE_ITEM(gs->item)); |
|
17e544f8c7fb
[gaim-migrate @ 1419]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1401
diff
changeset
|
1919 gtk_widget_show(gs->tree); |
|
17e544f8c7fb
[gaim-migrate @ 1419]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1401
diff
changeset
|
1920 } |
|
17e544f8c7fb
[gaim-migrate @ 1419]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1401
diff
changeset
|
1921 |
|
1036
faa5afc2b89e
[gaim-migrate @ 1046]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1033
diff
changeset
|
1922 b->name = g_strdup(buddy->name); |
|
faa5afc2b89e
[gaim-migrate @ 1046]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1033
diff
changeset
|
1923 b->show = g_strdup(buddy->show); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1924 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1925 b->item = gtk_tree_item_new(); |
|
1037
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1926 gtk_tree_insert(GTK_TREE(gs->tree), b->item, pos); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1927 gtk_object_set_user_data(GTK_OBJECT(b->item), b); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1928 gtk_signal_connect(GTK_OBJECT(b->item), "button_press_event", |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1929 GTK_SIGNAL_FUNC(handle_click_buddy), b); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1930 gtk_widget_show(b->item); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1931 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1932 box = gtk_hbox_new(FALSE, 1); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1933 gtk_container_add(GTK_CONTAINER(b->item), box); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1934 gtk_widget_show(box); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1935 |
|
1729
251c19bf5763
[gaim-migrate @ 1739]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1714
diff
changeset
|
1936 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, xpm ? xpm : no_icon_xpm); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1937 b->pix = gtk_pixmap_new(pm, bm); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1938 gtk_box_pack_start(GTK_BOX(box), b->pix, FALSE, FALSE, 1); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1939 gtk_widget_show(b->pix); |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
1940 if (!(blist_options & OPT_BLIST_SHOW_PIXMAPS)) |
|
1711
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
1941 gtk_widget_hide(b->pix); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1942 gdk_pixmap_unref(pm); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1943 gdk_bitmap_unref(bm); |
| 1 | 1944 |
|
1036
faa5afc2b89e
[gaim-migrate @ 1046]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1033
diff
changeset
|
1945 b->label = gtk_label_new(buddy->show); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1946 gtk_misc_set_alignment(GTK_MISC(b->label), 0.0, 0.5); |
|
1242
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
1947 gtk_box_pack_start(GTK_BOX(box), b->label, FALSE, FALSE, 1); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1948 gtk_widget_show(b->label); |
| 1 | 1949 |
|
1242
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
1950 b->warn = gtk_label_new(""); |
|
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
1951 gtk_box_pack_start(GTK_BOX(box), b->warn, FALSE, FALSE, 1); |
|
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
1952 gtk_widget_show(b->warn); |
|
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
1953 |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
1954 b->idle = gtk_label_new(""); |
|
1242
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
1955 gtk_box_pack_end(GTK_BOX(box), b->idle, FALSE, FALSE, 1); |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
1956 gtk_widget_show(b->idle); |
|
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
1957 |
|
1037
1c663beef29d
[gaim-migrate @ 1047]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1036
diff
changeset
|
1958 gs->members = g_slist_insert(gs->members, b, pos); |
|
1070
b288f17c2fb2
[gaim-migrate @ 1080]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1069
diff
changeset
|
1959 update_num_group(gs); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1960 return b; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1961 } |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1962 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1963 static void remove_buddy_show(struct group_show *gs, struct buddy_show *bs) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1964 { |
|
1108
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
1965 /* the name of this function may be misleading, but don't let it fool you. the point |
|
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
1966 * of this is to remove bs->item from gs->tree, and make sure gs->tree still exists |
|
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
1967 * and is a valid tree afterwards. Otherwise, Bad Things will happen. */ |
|
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
1968 gtk_tree_remove_item(GTK_TREE(gs->tree), bs->item); |
|
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
1969 bs->item = NULL; |
|
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
1970 } |
|
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
1971 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1972 static struct group_show *find_gs_by_bs(struct buddy_show *b) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
1973 { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1974 GSList *m, *n; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1975 struct group_show *g = NULL; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1976 struct buddy_show *h; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1977 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1978 m = shows; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1979 while (m) { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1980 g = (struct group_show *)m->data; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1981 n = g->members; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1982 while (n) { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1983 h = (struct buddy_show *)n->data; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1984 if (h == b) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1985 return g; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1986 n = n->next; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1987 } |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1988 g = NULL; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1989 m = m->next; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1990 } |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1991 |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1992 return g; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
1993 } |
| 1 | 1994 |
| 3517 | 1995 |
| 1996 void docklet_toggle() { | |
| 1997 /* Useful for the docklet plugin and also for the win32 tray icon*/ | |
| 1998 /* This is called when one of those is clicked--it will show/hide the | |
| 1999 buddy list/login window--depending on which is active */ | |
| 2000 if (connections) { | |
| 2001 if (GTK_WIDGET_VISIBLE(blist)) { | |
| 2002 if (DOCKLET_WINDOW_ICONIFIED(blist)) { | |
| 2003 unhide_buddy_list(); | |
| 2004 } else { | |
| 2005 hide_buddy_list(); | |
| 2006 } | |
| 2007 } else { | |
| 2008 unhide_buddy_list(); | |
| 2009 } | |
| 2010 } else { | |
| 2011 if (GTK_WIDGET_VISIBLE(mainwindow)) { | |
| 2012 if (DOCKLET_WINDOW_ICONIFIED(mainwindow)) { | |
| 2013 gtk_window_present(GTK_WINDOW(mainwindow)); | |
| 2014 } else { | |
| 2015 gtk_widget_hide(mainwindow); | |
| 2016 } | |
| 2017 } else { | |
| 2018 gtk_window_present(GTK_WINDOW(mainwindow)); | |
| 2019 } | |
| 2020 } | |
| 2021 } | |
| 2022 | |
| 2023 | |
| 3472 | 2024 /* used by this file, and by iconaway.so */ |
| 3188 | 2025 void hide_buddy_list() { |
| 3510 | 2026 if (blist) { |
| 3517 | 2027 if (!connections || docklet_count) { |
| 3510 | 2028 gtk_widget_hide(blist); |
| 2029 } else { | |
| 2030 gtk_window_iconify(GTK_WINDOW(blist)); | |
| 3472 | 2031 } |
| 2032 } | |
| 2033 } | |
| 2034 | |
| 2035 /* mostly used by code in this file */ | |
| 2036 void unhide_buddy_list() { | |
| 3510 | 2037 if (blist) { |
| 2038 gtk_window_present(GTK_WINDOW(blist)); | |
| 3540 | 2039 if (blist_options & OPT_BLIST_SAVED_WINDOWS && blist_pos.width != 0) { |
| 2040 gtk_window_move(GTK_WINDOW(blist), blist_pos.x, blist_pos.y); | |
| 2041 gtk_window_resize(GTK_WINDOW(blist), blist_pos.width, blist_pos.height); | |
| 3510 | 2042 } |
| 3472 | 2043 } |
| 2044 } | |
| 2045 | |
| 2046 /* for the delete_event handler */ | |
| 2047 static void close_buddy_list() { | |
| 3517 | 2048 if (docklet_count) { |
| 3472 | 2049 hide_buddy_list(); |
| 2050 } else { | |
| 2051 do_quit(); | |
| 2052 } | |
| 2053 } | |
| 2054 | |
| 2055 void docklet_add() { | |
| 3517 | 2056 docklet_count++; |
| 3519 | 2057 debug_printf("docklet_count: %d\n",docklet_count); |
| 3472 | 2058 } |
| 2059 | |
| 2060 void docklet_remove() { | |
| 3517 | 2061 if (docklet_count) { |
| 2062 docklet_count--; | |
| 3472 | 2063 } |
| 3519 | 2064 debug_printf("docklet_count: %d\n",docklet_count); |
| 3517 | 2065 if (!docklet_count) { |
| 3472 | 2066 if (connections) { |
| 2067 unhide_buddy_list(); | |
| 2068 } else { | |
| 2069 gtk_window_present(GTK_WINDOW(mainwindow)); | |
| 2070 } | |
| 2071 } | |
| 3192 | 2072 } |
| 2073 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2074 static gint log_timeout(struct buddy_show *b) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2075 { |
|
2255
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2076 /* this part is really just a bad hack because of a bug I can't find */ |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2077 GSList *s = shows; |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2078 while (s) { |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2079 struct group_show *gs = s->data; |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2080 GSList *m = gs->members; |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2081 while (m) { |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2082 if (b == m->data) |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2083 break; |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2084 m = m->next; |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2085 } |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2086 if (m != NULL) |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2087 break; |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2088 s = s->next; |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2089 } |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2090 if (!s) |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2091 return 0; |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2092 |
|
aaa82fd67a7b
[gaim-migrate @ 2265]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2191
diff
changeset
|
2093 /* this is the real part. */ |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2094 if (!b->connlist) { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2095 struct group_show *g = find_gs_by_bs(b); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2096 g->members = g_slist_remove(g->members, b); |
|
1091
3d6ab4f1fa55
[gaim-migrate @ 1101]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
2097 if (blist) |
|
1108
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
2098 remove_buddy_show(g, b); |
|
1091
3d6ab4f1fa55
[gaim-migrate @ 1101]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
2099 else |
|
3d6ab4f1fa55
[gaim-migrate @ 1101]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
2100 debug_printf("log_timeout but buddy list not available\n"); |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
2101 if ((g->members == NULL) && (blist_options & OPT_BLIST_NO_MT_GRP)) { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2102 shows = g_slist_remove(shows, g); |
|
1091
3d6ab4f1fa55
[gaim-migrate @ 1101]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
2103 if (blist) |
|
1108
cb338aa38e78
[gaim-migrate @ 1118]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1106
diff
changeset
|
2104 gtk_tree_remove_item(GTK_TREE(buddies), g->item); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2105 g_free(g->name); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2106 g_free(g); |
|
1089
f0f5c10cce63
[gaim-migrate @ 1099]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1088
diff
changeset
|
2107 } |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
2108 gtk_timeout_remove(b->log_timer); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
2109 b->log_timer = 0; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2110 g_free(b->name); |
|
1036
faa5afc2b89e
[gaim-migrate @ 1046]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1033
diff
changeset
|
2111 g_free(b->show); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2112 g_free(b); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2113 } else { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2114 /* um.... what do we have to do here? just update the pixmap? */ |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2115 GdkPixmap *pm; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2116 GdkBitmap *bm; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2117 gchar **xpm = NULL; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2118 struct buddy *light = find_buddy(b->connlist->data, b->name); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2119 if (((struct gaim_connection *)b->connlist->data)->prpl->list_icon) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2120 xpm = |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2121 (*((struct gaim_connection *)b->connlist->data)->prpl->list_icon)(light->uc); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2122 if (xpm == NULL) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2123 xpm = (char **)no_icon_xpm; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2124 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, xpm); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2125 gtk_widget_hide(b->pix); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2126 gtk_pixmap_set(GTK_PIXMAP(b->pix), pm, bm); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2127 gtk_widget_show(b->pix); |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
2128 if (!(blist_options & OPT_BLIST_SHOW_PIXMAPS)) |
|
1711
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
2129 gtk_widget_hide(b->pix); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2130 gdk_pixmap_unref(pm); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2131 gdk_bitmap_unref(bm); |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
2132 gtk_timeout_remove(b->log_timer); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
2133 b->log_timer = 0; |
|
1299
18c3874ea051
[gaim-migrate @ 1309]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1297
diff
changeset
|
2134 b->sound = 0; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2135 } |
|
1091
3d6ab4f1fa55
[gaim-migrate @ 1101]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1089
diff
changeset
|
2136 return 0; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2137 } |
|
513
eaddaa0dbbcb
[gaim-migrate @ 523]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
511
diff
changeset
|
2138 |
| 2920 | 2139 static char *caps_string(guint caps) |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2140 { |
|
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2141 static char buf[256], *tmp; |
|
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2142 int count = 0, i = 0; |
| 2920 | 2143 guint bit = 1; |
| 2144 while (bit <= 0x10000) { | |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2145 if (bit & caps) { |
|
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2146 switch (bit) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2147 case 0x1: |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2148 tmp = _("Buddy Icon"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2149 break; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2150 case 0x2: |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2151 tmp = _("Voice"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2152 break; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2153 case 0x4: |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2154 tmp = _("IM Image"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2155 break; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2156 case 0x8: |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2157 tmp = _("Chat"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2158 break; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2159 case 0x10: |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2160 tmp = _("Get File"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2161 break; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2162 case 0x20: |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2163 tmp = _("Send File"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2164 break; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2165 case 0x40: |
| 2669 | 2166 case 0x200: |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2167 tmp = _("Games"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2168 break; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2169 case 0x80: |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2170 tmp = _("Stocks"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2171 break; |
| 2920 | 2172 case 0x100: |
| 2173 tmp = _("Send Buddy List"); | |
| 2174 break; | |
| 2669 | 2175 case 0x400: |
| 2176 tmp = _("EveryBuddy Bug"); | |
| 2177 break; | |
|
2734
9fc65bb80596
[gaim-migrate @ 2747]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2731
diff
changeset
|
2178 case 0x800: |
|
9fc65bb80596
[gaim-migrate @ 2747]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2731
diff
changeset
|
2179 tmp = _("AP User"); |
|
9fc65bb80596
[gaim-migrate @ 2747]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2731
diff
changeset
|
2180 break; |
| 2920 | 2181 case 0x1000: |
| 2182 tmp = _("ICQ RTF"); | |
| 2183 break; | |
| 2184 case 0x2000: | |
| 2185 tmp = _("Nihilist"); | |
| 2186 break; | |
| 2187 case 0x4000: | |
| 2188 tmp = _("ICQ Server Relay"); | |
| 2189 break; | |
| 2190 case 0x8000: | |
| 2191 tmp = _("ICQ Unknown"); | |
| 2192 break; | |
| 2193 case 0x10000: | |
| 2194 tmp = _("Trillian Encryption"); | |
| 2195 break; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2196 default: |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2197 tmp = NULL; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2198 break; |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2199 } |
|
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2200 if (tmp) |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2201 i += g_snprintf(buf + i, sizeof(buf) - i, "%s%s", (count ? ", " : ""), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2202 tmp); |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2203 count++; |
|
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2204 } |
|
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2205 bit <<= 1; |
|
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2206 } |
|
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2207 return buf; |
|
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2208 } |
|
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2209 |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2210 /* for this we're just going to assume the first connection that registered the buddy. |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2211 * if it's not the one you were hoping for then you're shit out of luck */ |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2212 static void update_idle_time(struct buddy_show *bs) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2213 { |
|
1075
2fe18b2d6105
[gaim-migrate @ 1085]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1072
diff
changeset
|
2214 /* this also updates the tooltip since that has idle time in it */ |
|
1242
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
2215 char idlet[16], warnl[16]; |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2216 time_t t; |
|
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2217 int ihrs, imin; |
|
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2218 struct buddy *b; |
|
2592
f194dd8250d4
[gaim-migrate @ 2605]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2587
diff
changeset
|
2219 GtkStyle *style; |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2220 |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2221 char infotip[2048]; |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2222 char warn[256]; |
|
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2223 char caps[256]; |
|
1815
f15d449b3167
[gaim-migrate @ 1825]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1805
diff
changeset
|
2224 char *sotime = NULL, *itime; |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2225 |
|
2731
e9e624d8803e
[gaim-migrate @ 2744]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2730
diff
changeset
|
2226 int i; |
|
e9e624d8803e
[gaim-migrate @ 2744]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2730
diff
changeset
|
2227 |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2228 time(&t); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2229 if (!bs->connlist) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2230 return; |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2231 b = find_buddy(bs->connlist->data, bs->name); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2232 if (!b) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2233 return; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2234 ihrs = (t - b->idle) / 3600; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2235 imin = ((t - b->idle) / 60) % 60; |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2236 |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2237 if (ihrs) |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2238 g_snprintf(idlet, sizeof idlet, "(%d:%02d)", ihrs, imin); |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2239 else |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2240 g_snprintf(idlet, sizeof idlet, "(%d)", imin); |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2241 |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2242 gtk_widget_hide(bs->idle); |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2243 if (b->idle) |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2244 gtk_label_set(GTK_LABEL(bs->idle), idlet); |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2245 else |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2246 gtk_label_set(GTK_LABEL(bs->idle), ""); |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
2247 if (blist_options & OPT_BLIST_SHOW_IDLETIME) |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2248 gtk_widget_show(bs->idle); |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2249 |
|
2730
a9aabf1170f1
[gaim-migrate @ 2743]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2725
diff
changeset
|
2250 style = gtk_style_new(); |
|
a9aabf1170f1
[gaim-migrate @ 2743]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2725
diff
changeset
|
2251 gtk_style_set_font(style, gdk_font_ref(gtk_style_get_font(bs->label->style))); |
|
2731
e9e624d8803e
[gaim-migrate @ 2744]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2730
diff
changeset
|
2252 for (i = 0; i < 5; i++) |
|
2736
6e1ac8ceb3c4
[gaim-migrate @ 2749]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2734
diff
changeset
|
2253 style->fg[i] = bs->idle->style->fg[i]; |
|
2610
98928712e319
[gaim-migrate @ 2623]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2607
diff
changeset
|
2254 if ((blist_options & OPT_BLIST_GREY_IDLERS) && (b->idle)) { |
|
2592
f194dd8250d4
[gaim-migrate @ 2605]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2587
diff
changeset
|
2255 style->fg[GTK_STATE_NORMAL].red = |
|
2613
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2610
diff
changeset
|
2256 (style->fg[GTK_STATE_NORMAL].red / 2) + (style->base[GTK_STATE_NORMAL].red / 2); |
|
2592
f194dd8250d4
[gaim-migrate @ 2605]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2587
diff
changeset
|
2257 style->fg[GTK_STATE_NORMAL].green = |
|
2613
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2610
diff
changeset
|
2258 (style->fg[GTK_STATE_NORMAL].green / 2) + (style->base[GTK_STATE_NORMAL].green / 2); |
|
2592
f194dd8250d4
[gaim-migrate @ 2605]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2587
diff
changeset
|
2259 style->fg[GTK_STATE_NORMAL].blue = |
|
2613
6f7e1fc3e132
[gaim-migrate @ 2626]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2610
diff
changeset
|
2260 (style->fg[GTK_STATE_NORMAL].blue / 2) + (style->base[GTK_STATE_NORMAL].blue / 2); |
|
2592
f194dd8250d4
[gaim-migrate @ 2605]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2587
diff
changeset
|
2261 } |
|
f194dd8250d4
[gaim-migrate @ 2605]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2587
diff
changeset
|
2262 gtk_widget_set_style(bs->label, style); |
|
f194dd8250d4
[gaim-migrate @ 2605]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2587
diff
changeset
|
2263 gtk_style_unref(style); |
|
f194dd8250d4
[gaim-migrate @ 2605]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2587
diff
changeset
|
2264 |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2265 /* now we do the tooltip */ |
|
1496
d33bf6548543
[gaim-migrate @ 1506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1477
diff
changeset
|
2266 if (b->signon) { |
|
d33bf6548543
[gaim-migrate @ 1506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1477
diff
changeset
|
2267 char *stime = sec_to_text(t - b->signon + |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2268 ((struct gaim_connection *)bs->connlist->data)-> |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2269 correction_time); |
|
1496
d33bf6548543
[gaim-migrate @ 1506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1477
diff
changeset
|
2270 sotime = g_strdup_printf(_("Logged in: %s\n"), stime); |
|
d33bf6548543
[gaim-migrate @ 1506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1477
diff
changeset
|
2271 g_free(stime); |
|
d33bf6548543
[gaim-migrate @ 1506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1477
diff
changeset
|
2272 } |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2273 |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2274 if (b->idle) |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2275 itime = sec_to_text(t - b->idle); |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2276 else { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2277 itime = g_malloc(1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2278 itime[0] = 0; |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2279 } |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2280 |
|
1242
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
2281 if (b->evil) { |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2282 g_snprintf(warn, sizeof warn, _("Warnings: %d%%\n"), b->evil); |
|
1242
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
2283 g_snprintf(warnl, sizeof warnl, "(%d%%)", b->evil); |
|
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
2284 } else { |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2285 warn[0] = '\0'; |
|
1242
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
2286 warnl[0] = '\0'; |
|
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
2287 } |
|
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
2288 gtk_widget_hide(bs->warn); |
|
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
2289 gtk_label_set(GTK_LABEL(bs->warn), warnl); |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
2290 if (blist_options & OPT_BLIST_SHOW_WARN) |
|
1242
8cb5c1000ea9
[gaim-migrate @ 1252]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1235
diff
changeset
|
2291 gtk_widget_show(bs->warn); |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2292 |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2293 if (b->caps) |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2294 g_snprintf(caps, sizeof caps, _("Capabilities: %s\n"), caps_string(b->caps)); |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2295 else |
|
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2296 caps[0] = '\0'; |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2297 |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2298 g_snprintf(infotip, sizeof infotip, _("Alias: %s \nScreen Name: %s\n" |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2299 "%s%s%s%s%s%s"), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2300 b->show, b->name, |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2301 (b->signon ? sotime : ""), warn, |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2302 (b->idle ? _("Idle: ") : ""), itime, (b->idle ? "\n" : ""), caps); |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2303 |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2304 gtk_tooltips_set_tip(tips, GTK_WIDGET(bs->item), infotip, ""); |
|
1068
ed28707debdc
[gaim-migrate @ 1078]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1066
diff
changeset
|
2305 |
|
1496
d33bf6548543
[gaim-migrate @ 1506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1477
diff
changeset
|
2306 if (b->signon) |
|
d33bf6548543
[gaim-migrate @ 1506]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1477
diff
changeset
|
2307 g_free(sotime); |
|
1163
8f70ecf3e884
[gaim-migrate @ 1173]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1159
diff
changeset
|
2308 g_free(itime); |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2309 } |
|
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2310 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2311 void update_idle_times() |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2312 { |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2313 GSList *grp = shows; |
|
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2314 GSList *mem; |
|
1667
b5635d882116
[gaim-migrate @ 1677]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1666
diff
changeset
|
2315 struct buddy_show *b; |
|
b5635d882116
[gaim-migrate @ 1677]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1666
diff
changeset
|
2316 struct group_show *g; |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2317 |
|
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2318 while (grp) { |
|
1667
b5635d882116
[gaim-migrate @ 1677]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1666
diff
changeset
|
2319 g = (struct group_show *)grp->data; |
|
b5635d882116
[gaim-migrate @ 1677]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1666
diff
changeset
|
2320 mem = g->members; |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2321 while (mem) { |
|
1667
b5635d882116
[gaim-migrate @ 1677]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1666
diff
changeset
|
2322 b = (struct buddy_show *)mem->data; |
|
b5635d882116
[gaim-migrate @ 1677]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1666
diff
changeset
|
2323 update_idle_time(b); |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2324 mem = mem->next; |
|
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2325 } |
|
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2326 grp = grp->next; |
|
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2327 } |
|
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2328 } |
|
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2329 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2330 void set_buddy(struct gaim_connection *gc, struct buddy *b) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2331 { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2332 struct group *g = find_group_by_buddy(gc, b->name); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2333 struct group_show *gs; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2334 struct buddy_show *bs; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2335 GdkPixmap *pm; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2336 GdkBitmap *bm; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2337 char **xpm = NULL; |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2338 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2339 if (!blist) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2340 return; |
|
1063
e1408fb04c36
[gaim-migrate @ 1073]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1061
diff
changeset
|
2341 |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2342 if (b->present) { |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2343 if ((gs = find_group_show(g->name)) == NULL) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2344 gs = new_group_show(g->name); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2345 if ((bs = find_buddy_show(gs, b->name)) == NULL) |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
2346 bs = new_buddy_show(gs, b, (char **)login_icon_xpm); |
|
2778
27c22147e023
[gaim-migrate @ 2791]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2736
diff
changeset
|
2347 if (!g_slist_find(bs->connlist, gc)) { |
|
1164
ed5bb86253c6
[gaim-migrate @ 1174]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1163
diff
changeset
|
2348 bs->connlist = g_slist_append(bs->connlist, gc); |
|
2778
27c22147e023
[gaim-migrate @ 2791]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2736
diff
changeset
|
2349 update_num_group(gs); |
|
27c22147e023
[gaim-migrate @ 2791]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2736
diff
changeset
|
2350 } |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2351 if (b->present == 1) { |
|
1299
18c3874ea051
[gaim-migrate @ 1309]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1297
diff
changeset
|
2352 if (bs->sound != 2) |
| 3060 | 2353 play_sound(SND_BUDDY_ARRIVE); |
| 3192 | 2354 if (blist_options & OPT_BLIST_POPUP) |
| 3544 | 2355 gdk_window_show(blist->window); |
|
1039
67ed2ee5be9f
[gaim-migrate @ 1049]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1037
diff
changeset
|
2356 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2357 NULL, (char **)login_icon_xpm); |
|
1039
67ed2ee5be9f
[gaim-migrate @ 1049]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1037
diff
changeset
|
2358 gtk_widget_hide(bs->pix); |
|
67ed2ee5be9f
[gaim-migrate @ 1049]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1037
diff
changeset
|
2359 gtk_pixmap_set(GTK_PIXMAP(bs->pix), pm, bm); |
|
67ed2ee5be9f
[gaim-migrate @ 1049]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1037
diff
changeset
|
2360 gtk_widget_show(bs->pix); |
|
67ed2ee5be9f
[gaim-migrate @ 1049]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1037
diff
changeset
|
2361 gdk_pixmap_unref(pm); |
|
67ed2ee5be9f
[gaim-migrate @ 1049]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1037
diff
changeset
|
2362 gdk_bitmap_unref(bm); |
|
121
3571b593f423
[gaim-migrate @ 131]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
120
diff
changeset
|
2363 b->present = 2; |
|
1106
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
2364 if (bs->log_timer > 0) |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
2365 gtk_timeout_remove(bs->log_timer); |
|
5bc8fdacd2cb
[gaim-migrate @ 1116]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1103
diff
changeset
|
2366 bs->log_timer = gtk_timeout_add(10000, (GtkFunction)log_timeout, bs); |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
2367 if ((bs->sound != 2) && (im_options & OPT_IM_LOGON)) { |
|
1066
d6c70d58a4b2
[gaim-migrate @ 1076]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1063
diff
changeset
|
2368 struct conversation *c = find_conversation(b->name); |
|
d6c70d58a4b2
[gaim-migrate @ 1076]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1063
diff
changeset
|
2369 if (c) { |
|
d6c70d58a4b2
[gaim-migrate @ 1076]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1063
diff
changeset
|
2370 char tmp[1024]; |
| 3104 | 2371 g_snprintf(tmp, sizeof(tmp), _("%s logged in."), b->show); |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2824
diff
changeset
|
2372 write_to_conv(c, tmp, WFLAG_SYSTEM, NULL, time(NULL), -1); |
|
2906
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2373 } else if (clistqueue && find_queue_total_by_name(b->name)) { |
|
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2374 struct queued_message *qm = g_new0(struct queued_message, 1); |
| 2979 | 2375 g_snprintf(qm->name, sizeof(qm->name), "%s", b->name); |
| 3104 | 2376 qm->message = g_strdup_printf(_("%s logged in."), b->show); |
|
2906
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2377 qm->gc = gc; |
|
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2378 qm->tm = time(NULL); |
|
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2379 qm->flags = WFLAG_SYSTEM; |
|
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2380 qm->len = -1; |
|
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2381 message_queue = g_slist_append(message_queue, qm); |
|
1066
d6c70d58a4b2
[gaim-migrate @ 1076]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1063
diff
changeset
|
2382 } |
|
d6c70d58a4b2
[gaim-migrate @ 1076]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1063
diff
changeset
|
2383 } |
|
1661
6cea395b627d
[gaim-migrate @ 1671]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1634
diff
changeset
|
2384 bs->sound = 2; |
|
1098
b335c0ce305e
[gaim-migrate @ 1108]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1097
diff
changeset
|
2385 } else if (bs->log_timer == 0) { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2386 if (gc->prpl->list_icon) |
|
2662
b0c5770156e1
[gaim-migrate @ 2675]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2641
diff
changeset
|
2387 xpm = gc->prpl->list_icon(b->uc); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2388 if (xpm == NULL) |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2389 xpm = (char **)no_icon_xpm; |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2390 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, xpm); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2391 gtk_widget_hide(bs->pix); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2392 gtk_pixmap_set(GTK_PIXMAP(bs->pix), pm, bm); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2393 gtk_widget_show(bs->pix); |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
2394 if (!(blist_options & OPT_BLIST_SHOW_PIXMAPS)) |
|
1711
9b86520e04ac
[gaim-migrate @ 1721]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1699
diff
changeset
|
2395 gtk_widget_hide(bs->pix); |
|
644
b3900e312d8e
[gaim-migrate @ 654]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
608
diff
changeset
|
2396 gdk_pixmap_unref(pm); |
|
804
17def2bb9720
[gaim-migrate @ 814]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
803
diff
changeset
|
2397 gdk_bitmap_unref(bm); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2398 } |
|
1058
4927ce25d8cc
[gaim-migrate @ 1068]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1057
diff
changeset
|
2399 update_idle_time(bs); |
| 1 | 2400 } else { |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2401 gs = find_group_show(g->name); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2402 if (!gs) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2403 return; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2404 bs = find_buddy_show(gs, b->name); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2405 if (!bs) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2406 return; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2407 if (!bs->connlist) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2408 return; /* we won't do signoff updates for |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2409 buddies that have already signed |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2410 off */ |
|
1299
18c3874ea051
[gaim-migrate @ 1309]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1297
diff
changeset
|
2411 if (bs->sound != 1) |
| 3060 | 2412 play_sound(SND_BUDDY_LEAVE); |
| 3192 | 2413 if (blist_options & OPT_BLIST_POPUP) |
| 3544 | 2414 gdk_window_show(blist->window); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2415 bs->connlist = g_slist_remove(bs->connlist, gc); |
|
2778
27c22147e023
[gaim-migrate @ 2791]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2736
diff
changeset
|
2416 update_num_group(gs); |
|
1032
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
2417 if (bs->log_timer > 0) |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
2418 gtk_timeout_remove(bs->log_timer); |
|
643a4d81c18a
[gaim-migrate @ 1042]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1030
diff
changeset
|
2419 bs->log_timer = gtk_timeout_add(10000, (GtkFunction)log_timeout, bs); |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2420 pm = gdk_pixmap_create_from_xpm_d(blist->window, &bm, NULL, logout_icon_xpm); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2421 gtk_widget_hide(bs->pix); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2422 gtk_pixmap_set(GTK_PIXMAP(bs->pix), pm, bm); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2423 gtk_widget_show(bs->pix); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2424 gdk_pixmap_unref(pm); |
|
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2425 gdk_bitmap_unref(bm); |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
2426 if ((bs->sound != 1) && (im_options & OPT_IM_LOGON)) { |
|
1066
d6c70d58a4b2
[gaim-migrate @ 1076]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1063
diff
changeset
|
2427 struct conversation *c = find_conversation(b->name); |
|
d6c70d58a4b2
[gaim-migrate @ 1076]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1063
diff
changeset
|
2428 if (c) { |
|
d6c70d58a4b2
[gaim-migrate @ 1076]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1063
diff
changeset
|
2429 char tmp[1024]; |
| 3104 | 2430 g_snprintf(tmp, sizeof(tmp), _("%s logged out."), b->show); |
|
2856
b1e300a85678
[gaim-migrate @ 2869]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2824
diff
changeset
|
2431 write_to_conv(c, tmp, WFLAG_SYSTEM, NULL, time(NULL), -1); |
|
2906
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2432 } else if (clistqueue && find_queue_total_by_name(b->name)) { |
|
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2433 struct queued_message *qm = g_new0(struct queued_message, 1); |
| 2979 | 2434 g_snprintf(qm->name, sizeof(qm->name), "%s", b->name); |
| 3104 | 2435 qm->message = g_strdup_printf(_("%s logged out."), b->show); |
|
2906
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2436 qm->gc = gc; |
|
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2437 qm->tm = time(NULL); |
|
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2438 qm->flags = WFLAG_SYSTEM; |
|
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2439 qm->len = -1; |
|
538c58b43eff
[gaim-migrate @ 2919]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2886
diff
changeset
|
2440 message_queue = g_slist_append(message_queue, qm); |
|
1066
d6c70d58a4b2
[gaim-migrate @ 1076]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1063
diff
changeset
|
2441 } |
|
d6c70d58a4b2
[gaim-migrate @ 1076]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1063
diff
changeset
|
2442 } |
|
1661
6cea395b627d
[gaim-migrate @ 1671]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1634
diff
changeset
|
2443 |
|
6cea395b627d
[gaim-migrate @ 1671]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1634
diff
changeset
|
2444 bs->sound = 1; |
|
1030
38452403563b
[gaim-migrate @ 1040]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1002
diff
changeset
|
2445 } |
| 1 | 2446 } |
| 2447 | |
| 3540 | 2448 static void configure_blist_window(GtkWidget *w, GdkEventConfigure *event, void *data) { |
| 2449 if (event->x != blist_pos.x || | |
| 2450 event->y != blist_pos.y || | |
| 2451 event->width != blist_pos.width || | |
| 2452 event->height != blist_pos.height) { | |
| 2453 blist_pos.x = event->x; | |
| 2454 blist_pos.y = event->y; | |
| 2455 blist_pos.width = event->width; | |
| 2456 blist_pos.height = event->height; | |
| 2457 save_prefs(); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2458 } |
| 1 | 2459 } |
| 2460 | |
| 2461 /******************************************************************* | |
| 2462 * | |
| 2463 * Helper funs for making the menu | |
| 2464 * | |
| 2465 *******************************************************************/ | |
| 2466 | |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1496
diff
changeset
|
2467 void gaim_separator(GtkWidget *menu) |
| 1 | 2468 { |
| 2469 GtkWidget *sep, *menuitem; | |
| 2470 sep = gtk_hseparator_new(); | |
| 2471 menuitem = gtk_menu_item_new(); | |
| 2472 gtk_menu_append(GTK_MENU(menu), menuitem); | |
| 2473 gtk_container_add(GTK_CONTAINER(menuitem), sep); | |
| 2474 gtk_widget_set_sensitive(menuitem, FALSE); | |
| 2475 gtk_widget_show(menuitem); | |
| 2476 gtk_widget_show(sep); | |
| 2477 } | |
| 2478 | |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2479 GtkWidget *gaim_new_item(GtkWidget *menu, const char *str) |
| 1 | 2480 { |
| 2481 GtkWidget *menuitem; | |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2482 GtkWidget *label; |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2483 |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2484 menuitem = gtk_menu_item_new(); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2485 if (menu) |
| 1 | 2486 gtk_menu_append(GTK_MENU(menu), menuitem); |
| 2487 gtk_widget_show(menuitem); | |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2488 |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2489 label = gtk_label_new(str); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2490 gtk_label_set_pattern(GTK_LABEL(label), "_"); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2491 gtk_container_add(GTK_CONTAINER(menuitem), label); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2492 gtk_widget_show(label); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2493 |
| 3466 | 2494 gtk_widget_add_accelerator(menuitem, "activate", accel, str[0], |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2495 GDK_MOD1_MASK, GTK_ACCEL_LOCKED); |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2496 gtk_widget_lock_accelerators(menuitem); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2497 |
| 1 | 2498 return menuitem; |
| 2499 } | |
| 2500 | |
| 3204 | 2501 GtkWidget *gaim_new_item_with_pixmap(GtkWidget *menu, const char *str, char **xpm, GtkSignalFunc sf, gpointer data, |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2502 guint accel_key, guint accel_mods, char *mod) |
| 714 | 2503 { |
| 2504 GtkWidget *menuitem; | |
| 2505 GtkWidget *hbox; | |
| 2506 GtkWidget *label; | |
| 2507 GtkWidget *pixmap; | |
| 2508 GdkPixmap *pm; | |
| 2509 GdkBitmap *mask; | |
| 2510 | |
| 2511 menuitem = gtk_menu_item_new(); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2512 if (menu) |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2513 gtk_menu_append(GTK_MENU(menu), menuitem); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2514 if (sf) |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2515 /* passing 1 is necessary so if we sign off closing the account editor doesn't exit */ |
| 3204 | 2516 gtk_signal_connect(GTK_OBJECT(menuitem), "activate", sf, data); |
| 714 | 2517 gtk_widget_show(menuitem); |
| 2518 | |
| 2519 /* Create our container */ | |
| 718 | 2520 hbox = gtk_hbox_new(FALSE, 2); |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2521 gtk_container_add(GTK_CONTAINER(menuitem), hbox); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2522 gtk_widget_show(hbox); |
| 714 | 2523 |
| 2524 /* Create our pixmap and pack it */ | |
|
719
7e5523de52e2
[gaim-migrate @ 729]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
718
diff
changeset
|
2525 gtk_widget_realize(menu->parent); |
| 714 | 2526 pm = gdk_pixmap_create_from_xpm_d(menu->parent->window, &mask, NULL, xpm); |
| 2527 pixmap = gtk_pixmap_new(pm, mask); | |
| 2528 gtk_widget_show(pixmap); | |
|
803
7f75b17d4e14
[gaim-migrate @ 813]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
801
diff
changeset
|
2529 gdk_pixmap_unref(pm); |
|
804
17def2bb9720
[gaim-migrate @ 814]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
803
diff
changeset
|
2530 gdk_bitmap_unref(mask); |
| 718 | 2531 gtk_box_pack_start(GTK_BOX(hbox), pixmap, FALSE, FALSE, 2); |
| 2532 | |
| 2533 /* Create our label and pack it */ | |
| 2534 label = gtk_label_new(str); | |
| 2535 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 2); | |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2536 gtk_widget_show(label); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2537 |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2538 if (mod) { |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2539 label = gtk_label_new(mod); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2540 gtk_box_pack_end(GTK_BOX(hbox), label, FALSE, FALSE, 2); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2541 gtk_widget_show(label); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2542 } |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2543 |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2544 if (accel_key) { |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2545 gtk_widget_add_accelerator(menuitem, "activate", accel, accel_key, |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2546 accel_mods, GTK_ACCEL_LOCKED); |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2547 gtk_widget_lock_accelerators(menuitem); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2548 } |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2549 |
| 714 | 2550 return menuitem; |
| 2551 } | |
| 2552 | |
| 1 | 2553 |
| 2554 | |
|
696
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2555 void build_imchat_box(gboolean on) |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2556 { |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2557 if (on) { |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2558 if (imchatbox) |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2559 return; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2560 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2561 imbutton = gtk_button_new_with_label(_("IM")); |
|
696
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2562 infobutton = gtk_button_new_with_label(_("Info")); |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2563 chatbutton = gtk_button_new_with_label(_("Chat")); |
|
1929
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
2564 awaybutton = gtk_button_new_with_label(_("Away")); |
|
696
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2565 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2566 imchatbox = gtk_hbox_new(TRUE, 10); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2567 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2568 if (misc_options & OPT_MISC_COOL_LOOK) { |
|
696
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2569 gtk_button_set_relief(GTK_BUTTON(imbutton), GTK_RELIEF_NONE); |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2570 gtk_button_set_relief(GTK_BUTTON(infobutton), GTK_RELIEF_NONE); |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2571 gtk_button_set_relief(GTK_BUTTON(chatbutton), GTK_RELIEF_NONE); |
|
1929
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
2572 gtk_button_set_relief(GTK_BUTTON(awaybutton), GTK_RELIEF_NONE); |
|
696
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2573 } |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2574 |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2575 /* Put the buttons in the hbox */ |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2576 gtk_widget_show(imbutton); |
|
1929
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
2577 gtk_widget_show(infobutton); |
|
696
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2578 gtk_widget_show(chatbutton); |
|
1929
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
2579 gtk_widget_show(awaybutton); |
|
696
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2580 |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2581 gtk_box_pack_start(GTK_BOX(imchatbox), imbutton, TRUE, TRUE, 0); |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2582 gtk_box_pack_start(GTK_BOX(imchatbox), infobutton, TRUE, TRUE, 0); |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2583 gtk_box_pack_start(GTK_BOX(imchatbox), chatbutton, TRUE, TRUE, 0); |
|
1929
d51ea669d84e
[gaim-migrate @ 1939]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1918
diff
changeset
|
2584 gtk_box_pack_start(GTK_BOX(imchatbox), awaybutton, TRUE, TRUE, 0); |
| 1172 | 2585 gtk_container_border_width(GTK_CONTAINER(imchatbox), 5); |
|
696
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2586 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2587 gtk_signal_connect(GTK_OBJECT(imbutton), "clicked", GTK_SIGNAL_FUNC(im_callback), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2588 buddies); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2589 gtk_signal_connect(GTK_OBJECT(infobutton), "clicked", GTK_SIGNAL_FUNC(info_callback), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2590 buddies); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2591 gtk_signal_connect(GTK_OBJECT(chatbutton), "clicked", GTK_SIGNAL_FUNC(chat_callback), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2592 buddies); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2593 gtk_signal_connect(GTK_OBJECT(awaybutton), "clicked", GTK_SIGNAL_FUNC(away_callback), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2594 buddies); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2595 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2596 gtk_tooltips_set_tip(tips, infobutton, _("Information on selected Buddy"), "Penguin"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2597 gtk_tooltips_set_tip(tips, imbutton, _("Send Instant Message"), "Penguin"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2598 gtk_tooltips_set_tip(tips, chatbutton, _("Start/join a Buddy Chat"), "Penguin"); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2599 gtk_tooltips_set_tip(tips, awaybutton, _("Activate Away Message"), "Penguin"); |
|
696
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2600 |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2601 gtk_box_pack_start(GTK_BOX(buddypane), imchatbox, FALSE, FALSE, 0); |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2602 |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2603 gtk_widget_show(imchatbox); |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2604 } else { |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2605 if (imchatbox) |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2606 gtk_widget_destroy(imchatbox); |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2607 imchatbox = NULL; |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2608 } |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2609 } |
|
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2610 |
| 3204 | 2611 extern GtkWidget *debugbutton; |
| 2612 void clicked_debug (GtkWidget *widg, gpointer pntr) | |
| 2613 { | |
| 2614 if (debugbutton) | |
| 2615 gtk_button_clicked(GTK_BUTTON(debugbutton)); | |
| 2616 else { | |
| 2617 misc_options ^= OPT_MISC_DEBUG; | |
| 2618 show_debug(); | |
| 2619 } | |
| 2620 } | |
| 1 | 2621 |
| 2622 void show_buddy_list() | |
| 2623 { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2624 |
| 1 | 2625 /* Build the buddy list, based on *config */ |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2626 |
| 1 | 2627 GtkWidget *sw; |
| 2628 GtkWidget *menu; | |
|
798
9dc39872e1f9
[gaim-migrate @ 808]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
784
diff
changeset
|
2629 #ifdef USE_PERL |
|
9dc39872e1f9
[gaim-migrate @ 808]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
784
diff
changeset
|
2630 GtkWidget *perlmenu; |
|
9dc39872e1f9
[gaim-migrate @ 808]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
784
diff
changeset
|
2631 #endif |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1496
diff
changeset
|
2632 #ifdef NO_MULTI |
| 1 | 2633 GtkWidget *setmenu; |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1496
diff
changeset
|
2634 GtkWidget *findmenu; |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1496
diff
changeset
|
2635 #endif |
| 1 | 2636 GtkWidget *menubar; |
| 2637 GtkWidget *vbox; | |
| 2638 GtkWidget *menuitem; | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2639 GtkWidget *notebook; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2640 GtkWidget *label; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2641 GtkWidget *bbox; |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2642 GtkWidget *tbox; |
| 1 | 2643 |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
945
diff
changeset
|
2644 if (blist) { |
| 3539 | 2645 unhide_buddy_list(); |
|
960
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
945
diff
changeset
|
2646 return; |
|
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
945
diff
changeset
|
2647 } |
|
fa681641643d
[gaim-migrate @ 970]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
945
diff
changeset
|
2648 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2649 blist = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2650 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2651 gtk_window_set_wmclass(GTK_WINDOW(blist), "buddy_list", "Gaim"); |
| 905 | 2652 |
| 1 | 2653 gtk_widget_realize(blist); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2654 |
| 3540 | 2655 gtk_window_set_gravity(GTK_WINDOW(blist), GDK_GRAVITY_STATIC); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2656 gtk_window_set_policy(GTK_WINDOW(blist), TRUE, TRUE, TRUE); |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2657 |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2658 accel = gtk_accel_group_new(); |
| 3466 | 2659 gtk_accel_group_attach(accel, G_OBJECT(blist)); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2660 |
| 1 | 2661 menubar = gtk_menu_bar_new(); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2662 |
| 1 | 2663 menu = gtk_menu_new(); |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2664 gtk_menu_set_accel_group(GTK_MENU(menu), accel); |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2665 |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2666 |
|
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2667 menuitem = gaim_new_item(NULL, _("File")); |
| 1 | 2668 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu); |
| 2669 gtk_menu_bar_append(GTK_MENU_BAR(menubar), menuitem); | |
| 2670 | |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2671 gaim_new_item_with_pixmap(menu, _("Add A Buddy"), add_small_xpm, |
| 3204 | 2672 GTK_SIGNAL_FUNC(add_buddy_callback), NULL, 'b', GDK_CONTROL_MASK, "Ctl+B"); |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2673 gaim_new_item_with_pixmap(menu, _("Join A Chat"), pounce_small_xpm, |
| 3204 | 2674 GTK_SIGNAL_FUNC(chat_callback), NULL, 'c', GDK_CONTROL_MASK, "Ctl+C"); |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2675 gaim_new_item_with_pixmap(menu, _("New Instant Message"), send_small_xpm, |
| 3204 | 2676 GTK_SIGNAL_FUNC(show_im_dialog), NULL, 'i', GDK_CONTROL_MASK, "Ctl+I"); |
|
2587
cfb8c88d290e
[gaim-migrate @ 2600]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2582
diff
changeset
|
2677 gaim_new_item_with_pixmap(menu, _("Get User Info"), search_small_xpm, |
| 3204 | 2678 GTK_SIGNAL_FUNC(show_info_dialog), NULL, 'j', GDK_CONTROL_MASK, "Ctl+J"); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2679 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2680 gaim_separator(menu); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2681 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2682 gaim_new_item_with_pixmap(menu, _("Import Buddy List"), import_small_xpm, |
| 3204 | 2683 GTK_SIGNAL_FUNC(import_callback), NULL, 0, 0, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2684 /*gaim_new_item_with_pixmap(menu, _("Export Buddy List"), export_small_xpm, |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2685 GTK_SIGNAL_FUNC(show_export_dialog), 0, 0, 0); */ |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1496
diff
changeset
|
2686 gaim_separator(menu); |
| 2780 | 2687 gaim_new_item_with_pixmap(menu, _("Signoff"), logout_menu_xpm, |
| 3204 | 2688 GTK_SIGNAL_FUNC(signoff_all), (void*)1, 'd', GDK_CONTROL_MASK, "Ctl+D"); |
| 1 | 2689 |
| 3472 | 2690 gaim_new_item_with_pixmap(menu, _("Hide"), close_small_xpm, |
| 2691 GTK_SIGNAL_FUNC(hide_buddy_list), NULL, 'h', GDK_CONTROL_MASK, "Ctl+H"); | |
| 2692 | |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2693 gaim_new_item_with_pixmap(menu, _("Quit"), exit_small_xpm, |
| 3204 | 2694 GTK_SIGNAL_FUNC(do_quit), NULL, 'q', GDK_CONTROL_MASK, "Ctl+Q"); |
| 1 | 2695 |
| 2696 menu = gtk_menu_new(); | |
| 2697 | |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2698 menuitem = gaim_new_item(NULL, _("Tools")); |
| 1 | 2699 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu); |
| 2700 gtk_menu_bar_append(GTK_MENU_BAR(menubar), menuitem); | |
| 2701 | |
| 2702 awaymenu = gtk_menu_new(); | |
| 3204 | 2703 menuitem = gaim_new_item_with_pixmap(menu, _("Away"), away_small_xpm, NULL, NULL, 0, 0, 0); |
| 1 | 2704 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), awaymenu); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2705 do_away_menu(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2706 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2707 bpmenu = gtk_menu_new(); |
| 3204 | 2708 menuitem = gaim_new_item_with_pixmap(menu, _("Buddy Pounce"), pounce_small_xpm, NULL, NULL, 0, 0, 0); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2709 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), bpmenu); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2710 do_bp_menu(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2711 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2712 gaim_separator(menu); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1496
diff
changeset
|
2713 |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2592
diff
changeset
|
2714 #ifndef NO_MULTI |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2715 gaim_new_item_with_pixmap(menu, _("Accounts"), add_small_xpm, |
| 3204 | 2716 GTK_SIGNAL_FUNC(account_editor), NULL, 'a', GDK_CONTROL_MASK, "Ctl+A"); |
|
2598
b2800bca74fe
[gaim-migrate @ 2611]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2592
diff
changeset
|
2717 #endif |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1496
diff
changeset
|
2718 |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1496
diff
changeset
|
2719 protomenu = gtk_menu_new(); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2720 menuitem = |
| 3204 | 2721 gaim_new_item_with_pixmap(menu, _("Protocol Actions"), prefs_small_xpm, NULL, NULL, 0, 0, 0); |
|
1499
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1496
diff
changeset
|
2722 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), protomenu); |
|
de0b946e86a4
[gaim-migrate @ 1509]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1496
diff
changeset
|
2723 do_proto_menu(); |
| 1 | 2724 |
| 3367 | 2725 gaim_new_item_with_pixmap(menu, _("Privacy"), block_small_xpm, |
| 2726 GTK_SIGNAL_FUNC(show_privacy_options), NULL, 0, 0, 0); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2727 gaim_new_item_with_pixmap(menu, _("Preferences"), prefs_small_xpm, |
| 3204 | 2728 GTK_SIGNAL_FUNC(show_prefs), NULL, 'p', GDK_CONTROL_MASK, "Ctl+P"); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2729 gaim_new_item_with_pixmap(menu, _("View System Log"), prefs_small_xpm, |
| 3204 | 2730 GTK_SIGNAL_FUNC(show_syslog), NULL, 0, 0, 0); |
|
90
f5b305c0d974
[gaim-migrate @ 100]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
87
diff
changeset
|
2731 |
| 1 | 2732 menu = gtk_menu_new(); |
| 2733 | |
|
1634
d029dc28a61e
[gaim-migrate @ 1644]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1625
diff
changeset
|
2734 menuitem = gaim_new_item(NULL, _("Help")); |
| 1 | 2735 gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuitem), menu); |
| 2736 gtk_menu_bar_append(GTK_MENU_BAR(menubar), menuitem); | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2737 |
| 3204 | 2738 gaim_new_item_with_pixmap(menu, _("Online Help"), add_small_xpm, GTK_SIGNAL_FUNC(open_url), WEBSITE"documentation.php", GDK_F1, 0, NULL); |
| 2739 gaim_new_item_with_pixmap(menu, _("Debug Window"), search_small_xpm, GTK_SIGNAL_FUNC(clicked_debug), NULL, 0, 0, NULL); | |
| 2740 gaim_new_item_with_pixmap(menu, _("About Gaim"), about_small_xpm, GTK_SIGNAL_FUNC(show_about), NULL, GDK_F1, GDK_CONTROL_MASK, NULL); | |
| 2741 | |
| 2742 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2743 gtk_widget_show(menubar); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2744 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2745 vbox = gtk_vbox_new(FALSE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2746 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2747 notebook = gtk_notebook_new(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2748 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2749 /* Do buddy list stuff */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2750 /* FIXME: spacing on both panes is ad hoc */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2751 buddypane = gtk_vbox_new(FALSE, 1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2752 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2753 buddies = gtk_tree_new(); |
| 3131 | 2754 gtk_tree_set_view_lines(GTK_TREE(buddies), FALSE); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2755 sw = gtk_scrolled_window_new(NULL, NULL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2756 |
| 1 | 2757 tips = gtk_tooltips_new(); |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2758 gtk_object_set_data(GTK_OBJECT(blist), _("Buddy List"), tips); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2759 |
| 1 | 2760 /* Now the buddy list */ |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2761 gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw), buddies); |
| 1 | 2762 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2763 GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2764 gtk_widget_set_usize(sw, 200, 200); |
| 1 | 2765 gtk_widget_show(buddies); |
| 2766 gtk_widget_show(sw); | |
| 2767 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2768 gtk_box_pack_start(GTK_BOX(buddypane), sw, TRUE, TRUE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2769 gtk_widget_show(buddypane); |
| 1 | 2770 |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
2771 if (!(blist_options & OPT_BLIST_NO_BUTTONS)) |
|
696
97b75ed155b0
[gaim-migrate @ 706]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
689
diff
changeset
|
2772 build_imchat_box(TRUE); |
| 1 | 2773 |
| 2774 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2775 /* Swing the edit buddy */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2776 editpane = gtk_vbox_new(FALSE, 1); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2777 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2778 addbutton = gtk_button_new_with_label(_("Add")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2779 groupbutton = gtk_button_new_with_label(_("Group")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2780 rembutton = gtk_button_new_with_label(_("Remove")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2781 |
|
2313
bd9d403fb15b
[gaim-migrate @ 2323]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2281
diff
changeset
|
2782 if (misc_options & OPT_MISC_COOL_LOOK) { |
|
535
f03f041c1aa9
[gaim-migrate @ 545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
515
diff
changeset
|
2783 gtk_button_set_relief(GTK_BUTTON(addbutton), GTK_RELIEF_NONE); |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
544
diff
changeset
|
2784 gtk_button_set_relief(GTK_BUTTON(groupbutton), GTK_RELIEF_NONE); |
|
535
f03f041c1aa9
[gaim-migrate @ 545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
515
diff
changeset
|
2785 gtk_button_set_relief(GTK_BUTTON(rembutton), GTK_RELIEF_NONE); |
|
f03f041c1aa9
[gaim-migrate @ 545]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
515
diff
changeset
|
2786 } |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2787 |
| 1 | 2788 edittree = gtk_ctree_new(1, 0); |
| 3152 | 2789 gtk_ctree_set_line_style(GTK_CTREE(edittree), GTK_CTREE_LINES_SOLID);; |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2790 gtk_ctree_set_expander_style(GTK_CTREE(edittree), GTK_CTREE_EXPANDER_SQUARE); |
| 1 | 2791 gtk_clist_set_reorderable(GTK_CLIST(edittree), TRUE); |
|
1391
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
2792 gtk_signal_connect(GTK_OBJECT(edittree), "button_press_event", |
|
d606da211acb
[gaim-migrate @ 1401]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
1376
diff
changeset
|
2793 GTK_SIGNAL_FUNC(click_edit_tree), NULL); |
| 1 | 2794 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2795 gtk_ctree_set_drag_compare_func(GTK_CTREE(edittree), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2796 (GtkCTreeCompareDragFunc) edit_drag_compare_func); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2797 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2798 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2799 gtk_signal_connect_after(GTK_OBJECT(edittree), "tree_move", |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2800 GTK_SIGNAL_FUNC(edit_tree_move), NULL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2801 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2802 |
| 1172 | 2803 bbox = gtk_hbox_new(TRUE, 5); |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2804 gtk_container_set_border_width(GTK_CONTAINER(bbox), 5); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2805 tbox = gtk_scrolled_window_new(NULL, NULL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2806 /* Put the buttons in the box */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2807 gtk_box_pack_start(GTK_BOX(bbox), addbutton, TRUE, TRUE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2808 gtk_box_pack_start(GTK_BOX(bbox), groupbutton, TRUE, TRUE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2809 gtk_box_pack_start(GTK_BOX(bbox), rembutton, TRUE, TRUE, 0); |
| 1 | 2810 |
|
350
fd3cc0a28d5d
[gaim-migrate @ 360]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
349
diff
changeset
|
2811 gtk_tooltips_set_tip(tips, addbutton, _("Add a new Buddy"), "Penguin"); |
|
577
aa9a8bcddd80
[gaim-migrate @ 587]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
544
diff
changeset
|
2812 gtk_tooltips_set_tip(tips, groupbutton, _("Add a new Group"), "Penguin"); |
|
2134
6641141234b7
[gaim-migrate @ 2144]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2132
diff
changeset
|
2813 gtk_tooltips_set_tip(tips, rembutton, _("Remove selected Buddy/Group"), "Penguin"); |
| 1 | 2814 |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2815 /* And the boxes in the box */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2816 gtk_box_pack_start(GTK_BOX(editpane), tbox, TRUE, TRUE, 0); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2817 gtk_box_pack_start(GTK_BOX(editpane), bbox, FALSE, FALSE, 0); |
| 1 | 2818 |
| 2819 /* Handle closes right */ | |
| 2820 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2821 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2822 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2823 /* Finish up */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2824 gtk_widget_show(addbutton); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2825 gtk_widget_show(groupbutton); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2826 gtk_widget_show(rembutton); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2827 gtk_widget_show(edittree); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2828 gtk_widget_show(tbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2829 gtk_widget_show(bbox); |
| 1 | 2830 gtk_widget_show(editpane); |
| 2831 | |
| 2832 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2833 |
|
703
20553b584ccb
[gaim-migrate @ 713]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
700
diff
changeset
|
2834 update_button_pix(); |
|
20553b584ccb
[gaim-migrate @ 713]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
700
diff
changeset
|
2835 |
| 1 | 2836 |
| 2837 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2838 label = gtk_label_new(_("Online")); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2839 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), buddypane, label); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2840 label = gtk_label_new(_("Edit Buddies")); |
| 1 | 2841 gtk_notebook_append_page(GTK_NOTEBOOK(notebook), editpane, label); |
| 2842 | |
| 3032 | 2843 if(blist_options & OPT_BLIST_BOTTOM_TAB) |
| 2844 gtk_notebook_set_tab_pos(GTK_NOTEBOOK(notebook), GTK_POS_BOTTOM); | |
| 2845 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2846 gtk_widget_show_all(notebook); |
| 1 | 2847 |
| 2848 /* Pack things in the vbox */ | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2849 gtk_widget_show(vbox); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2850 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2851 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2852 gtk_widget_show(notebook); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2853 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2854 /* Enable buttons */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2855 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2856 gtk_signal_connect(GTK_OBJECT(rembutton), "clicked", GTK_SIGNAL_FUNC(do_del_buddy), edittree); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2857 gtk_signal_connect(GTK_OBJECT(addbutton), "clicked", GTK_SIGNAL_FUNC(add_buddy_callback), NULL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2858 gtk_signal_connect(GTK_OBJECT(groupbutton), "clicked", GTK_SIGNAL_FUNC(add_group_callback), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2859 NULL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2860 gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0); |
| 1 | 2861 gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0); |
| 2862 | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2863 gtk_container_add(GTK_CONTAINER(blist), vbox); |
| 1 | 2864 |
| 3472 | 2865 gtk_signal_connect(GTK_OBJECT(blist), "delete_event", GTK_SIGNAL_FUNC(close_buddy_list), |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2866 NULL); |
| 1 | 2867 |
| 3540 | 2868 gtk_signal_connect(GTK_OBJECT(blist), "configure_event", GTK_SIGNAL_FUNC(configure_blist_window), |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2869 NULL); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2870 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2871 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2872 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2873 /* The edit tree */ |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2874 gtk_container_add(GTK_CONTAINER(tbox), edittree); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2875 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(tbox), |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2876 GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2877 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2878 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2879 gtk_window_set_title(GTK_WINDOW(blist), _("Gaim - Buddy List")); |
| 3510 | 2880 |
| 2881 /* this conveniently moves it to the right place and stuff */ | |
| 2882 unhide_buddy_list(); | |
| 1 | 2883 } |
| 2884 | |
| 2885 void refresh_buddy_window() | |
| 2886 { | |
|
2372
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2887 build_edit_tree(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2888 |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2889 update_button_pix(); |
|
2927c2c26fe6
[gaim-migrate @ 2385]
Eric Warmenhoven <eric@warmenhoven.org>
parents:
2334
diff
changeset
|
2890 gtk_widget_show(blist); |
| 1 | 2891 } |
