annotate src/gtkdialogs.c @ 10475:94fd0bf8c4b1

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