src/gtkdialogs.c

Tue, 17 Aug 2004 02:52:13 +0000

author
Nathan Fredrickson <nathan@silverorange.com>
date
Tue, 17 Aug 2004 02:52:13 +0000
changeset 9770
d61fe8dcb6d9
parent 9758
bad4efbbfbf5
child 9778
030c9f0bd450
permissions
-rw-r--r--

[gaim-migrate @ 10638]
(22:52:45) noif: LSchiere: one last addition to my chat-info-defaults
patch... this removes the old defaulting mechanism which only jabber used
and accomplishes the same thing through the new defaulting mechanism. It
also changes the "Group" to "Room" for oscar chats to avoid having two
fields labelled "Group".

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

mercurial