src/gtkdialogs.c

Sat, 18 Sep 2004 23:17:38 +0000

author
Dave West <kat@users.sourceforge.net>
date
Sat, 18 Sep 2004 23:17:38 +0000
changeset 10040
b74aeb350fc5
parent 9991
a02e6b4e0959
child 10095
c1ec2845a7c7
permissions
-rw-r--r--

[gaim-migrate @ 10999]
" Post all three of these to the sf patch tracker as
three separate patches and assign the buddy list
changes and oscar changes to me, and the
gaim_status_is_online() changes to Luke. And in the
one assigned to Luke, ask him if he could pretty please
with sugar on top check through it quickly and
commit it if it looks sensible?

--KingAnt

This adds gaim_status_is_online so that we can check
statuses as well as presences for online status. It
also changes gaim_presence_is_online to use the new
function." --Dave West

committer: Luke Schierer <lschiere@pidgin.im>

9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
1 /*
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
2 * gaim
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
3 *
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
4 * Gaim is the legal property of its developers, whose names are too numerous
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
6 * source distribution.
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
7 *
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
11 * (at your option) any later version.
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
12 *
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
16 * GNU General Public License for more details.
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
17 *
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
21 */
9791
f5c5bda0b96b [gaim-migrate @ 10659]
Gary Kramlich <grim@pidgin.im>
parents: 9778
diff changeset
22 #include "internal.h"
f5c5bda0b96b [gaim-migrate @ 10659]
Gary Kramlich <grim@pidgin.im>
parents: 9778
diff changeset
23 #include "gtkgaim.h"
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
24
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
25 #include "debug.h"
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
26 #include "notify.h"
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
27 #include "prpl.h"
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
28 #include "request.h"
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
29 #include "util.h"
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
30
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
31 #include "gtkdialogs.h"
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
32 #include "gtkimhtml.h"
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
33 #include "gtkimhtmltoolbar.h"
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
34 #include "gtklog.h"
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
35 #include "gtkutils.h"
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
36 #include "stock.h"
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
37
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
38 static GList *dialogwindows = NULL;
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
39
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
40 static GtkWidget *about = NULL;
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
41
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
42 struct warning {
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
43 GtkWidget *window;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
44 GtkWidget *anon;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
45 char *who;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
46 GaimConnection *gc;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
47 };
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
48
9758
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
49 struct developer {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
50 char *name;
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
51 char *role;
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
52 char *email;
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
53 };
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
54
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
55 struct translator {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
56 char *language;
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
57 char *abbr;
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
58 char *name;
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
59 char *email;
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
60 };
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
61
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
62 static struct developer developers[] = {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
63 {"Rob Flynn", N_("maintainer"), "gaim@robflynn.com"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
64 {"Sean Egan", N_("lead developer"), "sean.egan@binghamton.edu"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
65 {"Christian 'ChipX86' Hammond", N_("developer & webmaster"), NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
66 {"Herman Bloggs", N_("win32 port"), "hermanator12002@yahoo.com"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
67 {"Nathan 'faceprint' Walp", N_("developer"), NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
68 {"Mark 'KingAnt' Doliner", N_("developer"), NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
69 {"Ethan 'Paco-Paco' Blanton", N_("developer"), NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
70 {"Tim 'marv' Ringenbach", N_("developer"), NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
71 {"Luke 'LSchiere' Schierer", N_("support"), NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
72 {NULL, NULL, NULL}
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
73 };
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
74
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
75 static struct developer retired_developers[] = {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
76 {"Adam Fritzler", N_("former libfaim maintainer"), NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
77 {"Eric Warmenhoven", N_("former lead developer"), "warmenhoven@yahoo.com"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
78 {"Jim Duchek", N_("former maintainer"), NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
79 {"Jim Seymour", N_("former Jabber developer"), NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
80 {"Mark Spencer", N_("original author"), "markster@marko.net"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
81 {"Syd Logan", N_("hacker and designated driver [lazy bum]"), NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
82 {NULL, NULL, NULL}
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
83 };
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
84
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
85 static struct translator current_translators[] = {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
86 {N_("Bulgarian"), "bg", "Alexander Shopov", "al_shopov@users.sf.net"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
87 {N_("Catalan"), "ca", "Robert Millan", "zeratul2@wanadoo.es"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
88 {N_("Czech"), "cs", "Miloslav Trmac", "mitr@volny.cz"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
89 {N_("Danish"), "da", "Morten Brix Pedersen", "morten@wtf.dk"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
90 {N_("British English"), "en_GB", "Luke Ross", "lukeross@sys3175.co.uk"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
91 {N_("Canadian English"), "en_CA", "Adam Weinberger", "adamw@gnome.org"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
92 {N_("German"), "de", "Björn Voigt", "bjoern@cs.tu-berlin.de"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
93 {N_("Spanish"), "es", "Javier Fernández-Sanguino Peña", "jfs@debian.org"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
94 {N_("Finnish"), "fi", "Arto Alakulju", "arto@alakulju.net"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
95 {N_("French"), "fr", "Éric Boumaour", "zongo_fr@users.sourceforge.net"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
96 {N_("Hebrew"), "he", "Pavel Bibergal", "cyberkm203@hotmail.com"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
97 {N_("Hindi"), "hi", "Ravishankar Shrivastava", "raviratlami@yahoo.com"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
98 {N_("Hungarian"), "hu", "Zoltan Sutto", "suttozoltan@chello.hu"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
99 {N_("Italian"), "it", "Claudio Satriano", "satriano@na.infn.it"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
100 {N_("Japanese"), "ja", "Takashi Aihana", "aihana@gnome.gr.jp"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
101 {N_("Lithuanian"), "lt", "Gediminas Čičinskas", "gediminas@parok.lt"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
102 {N_("Korean"), "ko", "Kyung-uk Son", "vvs740@chol.com"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
103 {N_("Dutch; Flemish"), "nl", "Vincent van Adrighem", "V.vanAdrighem@dirck.mine.nu"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
104 {N_("Macedonian"), "mk", "Tomislav Markovski", "herrera@users.sf.net"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
105 {N_("Norwegian"), "no", "Petter Johan Olsen", "petter.olsen@cc.uit.no"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
106 {N_("Polish"), "pl", "Krzysztof Foltman, Emil Nowak", "krzysztof@foltman.com;emil5@go2.pl"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
107 {N_("Portuguese"), "pt", "Duarte Henriques", "duarte_henriques@myrealbox.com"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
108 {N_("Portuguese-Brazil"), "pt_BR", "Maurício de Lemos Rodrigues Collares Neto", "mauricioc@gmail.com"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
109 {N_("Romanian"), "ro", "Mişu Moldovan", "dumol@go.ro"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
110 {N_("Russian"), "ru", "Dmitry Beloglazov", "dmaa@users.sf.net"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
111 {N_("Serbian"), "sr", "Danilo Šegan, Aleksandar Urosevic", "dsegan@gmx.net;urke@users.sourceforge.net"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
112 {N_("Slovenian"), "sl", "Matjaz Horvat", "matjaz@owca.info"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
113 {N_("Swedish"), "sv", "Tore Lundqvist", "tlt@mima.x.se"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
114 {N_("Vietnamese"), "vi", N_("T.M.Thanh and the Gnome-Vi Team"), "gnomevi-list@lists.sf.net"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
115 {N_("Simplified Chinese"), "zh_CN", "Funda Wang", "fundawang@linux.net.cn"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
116 {N_("Traditional Chinese"), "zh_TW", "Ambrose C. Li, Paladin R. Liu", "acli@ada.dhs.org;paladin@ms1.hinet.net"},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
117 {NULL, NULL, NULL, NULL}
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
118 };
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
119
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
120
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
121 static struct translator past_translators[] = {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
122 {N_("Amharic"), "am", "Daniel Yacob", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
123 {N_("Bulgarian"), "bg", "Hristo Todorov", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
124 {N_("Catalan"), "ca", "JM Pérez Cáncer", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
125 {N_("Czech"), "cs", "Honza Král", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
126 {N_("German"), "de", "Daniel Seifert, Karsten Weiss", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
127 {N_("Spanish"), "es", "Amaya Rodrigo, Alejandro G Villar, Nicolás Lichtmaier, JM Pérez Cáncer", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
128 {N_("Finnish"), "fi", "Tero Kuusela", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
129 {N_("French"), "fr", "Sébastien François, Stéphane Pontier, Stéphane Wirtel, Loïc Jeannin", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
130 {N_("Italian"), "it", "Salvatore di Maggio", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
131 {N_("Japanese"), "ja", "Ryosuke Kutsuna, Taku Yasui, Junichi Uekawa", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
132 {N_("Korean"), "ko", "Sang-hyun S, A Ho-seok Lee", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
133 {N_("Polish"), "pl", "Przemysław Sułek", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
134 {N_("Russian"), "ru", "Sergey Volozhanin", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
135 {N_("Russian"), "ru", "Alexandre Prokoudine", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
136 {N_("Slovak"), "sk", "Daniel Režný", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
137 {N_("Swedish"), "sv", "Christian Rose", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
138 {N_("Chinese"), "zh_CN, zh_TW", "Hashao, Rocky S. Lee", NULL},
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
139 {NULL, NULL, NULL, NULL}
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
140 };
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
141
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
142 void
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
143 gaim_gtkdialogs_destroy_all()
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
144 {
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
145 while (dialogwindows) {
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
146 gtk_widget_destroy(dialogwindows->data);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
147 dialogwindows = g_list_remove(dialogwindows, dialogwindows->data);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
148 }
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
149 }
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
150
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
151 static void destroy_about()
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
152 {
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
153 if (about != NULL)
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
154 gtk_widget_destroy(about);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
155 about = NULL;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
156 }
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
157
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
158 void gaim_gtkdialogs_about(GtkWidget *w, void *data)
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
159 {
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
160 GtkWidget *hbox;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
161 GtkWidget *vbox;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
162 GtkWidget *logo;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
163 GtkWidget *label;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
164 GtkWidget *sw;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
165 GtkWidget *text;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
166 GtkWidget *bbox;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
167 GtkWidget *button;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
168 GtkTextIter iter;
9758
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
169 GString *str;
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
170 gchar *labeltext;
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
171 int i;
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
172
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
173 if (about != NULL) {
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
174 gtk_window_present(GTK_WINDOW(about));
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
175 return;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
176 }
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
177
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
178 GAIM_DIALOG(about);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
179 gtk_window_set_default_size(GTK_WINDOW(about), 450, -1);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
180 gtk_window_set_title(GTK_WINDOW(about), _("About Gaim"));
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
181 gtk_window_set_role(GTK_WINDOW(about), "about");
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
182 gtk_window_set_resizable(GTK_WINDOW(about), TRUE);
9778
030c9f0bd450 [gaim-migrate @ 10646]
Mark Doliner <markdoliner@pidgin.im>
parents: 9758
diff changeset
183 gtk_window_set_default_size(GTK_WINDOW(about), 340, 550); /* Golden ratio in da hizzy */
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
184
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
185 hbox = gtk_hbox_new(FALSE, 12);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
186 gtk_container_set_border_width(GTK_CONTAINER(hbox), 12);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
187 gtk_container_add(GTK_CONTAINER(about), hbox);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
188
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
189 vbox = gtk_vbox_new(FALSE, 12);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
190 gtk_container_add(GTK_CONTAINER(hbox), vbox);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
191
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
192 logo = gtk_image_new_from_stock(GAIM_STOCK_LOGO, gtk_icon_size_from_name(GAIM_ICON_SIZE_LOGO));
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
193 gtk_box_pack_start(GTK_BOX(vbox), logo, FALSE, FALSE, 0);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
194
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
195 labeltext = g_strdup_printf(_("<span weight=\"bold\" size=\"larger\">Gaim v%s</span>"), VERSION);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
196 label = gtk_label_new(NULL);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
197 gtk_label_set_markup(GTK_LABEL(label), labeltext);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
198 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
199 gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
200 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
201 g_free(labeltext);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
202
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
203 sw = gtk_scrolled_window_new(NULL, NULL);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
204 gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
205 GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
206 gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
9758
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
207 gtk_box_pack_start(GTK_BOX(vbox), sw, TRUE, TRUE, 0);
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
208
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
209 text = gtk_imhtml_new(NULL, NULL);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
210 gtk_container_add(GTK_CONTAINER(sw), text);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
211 gaim_setup_imhtml(text);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
212
9758
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
213 str = g_string_sized_new(4096);
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
214
9758
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
215 g_string_append(str,
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
216 _("Gaim is a modular messaging client capable of using "
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
217 "AIM, MSN, Yahoo!, Jabber, ICQ, IRC, SILC, "
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
218 "Novell GroupWise, Napster, Zephyr, and Gadu-Gadu "
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
219 "all at once. It is written using "
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
220 "Gtk+ and is licensed under the GPL.<BR><BR>"));
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
221
9758
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
222 g_string_append(str, "<FONT SIZE=\"4\">URL:</FONT> <A HREF=\""
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
223 GAIM_WEBSITE "\">" GAIM_WEBSITE "</A><BR/><BR/>");
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
224
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
225 g_string_append_printf(str, _("<FONT SIZE=\"4\">IRC:</FONT> "
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
226 "#gaim on irc.freenode.net<BR><BR>"));
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
227
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
228 /* Active Developers */
9758
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
229 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
230 _("Active Developers"));
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
231 for (i = 0; developers[i].name != NULL; i++) {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
232 if (developers[i].email != NULL) {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
233 g_string_append_printf(str, " %s (%s) &lt;<a href=\"mailto: %s\">%s</a>&gt;<br/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
234 developers[i].name, _(developers[i].role),
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
235 developers[i].email, developers[i].email);
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
236 } else {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
237 g_string_append_printf(str, " %s (%s)<br/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
238 developers[i].name, _(developers[i].role));
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
239 }
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
240 }
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
241 g_string_append(str, "<BR/>");
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
242
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
243 /* Crazy Patch Writers */
9758
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
244 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
245 _("Crazy Patch Writers"));
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
246 g_string_append(str,
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
247 " Daniel 'datallah' Atallah<BR>"
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
248 " Ka-Hing 'javabsp' Cheung<BR>"
9905
ec88d7afd8dc [gaim-migrate @ 10797]
Luke Schierer <lschiere@pidgin.im>
parents: 9791
diff changeset
249 " Felipe 'shx' Contreras<BR>"
9758
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
250 " Decklin Foster<BR>"
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
251 " Gary 'grim' Kramlich<BR>"
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
252 " Robert 'Robot101' McQueen<BR>"
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
253 " Benjamin Miller<BR>"
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
254 " Etan 'deryni' Reisner<BR>"
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
255 " Kevin 'SimGuy' Stange<BR>"
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
256 " Stu 'nosnilmot' Tomlinson<BR>"
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
257 "<BR>");
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
258
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
259 /* Retired Developers */
9758
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
260 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
261 _("Retired Developers"));
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
262 for (i = 0; retired_developers[i].name != NULL; i++) {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
263 if (retired_developers[i].email != NULL) {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
264 g_string_append_printf(str, " %s (%s) &lt;<A HREF=\"mailto: %s\">%s</a>&gt;<br/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
265 retired_developers[i].name, _(retired_developers[i].role),
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
266 retired_developers[i].email, retired_developers[i].email);
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
267 } else {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
268 g_string_append_printf(str, " %s (%s)<br/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
269 retired_developers[i].name, _(retired_developers[i].role));
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
270 }
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
271 }
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
272 g_string_append(str, "<BR/>");
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
273
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
274 /* Current Translators */
9758
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
275 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
276 _("Current Translators"));
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
277 for (i = 0; current_translators[i].language != NULL; i++) {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
278 if (current_translators[i].email != NULL) {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
279 g_string_append_printf(str, " <b>%s (%s)</b> - %s &lt;<a href=\"mailto: %s\">%s</a>&gt;<br/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
280 _(current_translators[i].language),
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
281 current_translators[i].abbr,
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
282 _(current_translators[i].name),
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
283 current_translators[i].email,
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
284 current_translators[i].email);
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
285 } else {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
286 g_string_append_printf(str, " <b>%s (%s)</b> - %s<br/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
287 _(current_translators[i].language),
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
288 current_translators[i].abbr,
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
289 _(current_translators[i].name));
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
290 }
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
291 }
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
292 g_string_append(str, "<BR/>");
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
293
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
294 /* Past Translators */
9758
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
295 g_string_append_printf(str, "<FONT SIZE=\"4\">%s:</FONT><BR/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
296 _("Past Translators"));
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
297 for (i = 0; past_translators[i].language != NULL; i++) {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
298 if (past_translators[i].email != NULL) {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
299 g_string_append_printf(str, " <b>%s (%s)</b> - %s &lt;<a href=\"mailto: %s\">%s</a>&gt;<br/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
300 _(past_translators[i].language),
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
301 past_translators[i].abbr,
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
302 _(past_translators[i].name),
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
303 past_translators[i].email,
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
304 past_translators[i].email);
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
305 } else {
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
306 g_string_append_printf(str, " <b>%s (%s)</b> - %s<br/>",
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
307 _(past_translators[i].language),
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
308 past_translators[i].abbr,
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
309 _(past_translators[i].name));
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
310 }
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
311 }
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
312 g_string_append(str, "<BR/>");
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
313
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
314 gtk_imhtml_append_text(GTK_IMHTML(text), str->str, GTK_IMHTML_NO_SCROLL);
bad4efbbfbf5 [gaim-migrate @ 10625]
Mark Doliner <markdoliner@pidgin.im>
parents: 9753
diff changeset
315 g_string_free(str, TRUE);
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
316
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
317 gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(sw)), 0);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
318 gtk_text_buffer_get_start_iter(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
319 gtk_text_buffer_place_cursor(gtk_text_view_get_buffer(GTK_TEXT_VIEW(text)), &iter);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
320
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
321 /* Close Button */
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
322 bbox = gtk_hbutton_box_new();
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
323 gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
324 gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
325
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
326 button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
327 gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
328
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
329 g_signal_connect_swapped(G_OBJECT(button), "clicked",
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
330 G_CALLBACK(destroy_about), G_OBJECT(about));
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
331 g_signal_connect(G_OBJECT(about), "destroy",
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
332 G_CALLBACK(destroy_about), G_OBJECT(about));
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
333
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
334 /* this makes the sizes not work? */
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
335 GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
336 gtk_widget_grab_default(button);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
337
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
338 /* Let's give'em something to talk about -- woah woah woah */
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
339 gtk_widget_show_all(about);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
340 gtk_window_present(GTK_WINDOW(about));
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
341 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
342
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
343 static void
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
344 gaim_gtkdialogs_im_cb(gpointer data, GaimRequestFields *fields)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
345 {
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
346 GaimAccount *account;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
347 const char *username;
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
348
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
349 account = gaim_request_fields_get_account(fields, "account");
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
350 username = gaim_request_fields_get_string(fields, "screenname");
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
351
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
352 gaim_gtkdialogs_im_with_user(account, username);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
353 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
354
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
355 void
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
356 gaim_gtkdialogs_im(void)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
357 {
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
358 GaimRequestFields *fields;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
359 GaimRequestFieldGroup *group;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
360 GaimRequestField *field;
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
361
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
362 fields = gaim_request_fields_new();
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
363
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
364 group = gaim_request_field_group_new(NULL);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
365 gaim_request_fields_add_group(fields, group);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
366
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
367 field = gaim_request_field_string_new("screenname", _("_Screen name"),
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
368 NULL, FALSE);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
369 gaim_request_field_set_required(field, TRUE);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
370 gaim_request_field_set_type_hint(field, "screenname");
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
371 gaim_request_field_group_add_field(group, field);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
372
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
373 field = gaim_request_field_account_new("account", _("_Account"), NULL);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
374 gaim_request_field_set_visible(field,
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
375 (gaim_connections_get_all() != NULL &&
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
376 gaim_connections_get_all()->next != NULL));
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
377 gaim_request_field_set_required(field, TRUE);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
378 gaim_request_field_group_add_field(group, field);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
379
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
380 gaim_request_fields(gaim_get_blist(), _("New Instant Message"),
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
381 NULL,
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
382 _("Please enter the screen name of the person you "
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
383 "would like to IM."),
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
384 fields,
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
385 _("OK"), G_CALLBACK(gaim_gtkdialogs_im_cb),
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
386 _("Cancel"), NULL,
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
387 NULL);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
388 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
389
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
390 void
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
391 gaim_gtkdialogs_im_with_user(GaimAccount *account, const char *username)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
392 {
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
393 GaimConversation *conv;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
394 GaimConvWindow *win;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
395 GaimGtkWindow *gtkwin;
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
396
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
397 g_return_if_fail(account != NULL);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
398 g_return_if_fail(username != NULL);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
399
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
400 conv = gaim_find_conversation_with_account(username, account);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
401
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
402 if (conv == NULL)
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
403 conv = gaim_conversation_new(GAIM_CONV_IM, account, username);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
404
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
405 win = gaim_conversation_get_window(conv);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
406 gtkwin = GAIM_GTK_WINDOW(win);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
407
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
408 gtk_window_present(GTK_WINDOW(gtkwin->window));
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
409 gaim_conv_window_switch_conversation(win, gaim_conversation_get_index(conv));
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
410 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
411
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
412 static gboolean
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
413 gaim_gtkdialogs_ee(const char *ee)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
414 {
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
415 GtkWidget *window;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
416 GtkWidget *hbox;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
417 GtkWidget *label;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
418 GtkWidget *img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_COOL, GTK_ICON_SIZE_DIALOG);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
419 gchar *norm = gaim_strreplace(ee, "rocksmyworld", "");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
420
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
421 label = gtk_label_new(NULL);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
422 if (!strcmp(norm, "zilding"))
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
423 gtk_label_set_markup(GTK_LABEL(label),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
424 "<span weight=\"bold\" size=\"large\" foreground=\"purple\">Amazing! Simply Amazing!</span>");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
425 else if (!strcmp(norm, "robflynn"))
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
426 gtk_label_set_markup(GTK_LABEL(label),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
427 "<span weight=\"bold\" size=\"large\" foreground=\"#1f6bad\">Pimpin\' Penguin Style! *Waddle Waddle*</span>");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
428 else if (!strcmp(norm, "flynorange"))
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
429 gtk_label_set_markup(GTK_LABEL(label),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
430 "<span weight=\"bold\" size=\"large\" foreground=\"blue\">You should be me. I'm so cute!</span>");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
431 else if (!strcmp(norm, "ewarmenhoven"))
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
432 gtk_label_set_markup(GTK_LABEL(label),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
433 "<span weight=\"bold\" size=\"large\" foreground=\"orange\">Now that's what I like!</span>");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
434 else if (!strcmp(norm, "markster97"))
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
435 gtk_label_set_markup(GTK_LABEL(label),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
436 "<span weight=\"bold\" size=\"large\" foreground=\"brown\">Ahh, and excellent choice!</span>");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
437 else if (!strcmp(norm, "seanegn"))
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
438 gtk_label_set_markup(GTK_LABEL(label),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
439 "<span weight=\"bold\" size=\"large\" foreground=\"#009900\">Everytime you click my name, an angel gets its wings.</span>");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
440 else if (!strcmp(norm, "chipx86"))
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
441 gtk_label_set_markup(GTK_LABEL(label),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
442 "<span weight=\"bold\" size=\"large\" foreground=\"red\">This sunflower seed taste like pizza.</span>");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
443 else if (!strcmp(norm, "markdoliner"))
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
444 gtk_label_set_markup(GTK_LABEL(label),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
445 "<span weight=\"bold\" size=\"large\" foreground=\"#6364B1\">Hey! I was in that tumbleweed!</span>");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
446 else if (!strcmp(norm, "lschiere"))
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
447 gtk_label_set_markup(GTK_LABEL(label),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
448 "<span weight=\"bold\" size=\"large\" foreground=\"gray\">I'm not anything.</span>");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
449 g_free(norm);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
450
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
451 if (strlen(gtk_label_get_label(GTK_LABEL(label))) <= 0)
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
452 return FALSE;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
453
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
454 window = gtk_dialog_new_with_buttons(GAIM_ALERT_TITLE, NULL, 0, GTK_STOCK_CLOSE, GTK_RESPONSE_OK, NULL);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
455 gtk_dialog_set_default_response (GTK_DIALOG(window), GTK_RESPONSE_OK);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
456 g_signal_connect(G_OBJECT(window), "response", G_CALLBACK(gtk_widget_destroy), NULL);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
457
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
458 gtk_container_set_border_width (GTK_CONTAINER(window), 6);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
459 gtk_window_set_resizable(GTK_WINDOW(window), FALSE);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
460 gtk_dialog_set_has_separator(GTK_DIALOG(window), FALSE);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
461 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(window)->vbox), 12);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
462 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(window)->vbox), 6);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
463
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
464 hbox = gtk_hbox_new(FALSE, 12);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
465 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(window)->vbox), hbox);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
466 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
467
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
468 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
469 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
470 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
471
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
472 gtk_widget_show_all(window);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
473 return TRUE;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
474 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
475
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
476 static void
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
477 gaim_gtkdialogs_info_cb(gpointer data, GaimRequestFields *fields)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
478 {
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
479 char *username;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
480 gboolean found = FALSE;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
481 GaimAccount *account;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
482
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
483 account = gaim_request_fields_get_account(fields, "account");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
484
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
485 username = g_strdup(gaim_normalize(account,
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
486 gaim_request_fields_get_string(fields, "screenname")));
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
487
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
488 if (username != NULL && gaim_str_has_suffix(username, "rocksmyworld"))
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
489 found = gaim_gtkdialogs_ee(username);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
490
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
491 if (!found && username != NULL && *username != '\0' && account != NULL)
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
492 serv_get_info(gaim_account_get_connection(account), username);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
493
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
494 g_free(username);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
495 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
496
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
497 void
9714
589046af53cb [gaim-migrate @ 10575]
Mark Doliner <markdoliner@pidgin.im>
parents: 9709
diff changeset
498 gaim_gtkdialogs_info(void)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
499 {
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
500 GaimRequestFields *fields;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
501 GaimRequestFieldGroup *group;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
502 GaimRequestField *field;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
503
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
504 fields = gaim_request_fields_new();
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
505
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
506 group = gaim_request_field_group_new(NULL);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
507 gaim_request_fields_add_group(fields, group);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
508
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
509 field = gaim_request_field_string_new("screenname", _("_Screen name"),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
510 NULL, FALSE);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
511 gaim_request_field_set_type_hint(field, "screenname");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
512 gaim_request_field_set_required(field, TRUE);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
513 gaim_request_field_group_add_field(group, field);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
514
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
515 field = gaim_request_field_account_new("account", _("_Account"), NULL);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
516 gaim_request_field_set_visible(field,
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
517 (gaim_connections_get_all() != NULL &&
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
518 gaim_connections_get_all()->next != NULL));
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
519 gaim_request_field_set_required(field, TRUE);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
520 gaim_request_field_group_add_field(group, field);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
521
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
522 gaim_request_fields(gaim_get_blist(), _("Get User Info"),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
523 NULL,
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
524 _("Please enter the screen name of the person whose "
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
525 "info you would like to view."),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
526 fields,
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
527 _("OK"), G_CALLBACK(gaim_gtkdialogs_info_cb),
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
528 _("Cancel"), NULL,
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
529 NULL);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
530 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
531
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
532 static void
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
533 gaim_gtkdialogs_log_cb(gpointer data, GaimRequestFields *fields)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
534 {
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
535 char *username;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
536 GaimAccount *account;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
537
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
538 account = gaim_request_fields_get_account(fields, "account");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
539
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
540 username = g_strdup(gaim_normalize(account,
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
541 gaim_request_fields_get_string(fields, "screenname")));
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
542
9917
2fbb3c9fab2b [gaim-migrate @ 10809]
Daniel Atallah <datallah@pidgin.im>
parents: 9905
diff changeset
543 if(username != NULL && *username != '\0' && account != NULL )
2fbb3c9fab2b [gaim-migrate @ 10809]
Daniel Atallah <datallah@pidgin.im>
parents: 9905
diff changeset
544 gaim_gtk_log_show(GAIM_LOG_IM, username, account);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
545
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
546 g_free(username);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
547 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
548
9991
a02e6b4e0959 [gaim-migrate @ 10904]
Dave West <kat@users.sourceforge.net>
parents: 9976
diff changeset
549 /*
a02e6b4e0959 [gaim-migrate @ 10904]
Dave West <kat@users.sourceforge.net>
parents: 9976
diff changeset
550 * TODO - This needs to deal with logs of all types, not just IM logs.
a02e6b4e0959 [gaim-migrate @ 10904]
Dave West <kat@users.sourceforge.net>
parents: 9976
diff changeset
551 */
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
552 void
9714
589046af53cb [gaim-migrate @ 10575]
Mark Doliner <markdoliner@pidgin.im>
parents: 9709
diff changeset
553 gaim_gtkdialogs_log(void)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
554 {
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
555 GaimRequestFields *fields;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
556 GaimRequestFieldGroup *group;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
557 GaimRequestField *field;
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
558
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
559 fields = gaim_request_fields_new();
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
560
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
561 group = gaim_request_field_group_new(NULL);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
562 gaim_request_fields_add_group(fields, group);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
563
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
564 field = gaim_request_field_string_new("screenname", _("_Screen name"),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
565 NULL, FALSE);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
566 gaim_request_field_set_type_hint(field, "screenname");
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
567 gaim_request_field_set_required(field, TRUE);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
568 gaim_request_field_group_add_field(group, field);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
569
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
570 field = gaim_request_field_account_new("account", _("_Account"), NULL);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
571 gaim_request_field_account_set_show_all(field, TRUE);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
572 gaim_request_field_set_visible(field,
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
573 (gaim_accounts_get_all() != NULL &&
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
574 gaim_accounts_get_all()->next != NULL));
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
575 gaim_request_field_set_required(field, TRUE);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
576 gaim_request_field_group_add_field(group, field);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
577
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
578 gaim_request_fields(gaim_get_blist(), _("Get User Log"),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
579 NULL,
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
580 _("Please enter the screen name of the person whose "
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
581 "log you would like to view."),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
582 fields,
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
583 _("OK"), G_CALLBACK(gaim_gtkdialogs_log_cb),
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
584 _("Cancel"), NULL,
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
585 NULL);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
586 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
587
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
588 static void
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
589 gaim_gtkdialogs_warn_cb(GtkWidget *widget, gint resp, struct warning *w)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
590 {
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
591 if (resp == GTK_RESPONSE_OK)
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
592 serv_warn(w->gc, w->who, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(w->anon)));
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
593
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
594 dialogwindows = g_list_remove(dialogwindows, w->window);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
595 gtk_widget_destroy(w->window);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
596
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
597 g_free(w->who);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
598 g_free(w);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
599 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
600
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
601 /*
9991
a02e6b4e0959 [gaim-migrate @ 10904]
Dave West <kat@users.sourceforge.net>
parents: 9976
diff changeset
602 * TODO - Make this use the request API, if possible.
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
603 */
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
604 void
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
605 gaim_gtkdialogs_warn(GaimConnection *gc, const char *who)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
606 {
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
607 gchar *labeltext;
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
608 GtkWidget *hbox, *vbox;
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
609 GtkWidget *label;
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
610 GtkWidget *img;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
611 struct warning *w;
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
612
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
613 g_return_if_fail(gc != NULL);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
614 g_return_if_fail(who != NULL);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
615
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
616 w = g_new0(struct warning, 1);
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
617 w->who = g_strdup(who);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
618 w->gc = gc;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
619
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
620 w->window = gtk_dialog_new_with_buttons(_("Warn User"), NULL, 0,
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
621 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
622 GAIM_STOCK_WARN, GTK_RESPONSE_OK, NULL);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
623 gtk_dialog_set_default_response (GTK_DIALOG(w->window), GTK_RESPONSE_OK);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
624 g_signal_connect(G_OBJECT(w->window), "response", G_CALLBACK(gaim_gtkdialogs_warn_cb), w);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
625
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
626 gtk_container_set_border_width (GTK_CONTAINER(w->window), 6);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
627 gtk_window_set_resizable(GTK_WINDOW(w->window), FALSE);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
628 gtk_dialog_set_has_separator(GTK_DIALOG(w->window), FALSE);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
629 gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(w->window)->vbox), 12);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
630 gtk_container_set_border_width (GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), 6);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
631
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
632 hbox = gtk_hbox_new(FALSE, 12);
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
633 gtk_container_add(GTK_CONTAINER(GTK_DIALOG(w->window)->vbox), hbox);
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
634
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
635 img = gtk_image_new_from_stock(GAIM_STOCK_DIALOG_WARNING, GTK_ICON_SIZE_DIALOG);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
636 gtk_misc_set_alignment(GTK_MISC(img), 0, 0);
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
637 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
638
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
639 vbox = gtk_vbox_new(FALSE, 0);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
640 gtk_container_add(GTK_CONTAINER(hbox), vbox);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
641 labeltext = g_strdup_printf(_("<span weight=\"bold\" size=\"larger\">Warn %s?</span>\n\n"
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
642 "This will increase %s's warning level and he or she will be subject to harsher rate limiting.\n"), who, who);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
643 label = gtk_label_new(NULL);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
644 gtk_label_set_markup(GTK_LABEL(label), labeltext);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
645 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
646 gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
647 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
648 g_free(labeltext);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
649
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
650 w->anon = gtk_check_button_new_with_mnemonic(_("Warn _anonymously?"));
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
651 gtk_box_pack_start(GTK_BOX(vbox), w->anon, FALSE, FALSE, 0);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
652
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
653 hbox = gtk_hbox_new(FALSE, 6);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
654 gtk_container_add(GTK_CONTAINER(vbox), hbox);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
655 img = gtk_image_new_from_stock(GTK_STOCK_DIALOG_INFO, GTK_ICON_SIZE_MENU);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
656 gtk_box_pack_start(GTK_BOX(hbox), img, FALSE, FALSE, 0);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
657 labeltext = _("<b>Anonymous warnings are less severe.</b>");
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
658 label = gtk_label_new(NULL);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
659 gtk_label_set_markup(GTK_LABEL(label), labeltext);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
660 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
661 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
662
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
663 dialogwindows = g_list_prepend(dialogwindows, w->window);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
664 gtk_widget_show_all(w->window);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
665 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
666
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
667 static void
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
668 gaim_gtkdialogs_alias_contact_cb(GaimContact *contact, const char *new_alias)
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
669 {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
670 gaim_contact_set_alias(contact, new_alias);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
671 }
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
672
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
673 void
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
674 gaim_gtkdialogs_alias_contact(GaimContact *contact)
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
675 {
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
676 g_return_if_fail(contact != NULL);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
677
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
678 gaim_request_input(NULL, _("Alias Contact"), NULL,
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
679 _("Enter an alias for this contact."),
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
680 contact->alias, FALSE, FALSE, NULL,
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
681 _("Alias"), G_CALLBACK(gaim_gtkdialogs_alias_contact_cb),
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
682 _("Cancel"), NULL, contact);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
683 }
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
684
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
685 static void
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
686 gaim_gtkdialogs_alias_buddy_cb(GaimBuddy *buddy, const char *new_alias)
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
687 {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
688 gaim_blist_alias_buddy(buddy, new_alias);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
689 serv_alias_buddy(buddy);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
690 }
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
691
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
692 void
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
693 gaim_gtkdialogs_alias_buddy(GaimBuddy *buddy)
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
694 {
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
695 gchar *secondary;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
696
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
697 g_return_if_fail(buddy != NULL);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
698
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
699 secondary = g_strdup_printf(_("Enter an alias for %s."), buddy->name);
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
700
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
701 gaim_request_input(NULL, _("Alias Buddy"), NULL,
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
702 secondary, buddy->alias, FALSE, FALSE, NULL,
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
703 _("Alias"), G_CALLBACK(gaim_gtkdialogs_alias_buddy_cb),
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
704 _("Cancel"), NULL, buddy);
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
705
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
706 g_free(secondary);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
707 }
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
708
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
709 static void
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
710 gaim_gtkdialogs_alias_chat_cb(GaimChat *chat, const char *new_alias)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
711 {
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
712 gaim_blist_alias_chat(chat, new_alias);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
713 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
714
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
715 void
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
716 gaim_gtkdialogs_alias_chat(GaimChat *chat)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
717 {
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
718 g_return_if_fail(chat != NULL);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
719
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
720 gaim_request_input(NULL, _("Alias Chat"), NULL,
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
721 _("Enter an alias for this chat."),
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
722 chat->alias, FALSE, FALSE, NULL,
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
723 _("Alias"), G_CALLBACK(gaim_gtkdialogs_alias_chat_cb),
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
724 _("Cancel"), NULL, chat);
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
725 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
726
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
727 static void
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
728 gaim_gtkdialogs_remove_contact_cb(GaimContact *contact)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
729 {
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
730 GaimBlistNode *bnode, *cnode;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
731 GaimGroup *group;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
732
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
733 cnode = (GaimBlistNode *)contact;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
734 group = (GaimGroup*)cnode->parent;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
735 for (bnode = cnode->child; bnode; bnode = bnode->next) {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
736 GaimBuddy *buddy = (GaimBuddy*)bnode;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
737 if (gaim_account_is_connected(buddy->account))
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
738 serv_remove_buddy(buddy->account->gc, buddy, group);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
739 }
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
740 gaim_blist_remove_contact(contact);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
741 }
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
742
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
743 void
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
744 gaim_gtkdialogs_remove_contact(GaimContact *contact)
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
745 {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
746 GaimBuddy *buddy = gaim_contact_get_priority_buddy(contact);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
747
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
748 g_return_if_fail(contact != NULL);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
749 g_return_if_fail(buddy != NULL);
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
750
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
751 if (((GaimBlistNode*)contact)->child == (GaimBlistNode*)buddy &&
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
752 !((GaimBlistNode*)buddy)->next) {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
753 gaim_gtkdialogs_remove_buddy(buddy);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
754 } else {
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
755 gchar *text = g_strdup_printf(_("You are about to remove the contact containing %s and %d other buddies from your buddy list. Do you want to continue?"),
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
756 buddy->name, contact->totalsize - 1);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
757
9976
5fceb5de48b8 [gaim-migrate @ 10887]
Dave West <kat@users.sourceforge.net>
parents: 9949
diff changeset
758 gaim_request_action(NULL, NULL, _("Remove Contact"), text, 0, contact, 2,
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
759 _("Remove Contact"), G_CALLBACK(gaim_gtkdialogs_remove_contact_cb),
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
760 _("Cancel"), NULL);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
761
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
762 g_free(text);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
763 }
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
764 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
765
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
766 void
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
767 gaim_gtkdialogs_remove_group_cb(GaimGroup *group)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
768 {
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
769 GaimBlistNode *cnode, *bnode;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
770
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
771 cnode = ((GaimBlistNode*)group)->child;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
772
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
773 while (cnode) {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
774 if (GAIM_BLIST_NODE_IS_CONTACT(cnode)) {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
775 bnode = cnode->child;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
776 cnode = cnode->next;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
777 while (bnode) {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
778 GaimBuddy *buddy;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
779 if (GAIM_BLIST_NODE_IS_BUDDY(bnode)) {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
780 GaimConversation *conv;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
781 buddy = (GaimBuddy*)bnode;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
782 bnode = bnode->next;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
783 conv = gaim_find_conversation_with_account(buddy->name, buddy->account);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
784 if (gaim_account_is_connected(buddy->account)) {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
785 serv_remove_buddy(buddy->account->gc, buddy, group);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
786 gaim_blist_remove_buddy(buddy);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
787 if (conv)
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
788 gaim_conversation_update(conv,
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
789 GAIM_CONV_UPDATE_REMOVE);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
790 }
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
791 } else {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
792 bnode = bnode->next;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
793 }
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
794 }
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
795 } else if (GAIM_BLIST_NODE_IS_CHAT(cnode)) {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
796 GaimChat *chat = (GaimChat *)cnode;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
797 cnode = cnode->next;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
798 if (gaim_account_is_connected(chat->account))
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
799 gaim_blist_remove_chat(chat);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
800 } else {
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
801 cnode = cnode->next;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
802 }
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
803 }
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
804
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
805 gaim_blist_remove_group(group);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
806 }
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
807
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
808 void
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
809 gaim_gtkdialogs_remove_group(GaimGroup *group)
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
810 {
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
811 gchar *text;
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
812
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
813 g_return_if_fail(group != NULL);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
814
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
815 text = g_strdup_printf(_("You are about to remove the group %s and all its members from your buddy list. Do you want to continue?"),
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
816 group->name);
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
817
9976
5fceb5de48b8 [gaim-migrate @ 10887]
Dave West <kat@users.sourceforge.net>
parents: 9949
diff changeset
818 gaim_request_action(NULL, NULL, _("Remove Group"), text, 0, group, 2,
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
819 _("Remove Group"), G_CALLBACK(gaim_gtkdialogs_remove_group_cb),
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
820 _("Cancel"), NULL);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
821
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
822 g_free(text);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
823 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
824
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
825 static void
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
826 gaim_gtkdialogs_remove_buddy_cb(GaimBuddy *buddy)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
827 {
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
828 GaimGroup *group;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
829 GaimConversation *conv;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
830 gchar *name;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
831 GaimAccount *account;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
832
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
833 group = gaim_find_buddys_group(buddy);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
834 name = g_strdup(buddy->name); /* b->name is a crasher after remove_buddy */
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
835 account = buddy->account;
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
836
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
837 gaim_debug_info("blist", "Removing '%s' from buddy list.\n", buddy->name);
9991
a02e6b4e0959 [gaim-migrate @ 10904]
Dave West <kat@users.sourceforge.net>
parents: 9976
diff changeset
838 /* TODO - Should remove from blist first... then call serv_remove_buddy()? */
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
839 serv_remove_buddy(buddy->account->gc, buddy, group);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
840 gaim_blist_remove_buddy(buddy);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
841
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
842 conv = gaim_find_conversation_with_account(name, account);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
843
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
844 if (conv != NULL)
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
845 gaim_conversation_update(conv, GAIM_CONV_UPDATE_REMOVE);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
846
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
847 g_free(name);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
848 }
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
849
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
850 void
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
851 gaim_gtkdialogs_remove_buddy(GaimBuddy *buddy)
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
852 {
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
853 gchar *text;
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
854
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
855 g_return_if_fail(buddy != NULL);
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
856
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
857 text = g_strdup_printf(_("You are about to remove %s from your buddy list. Do you want to continue?"),
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
858 buddy->name);
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
859
9976
5fceb5de48b8 [gaim-migrate @ 10887]
Dave West <kat@users.sourceforge.net>
parents: 9949
diff changeset
860 gaim_request_action(NULL, NULL, _("Remove Buddy"), text, 0, buddy, 2,
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
861 _("Remove Buddy"), G_CALLBACK(gaim_gtkdialogs_remove_buddy_cb),
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
862 _("Cancel"), NULL);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
863
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
864 g_free(text);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
865 }
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
866
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
867 static void
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
868 gaim_gtkdialogs_remove_chat_cb(GaimChat *chat)
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
869 {
9918
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
870 char *name = NULL;
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
871 GaimConversation *conv = NULL;
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
872
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
873 if (GAIM_PLUGIN_PROTOCOL_INFO(chat->account->gc->prpl)->get_chat_name != NULL)
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
874 name = GAIM_PLUGIN_PROTOCOL_INFO(chat->account->gc->prpl)->get_chat_name(chat->components);
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
875
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
876 gaim_blist_remove_chat(chat);
9918
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
877
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
878 if (name != NULL) {
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
879 conv = gaim_find_conversation_with_account(name, chat->account);
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
880 g_free(name);
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
881 }
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
882
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
883 if (conv != NULL)
654d0c5a9f03 [gaim-migrate @ 10810]
Nathan Fredrickson <nathan@silverorange.com>
parents: 9917
diff changeset
884 gaim_conversation_update(conv, GAIM_CONV_UPDATE_REMOVE);
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
885 }
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
886
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
887 void
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
888 gaim_gtkdialogs_remove_chat(GaimChat *chat)
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
889 {
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
890 gchar *name = gaim_chat_get_display_name(chat);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
891 gchar *text = g_strdup_printf(_("You are about to remove the chat %s from your buddy list. Do you want to continue?"), name);
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
892
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
893 g_return_if_fail(chat != NULL);
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
894
9976
5fceb5de48b8 [gaim-migrate @ 10887]
Dave West <kat@users.sourceforge.net>
parents: 9949
diff changeset
895 gaim_request_action(NULL, NULL, _("Remove Chat"), text, 0, chat, 2,
9753
5951fd24250e [gaim-migrate @ 10620]
Mark Doliner <markdoliner@pidgin.im>
parents: 9730
diff changeset
896 _("Remove Chat"), G_CALLBACK(gaim_gtkdialogs_remove_chat_cb),
9730
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
897 _("Cancel"), NULL);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
898
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
899 g_free(name);
e59812364b8b [gaim-migrate @ 10591]
Mark Doliner <markdoliner@pidgin.im>
parents: 9728
diff changeset
900 g_free(text);
9709
2e73f176cc80 [gaim-migrate @ 10570]
Mark Doliner <markdoliner@pidgin.im>
parents:
diff changeset
901 }

mercurial