changeset 7942:3e268e113bf1

[gaim-migrate @ 8613] Tried to make the about window look nicer/follow the HIG more. Also a small patch from javabsp: This fixes my earlier patch. Sometimes things after hr disappears. This fixes that, and doesn't seem to introduce any issue. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sat, 27 Dec 2003 20:55:55 +0000
parents 14b8dc2f5408
children e8fc79fb648b
files src/about.c src/dialogs.c src/gaimrc.c src/gtkimhtml.c src/ui.h
diffstat 5 files changed, 175 insertions(+), 174 deletions(-) [+]
line wrap: on
line diff
--- a/src/about.c	Sat Dec 27 19:39:06 2003 +0000
+++ b/src/about.c	Sat Dec 27 20:55:55 2003 +0000
@@ -39,194 +39,194 @@
 
 void show_about(GtkWidget *w, void *data)
 {
+	GtkWidget *hbox;
 	GtkWidget *vbox;
-	GtkWidget *frame;
-	GtkWidget *fbox;
-	GtkWidget *hbox;
-	GtkWidget *button;
-	GtkWidget *text;
-	GtkWidget *sw;
 	GtkWidget *logo;
-	char abouttitle[45];
-	char *str;
-
-	if (!about) {
+	GtkWidget *label;
+	GtkWidget *sw;
+	GtkWidget *text;
+	GtkWidget *bbox;
+	GtkWidget *button;
+	char *str, *labeltext;
 
-		GAIM_DIALOG(about);
-		gtk_window_set_default_size(GTK_WINDOW(about), 450, -1);
-		g_snprintf(abouttitle, sizeof(abouttitle), _("About Gaim v%s"), VERSION);
-		gtk_window_set_title(GTK_WINDOW(about), abouttitle);
-		gtk_window_set_role(GTK_WINDOW(about), "about");
-		gtk_window_set_resizable(GTK_WINDOW(about), TRUE);
-		gtk_widget_realize(about);
+	if (about != NULL)
+		return;
 
-		vbox = gtk_vbox_new(FALSE, 5);
-		gtk_container_set_border_width(GTK_CONTAINER(vbox), 5);
-		gtk_container_add(GTK_CONTAINER(about), vbox);
+	GAIM_DIALOG(about);
+	gtk_window_set_default_size(GTK_WINDOW(about), 450, -1);
+	gtk_window_set_title(GTK_WINDOW(about), _("About Gaim"));
+	gtk_window_set_role(GTK_WINDOW(about), "about");
+	gtk_window_set_resizable(GTK_WINDOW(about), TRUE);
+	gtk_widget_realize(about);
 
-		frame = gtk_frame_new("Gaim v" VERSION);
-		gtk_box_pack_start(GTK_BOX(vbox), frame, TRUE, TRUE, 0);
-
-		fbox = gtk_vbox_new(FALSE, 5);
-		gtk_container_set_border_width(GTK_CONTAINER(fbox), 5);
-		gtk_container_add(GTK_CONTAINER(frame), fbox);
+	hbox = gtk_hbox_new(FALSE, 12);
+	gtk_container_set_border_width(GTK_CONTAINER(hbox), 12);
+	gtk_container_add(GTK_CONTAINER(about), hbox);
 
-		logo = gtk_image_new_from_stock(GAIM_STOCK_LOGO, gtk_icon_size_from_name(GAIM_ICON_SIZE_LOGO));
-		gtk_box_pack_start(GTK_BOX(fbox), logo, FALSE, FALSE, 0);
+	vbox = gtk_vbox_new(FALSE, 12);
+	gtk_container_add(GTK_CONTAINER(hbox), vbox);
+
+	logo = gtk_image_new_from_stock(GAIM_STOCK_LOGO, gtk_icon_size_from_name(GAIM_ICON_SIZE_LOGO));
+	gtk_box_pack_start(GTK_BOX(vbox), logo, FALSE, FALSE, 0);
 
-		sw = gtk_scrolled_window_new(NULL, NULL);
-		gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
-				GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-		gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
-		gtk_box_pack_start(GTK_BOX(fbox), sw, TRUE, TRUE, 0);
-
-		text = gtk_imhtml_new(NULL, NULL);
-		gtk_container_add(GTK_CONTAINER(sw), text);
-		gtk_widget_set_size_request(sw, -1, 350);
-		gaim_setup_imhtml(text);
+	labeltext = g_strdup_printf(_("<span weight=\"bold\" size=\"larger\">Gaim v%s</span>"), VERSION);
+	label = gtk_label_new(NULL);
+	gtk_label_set_markup(GTK_LABEL(label), labeltext);
+	gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
+	gtk_misc_set_alignment(GTK_MISC(label), 0.5, 0);
+	gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
+	g_free(labeltext);
 
-		gtk_imhtml_append_text(GTK_IMHTML(text),
-				  _("Gaim is a modular Instant Messaging client capable of "
-					  "using AIM, ICQ, Yahoo!, MSN, IRC, Jabber, Napster, "
-					  "Zephyr, and Gadu-Gadu all at once.  It is written using "
-					  "Gtk+ and is licensed under the GPL.<BR><BR>"), GTK_IMHTML_NO_SCROLL);
+	sw = gtk_scrolled_window_new(NULL, NULL);
+	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw),
+				GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);
+	gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(sw), GTK_SHADOW_IN);
+	gtk_widget_set_size_request(sw, -1, 350);
+	gtk_box_pack_start(GTK_BOX(vbox), sw, FALSE, FALSE, 0);
 
-		gtk_imhtml_append_text(GTK_IMHTML(text),
-				"<FONT SIZE=\"3\">URL:</FONT> <A HREF=\"" GAIM_WEBSITE "\">"
-				GAIM_WEBSITE "</A><BR><BR>", GTK_IMHTML_NO_SCROLL);
+	text = gtk_imhtml_new(NULL, NULL);
+	gtk_container_add(GTK_CONTAINER(sw), text);
+	gaim_setup_imhtml(text);
 
-		gtk_imhtml_append_text(GTK_IMHTML(text),
-				_("<FONT SIZE=\"3\">IRC:</FONT> #gaim on irc.freenode.net"
-				"<BR><BR>"), GTK_IMHTML_NO_SCROLL);
+	gtk_imhtml_append_text(GTK_IMHTML(text),
+			  _("Gaim is a modular Instant Messaging client capable of "
+				  "using AIM, ICQ, Yahoo!, MSN, IRC, Jabber, Napster, "
+				  "Zephyr, and Gadu-Gadu all at once.  It is written using "
+				  "Gtk+ and is licensed under the GPL.<BR><BR>"), GTK_IMHTML_NO_SCROLL);
+
+	gtk_imhtml_append_text(GTK_IMHTML(text),
+			"<FONT SIZE=\"3\">URL:</FONT> <A HREF=\"" GAIM_WEBSITE "\">"
+			GAIM_WEBSITE "</A><BR><BR>", GTK_IMHTML_NO_SCROLL);
 
-		/* Active Developers */
-		str = g_strconcat(
-			"<FONT SIZE=\"3\">", _("Active Developers"), ":</FONT><BR>"
-			"  Rob Flynn (", _("maintainer"), ") "
-			"&lt;<A HREF=\"mailto:rob@marko.net\">rob@marko.net</A>&gt;<BR>"
-			"  Sean Egan (", _("lead developer"), ") "
-			"&lt;<A HREF=\"mailto:sean.egan@binghamton.edu\">"
-			"bj91704@binghamton.edu</A>&gt;<BR>"
-			"  Christian 'ChipX86' Hammond (", _("developer & webmaster"), ")<BR>"
-			"  Herman Bloggs (", _("win32 port"), ") "
-			"&lt;<A HREF=\"mailto:hermanator12002@yahoo.com\">"
-			"hermanator12002@yahoo.com</A>&gt;<BR>"
-			"  Nathan 'faceprint' Walp (", _("developer"), ")<BR>"
-			"  Mark 'KingAnt' Doliner (", _("developer"), ")<BR>"
-			"  Ethan 'Paco-Paco' Blanton (", _("developer"), ")<br>"
-			"  Luke 'LSchiere' Schierer (", _("support"), ")<BR>"
-			"<BR>", NULL);
-		gtk_imhtml_append_text(GTK_IMHTML(text), str, GTK_IMHTML_NO_SCROLL);
-		g_free(str);
+	gtk_imhtml_append_text(GTK_IMHTML(text),
+			_("<FONT SIZE=\"3\">IRC:</FONT> #gaim on irc.freenode.net"
+			"<BR><BR>"), GTK_IMHTML_NO_SCROLL);
 
-		/* Crazy Patch Writers */
-		str = g_strconcat(
-			"<FONT SIZE=\"3\">", _("Crazy Patch Writers"), ":</FONT><BR>"
-			"  Benjamin Miller<BR>"
-			"  Decklin Foster<BR>"
-			"  Etan 'deryni' Reisner<BR>"
-			"  Robert 'Robot101' McQueen<BR>"
-			"  Tim 'marv' Ringenbach<br>"
-			"  Kevin 'SimGuy' Stange<br>"
-			"  Stu 'nosnilmot' Tomlinson<br>"
-			"<BR>", NULL);
-		gtk_imhtml_append_text(GTK_IMHTML(text), str, GTK_IMHTML_NO_SCROLL);
-		g_free(str);
+	/* Active Developers */
+	str = g_strconcat(
+		"<FONT SIZE=\"3\">", _("Active Developers"), ":</FONT><BR>"
+		"  Rob Flynn (", _("maintainer"), ") "
+		"&lt;<A HREF=\"mailto:rob@marko.net\">rob@marko.net</A>&gt;<BR>"
+		"  Sean Egan (", _("lead developer"), ") "
+		"&lt;<A HREF=\"mailto:sean.egan@binghamton.edu\">"
+		"bj91704@binghamton.edu</A>&gt;<BR>"
+		"  Christian 'ChipX86' Hammond (", _("developer & webmaster"), ")<BR>"
+		"  Herman Bloggs (", _("win32 port"), ") "
+		"&lt;<A HREF=\"mailto:hermanator12002@yahoo.com\">"
+		"hermanator12002@yahoo.com</A>&gt;<BR>"
+		"  Nathan 'faceprint' Walp (", _("developer"), ")<BR>"
+		"  Mark 'KingAnt' Doliner (", _("developer"), ")<BR>"
+		"  Ethan 'Paco-Paco' Blanton (", _("developer"), ")<br>"
+		"  Luke 'LSchiere' Schierer (", _("support"), ")<BR>"
+		"<BR>", NULL);
+	gtk_imhtml_append_text(GTK_IMHTML(text), str, GTK_IMHTML_NO_SCROLL);
+	g_free(str);
 
-		/* Retired Developers */
-		str = g_strconcat(
-				"<FONT SIZE=\"3\">", _("Retired Developers"), ":</FONT><BR>"
-				"  Adam Fritzler (", _("former libfaim maintainer"), ")<BR>"
-				"  Eric Warmenhoven (", _("former lead developer"), ") "
-				"&lt;<A HREF=\"mailto:warmenhoven@yahoo.com\">"
-				"warmenhoven@yahoo.com</A>&gt;<BR>"
-				"  Jim Duchek (", _("former maintainer"), ")<BR>"
-				"  Jim Seymour (", _("former Jabber developer"), ")<BR>"
-				"  Mark Spencer (", _("original author"), ") "
-				"&lt;<A HREF=\"mailto:markster@marko.net\">"
-				"markster@marko.net</A>&gt;<BR>"
-				"  Syd Logan (", _("hacker and designated driver [lazy bum]"), 
-				")<BR>"
-				"<BR>", NULL);
-		gtk_imhtml_append_text(GTK_IMHTML(text), str, GTK_IMHTML_NO_SCROLL);
-		g_free(str);
+	/* Crazy Patch Writers */
+	str = g_strconcat(
+		"<FONT SIZE=\"3\">", _("Crazy Patch Writers"), ":</FONT><BR>"
+		"  Benjamin Miller<BR>"
+		"  Decklin Foster<BR>"
+		"  Etan 'deryni' Reisner<BR>"
+		"  Robert 'Robot101' McQueen<BR>"
+		"  Tim 'marv' Ringenbach<br>"
+		"  Kevin 'SimGuy' Stange<br>"
+		"  Stu 'nosnilmot' Tomlinson<br>"
+		"<BR>", NULL);
+	gtk_imhtml_append_text(GTK_IMHTML(text), str, GTK_IMHTML_NO_SCROLL);
+	g_free(str);
+
+	/* Retired Developers */
+	str = g_strconcat(
+			"<FONT SIZE=\"3\">", _("Retired Developers"), ":</FONT><BR>"
+			"  Adam Fritzler (", _("former libfaim maintainer"), ")<BR>"
+			"  Eric Warmenhoven (", _("former lead developer"), ") "
+			"&lt;<A HREF=\"mailto:warmenhoven@yahoo.com\">"
+			"warmenhoven@yahoo.com</A>&gt;<BR>"
+			"  Jim Duchek (", _("former maintainer"), ")<BR>"
+			"  Jim Seymour (", _("former Jabber developer"), ")<BR>"
+			"  Mark Spencer (", _("original author"), ") "
+			"&lt;<A HREF=\"mailto:markster@marko.net\">"
+			"markster@marko.net</A>&gt;<BR>"
+			"  Syd Logan (", _("hacker and designated driver [lazy bum]"), 
+			")<BR>"
+			"<BR>", NULL);
+	gtk_imhtml_append_text(GTK_IMHTML(text), str, GTK_IMHTML_NO_SCROLL);
+	g_free(str);
 
-		/* Current Translators */
-		str = g_strconcat(
-				"<FONT SIZE=\"3\">", _("Current Translators"), ":</FONT><BR>"
-				"  <b>", _("Catalan"), " (ca)</b> - Robert Millan &lt;<a href=\"mailto: zeratul2@wanadoo.es\">zeratul2@wanadoo.es</a>&gt;<br>"
-				"  <b>", _("Czech"), " (cs)</b> - Miloslav Trmac &lt;<a href=\"mailto: mitr@volny.cz\">mitr@volny.cz</a>&gt;<br>"
-				"  <b>", _("Danish"), " (da)</b> - Morten Brix Pedersen &lt;<a href=\"mailto: morten@wtf.dk\">morten@wtf.dk</a>&gt;<br>"
-				"  <b>", _("British English"), "(en_GB)</b> - Luke Ross &lt;<a href=\"mailto: lukeross@sys3175.co.uk\">lukeross@sys3175.co.uk</a>&gt;<br>"
-				"  <b>", _("German"), " (de)</b> - Björn Voigt &lt;<a href=\"mailto: bjoern@cs.tu-berlin.de\">bjoern@cs.tu-berlin.de</a>&gt;<br>"
-				"  <b>", _("Spanish"), " (es)</b> - Javier Fernández-Sanguino Peña &lt;<a href=\"mailto: jfs@debian.org\">jfs@debian.org</a>&gt;<br>"
-				"  <b>", _("Finnish"), " (fi)</b> - Arto Alakulju &lt;<a href=\"mailto: arto@alakulju.net\">arto@alakulju.net</a>&gt;<br>"
-				"  <b>", _("French"), " (fr)</b> - Éric Boumaour &lt;<a href=\"mailto: zongo_fr@users.sourceforge.net\">zongo_fr@users.sourceforge.net</a>&gt;<br>"
-				"  <b>", _("Hindi"), " (hi)</b> - Ravishankar Shrivastava &lt;<a href=\"mailto: raviratlami@yahoo.com\">raviratlami@yahoo.com</a>&gt;<br>"
-				"  <b>", _("Hungarian"), " (hu)</b> - Zoltan Sutto &lt;<a href=\"mailto: suttozoltan@chello.hu\">suttozoltan@chello.hu</a>&gt;<br>"
-				"  <b>", _("Italian"), " (it)</b> - Claudio Satriano &lt;<a href=\"mailto: satriano@na.infn.it\">satriano@na.infn.it</a>&gt;<br>"
-				"  <b>", _("Korean"), " (ko)</b> - Kyung-uk Son &lt;<a href=\"mailto: vvs740@chol.com\">vvs740@chol.com</a>&gt;<br>"
-				"  <b>", _("Dutch; Flemish"), " (nl)</b> - Vincent van Adrighem &lt;<a href=\"mailto: V.vanAdrighem@dirck.mine.nu\">V.vanAdrighem@dirck.mine.nu</a>&gt;<br>"
-				"  <b>", _("Norwegian"), " (no)</b> - Petter Johan Olsen<br>"
-				"  <b>", _("Polish"), " (pl)</b> - Krzysztof &lt;<a href=\"krzysztof@foltman.com\">krzysztof@foltman.com</a>&gt;, Emil &lt;<a href=\"emil5@go2.pl\">emil5@go2.pl</a>&gt;<br>"
-				"  <b>", _("Portuguese"), " (pt)</b> - Duarte Henriques &lt;<a href=\"mailto:duarte_henriques@myrealbox.com\">duarte_henriques@myrealbox.com</a>&gt;<br>"
-				"  <b>", _("Portuguese-Brazil"), " (pt_BR)</b> - Maurício de Lemos Rodrigues Collares Neto &lt;<a href=\"mailto: mauricioc@myrealbox.com\">mauricioc@myrealbox.com</a>&gt;<br>"
-				"  <b>", _("Romanian"), " (ro)</b> - Mişu Moldovan &lt;<a href=\"mailto: dumol@go.ro\">dumol@go.ro</a>&gt;<br>"
-				"  <b>", _("Russian"), "(ru)</b> = Alexandre Prokoudine &lt;<a href=\"mailto: avp@altlinux.ru\">avp@altlinux.ru</a>&gt;<br>"
-				"  <b>", _("Serbian"), " (sr)</b> - Danilo Šegan &lt;<a href=\"mailto: dsegan@gmx.net\">dsegan@gmx.net</a>&gt;, Aleksandar Urosevic &lt;<a href=\"mailto: urke@users.sourceforge.net\">urke@users.sourceforge.net</a>&gt;<br>"
-				"  <b>", _("Swedish"), " (sv)</b> - Tore Lundqvist &lt;<a href=\"mailto: tlt@mima.x.se\">tlt@mima.x.se</a>&gt;<br>"
-				"  <b>", _("Vietnamese"), "(vi)</b> - T.M.Thanh, ", _("Gnome Vi Team"), ". &lt;<a href=\"mailto: gnomevi-list@lists.sf.net\">gnomevi-list@lists.sf.net</a>&gt;<br>"
-				"  <b>", _("Simplified Chinese"), " (zh_CN)</b> - Funda Wang &lt;<a href=\"mailto: fundawang@linux.net.cn\">fundawang@linux.net.cn</a>&gt;<br>"
-				"  <b>", _("Traditional Chinese"), " (zh_TW)</b> - Ambrose C. Li &lt;<a href=\"mailto: acli@ada.dhs.org\">acli@ada.dhs.org</a>&gt;, Paladin R. Liu &lt;<a href=\"mailto: paladin@ms1.hinet.net\">paladin@ms1.hinet.net</a>&gt;<br>"
-				"<BR>", NULL);
-		gtk_imhtml_append_text(GTK_IMHTML(text), str, GTK_IMHTML_NO_SCROLL);
-		g_free(str);
+	/* Current Translators */
+	str = g_strconcat(
+			"<FONT SIZE=\"3\">", _("Current Translators"), ":</FONT><BR>"
+			"  <b>", _("Catalan"), " (ca)</b> - Robert Millan &lt;<a href=\"mailto: zeratul2@wanadoo.es\">zeratul2@wanadoo.es</a>&gt;<br>"
+			"  <b>", _("Czech"), " (cs)</b> - Miloslav Trmac &lt;<a href=\"mailto: mitr@volny.cz\">mitr@volny.cz</a>&gt;<br>"
+			"  <b>", _("Danish"), " (da)</b> - Morten Brix Pedersen &lt;<a href=\"mailto: morten@wtf.dk\">morten@wtf.dk</a>&gt;<br>"
+			"  <b>", _("British English"), "(en_GB)</b> - Luke Ross &lt;<a href=\"mailto: lukeross@sys3175.co.uk\">lukeross@sys3175.co.uk</a>&gt;<br>"
+			"  <b>", _("German"), " (de)</b> - Björn Voigt &lt;<a href=\"mailto: bjoern@cs.tu-berlin.de\">bjoern@cs.tu-berlin.de</a>&gt;<br>"
+			"  <b>", _("Spanish"), " (es)</b> - Javier Fernández-Sanguino Peña &lt;<a href=\"mailto: jfs@debian.org\">jfs@debian.org</a>&gt;<br>"
+			"  <b>", _("Finnish"), " (fi)</b> - Arto Alakulju &lt;<a href=\"mailto: arto@alakulju.net\">arto@alakulju.net</a>&gt;<br>"
+			"  <b>", _("French"), " (fr)</b> - Éric Boumaour &lt;<a href=\"mailto: zongo_fr@users.sourceforge.net\">zongo_fr@users.sourceforge.net</a>&gt;<br>"
+			"  <b>", _("Hindi"), " (hi)</b> - Ravishankar Shrivastava &lt;<a href=\"mailto: raviratlami@yahoo.com\">raviratlami@yahoo.com</a>&gt;<br>"
+			"  <b>", _("Hungarian"), " (hu)</b> - Zoltan Sutto &lt;<a href=\"mailto: suttozoltan@chello.hu\">suttozoltan@chello.hu</a>&gt;<br>"
+			"  <b>", _("Italian"), " (it)</b> - Claudio Satriano &lt;<a href=\"mailto: satriano@na.infn.it\">satriano@na.infn.it</a>&gt;<br>"
+			"  <b>", _("Korean"), " (ko)</b> - Kyung-uk Son &lt;<a href=\"mailto: vvs740@chol.com\">vvs740@chol.com</a>&gt;<br>"
+			"  <b>", _("Dutch; Flemish"), " (nl)</b> - Vincent van Adrighem &lt;<a href=\"mailto: V.vanAdrighem@dirck.mine.nu\">V.vanAdrighem@dirck.mine.nu</a>&gt;<br>"
+			"  <b>", _("Norwegian"), " (no)</b> - Petter Johan Olsen<br>"
+			"  <b>", _("Polish"), " (pl)</b> - Krzysztof &lt;<a href=\"krzysztof@foltman.com\">krzysztof@foltman.com</a>&gt;, Emil &lt;<a href=\"emil5@go2.pl\">emil5@go2.pl</a>&gt;<br>"
+			"  <b>", _("Portuguese"), " (pt)</b> - Duarte Henriques &lt;<a href=\"mailto:duarte_henriques@myrealbox.com\">duarte_henriques@myrealbox.com</a>&gt;<br>"
+			"  <b>", _("Portuguese-Brazil"), " (pt_BR)</b> - Maurício de Lemos Rodrigues Collares Neto &lt;<a href=\"mailto: mauricioc@myrealbox.com\">mauricioc@myrealbox.com</a>&gt;<br>"
+			"  <b>", _("Romanian"), " (ro)</b> - Mişu Moldovan &lt;<a href=\"mailto: dumol@go.ro\">dumol@go.ro</a>&gt;<br>"
+			"  <b>", _("Russian"), "(ru)</b> = Alexandre Prokoudine &lt;<a href=\"mailto: avp@altlinux.ru\">avp@altlinux.ru</a>&gt;<br>"
+			"  <b>", _("Serbian"), " (sr)</b> - Danilo Šegan &lt;<a href=\"mailto: dsegan@gmx.net\">dsegan@gmx.net</a>&gt;, Aleksandar Urosevic &lt;<a href=\"mailto: urke@users.sourceforge.net\">urke@users.sourceforge.net</a>&gt;<br>"
+			"  <b>", _("Swedish"), " (sv)</b> - Tore Lundqvist &lt;<a href=\"mailto: tlt@mima.x.se\">tlt@mima.x.se</a>&gt;<br>"
+			"  <b>", _("Vietnamese"), "(vi)</b> - T.M.Thanh, ", _("Gnome Vi Team"), ". &lt;<a href=\"mailto: gnomevi-list@lists.sf.net\">gnomevi-list@lists.sf.net</a>&gt;<br>"
+			"  <b>", _("Simplified Chinese"), " (zh_CN)</b> - Funda Wang &lt;<a href=\"mailto: fundawang@linux.net.cn\">fundawang@linux.net.cn</a>&gt;<br>"
+			"  <b>", _("Traditional Chinese"), " (zh_TW)</b> - Ambrose C. Li &lt;<a href=\"mailto: acli@ada.dhs.org\">acli@ada.dhs.org</a>&gt;, Paladin R. Liu &lt;<a href=\"mailto: paladin@ms1.hinet.net\">paladin@ms1.hinet.net</a>&gt;<br>"
+			"<BR>", NULL);
+	gtk_imhtml_append_text(GTK_IMHTML(text), str, GTK_IMHTML_NO_SCROLL);
+	g_free(str);
 
-		/* Past Translators */
-		str = g_strconcat(
-				"<FONT SIZE=\"3\">", _("Past Translators"), ":</FONT><BR>"
-				"  <b>", _("Amharic"), " (am)</b> - Daniel Yacob<br>"
-				"  <b>", _("Bulgarian"), " (bg)</b> - Hristo Todorov<br>"
-				"  <b>", _("Catalan"), " (ca)</b> - JM Pérez Cáncer<br>"
-				"  <b>", _("Czech"), " (cs)</b> - Honza Král<br>"
-				"  <b>", _("German"), " (de)</b> - Daniel Seifert, Karsten Weiss<br>"
-				"  <b>", _("Spanish"), " (es)</b> - Amaya Rodrigo, Alejandro G Villar, Nicolás Lichtmaier, JM Pérez Cáncer<br>"
-				"  <b>", _("Finnish"), " (fi)</b> - Tero Kuusela<br>"
-				"  <b>", _("French"), " (fr)</b> - sebfrance, Stéphane Pontier, Stéphane Wirtel, Loïc Jeannin<br>"
-				"  <b>", _("Hebrew"), " (he)</b> - Pavel Bibergal<br>"
-				"  <b>", _("Italian"), " (it)</b> - Salvatore di Maggio<br>"
-				"  <b>", _("Japanese"), " (ja)</b> - Ryosuke Kutsuna, Taku Yasui, Junichi Uekawa<br>"
-				"  <b>", _("Korean"), " (ko)</b> - Sang-hyun S, A Ho-seok Lee<br>"
-				"  <b>", _("Polish"), " (pl)</b> - Przemysław Sułek<br>"
-				"  <b>", _("Russian"), " (ru)</b> - Sergey Volozhanin<br>"
-				"  <b>", _("Slovak"), " (sk)</b> - Daniel Režný<br>"
-				"  <b>", _("Swedish"), " (sv)</b> - Christian Rose<br>"
-				"  <b>", _("Chinese"), " (zh_CN, zh_TW)</b> - Hashao, Rocky S. Lee<br>"
-				"<BR>", NULL);
-		gtk_imhtml_append_text(GTK_IMHTML(text), str, GTK_IMHTML_NO_SCROLL);
-		g_free(str);
+	/* Past Translators */
+	str = g_strconcat(
+			"<FONT SIZE=\"3\">", _("Past Translators"), ":</FONT><BR>"
+			"  <b>", _("Amharic"), " (am)</b> - Daniel Yacob<br>"
+			"  <b>", _("Bulgarian"), " (bg)</b> - Hristo Todorov<br>"
+			"  <b>", _("Catalan"), " (ca)</b> - JM Pérez Cáncer<br>"
+			"  <b>", _("Czech"), " (cs)</b> - Honza Král<br>"
+			"  <b>", _("German"), " (de)</b> - Daniel Seifert, Karsten Weiss<br>"
+			"  <b>", _("Spanish"), " (es)</b> - Amaya Rodrigo, Alejandro G Villar, Nicolás Lichtmaier, JM Pérez Cáncer<br>"
+			"  <b>", _("Finnish"), " (fi)</b> - Tero Kuusela<br>"
+			"  <b>", _("French"), " (fr)</b> - sebfrance, Stéphane Pontier, Stéphane Wirtel, Loïc Jeannin<br>"
+			"  <b>", _("Hebrew"), " (he)</b> - Pavel Bibergal<br>"
+			"  <b>", _("Italian"), " (it)</b> - Salvatore di Maggio<br>"
+			"  <b>", _("Japanese"), " (ja)</b> - Ryosuke Kutsuna, Taku Yasui, Junichi Uekawa<br>"
+			"  <b>", _("Korean"), " (ko)</b> - Sang-hyun S, A Ho-seok Lee<br>"
+			"  <b>", _("Polish"), " (pl)</b> - Przemysław Sułek<br>"
+			"  <b>", _("Russian"), " (ru)</b> - Sergey Volozhanin<br>"
+			"  <b>", _("Slovak"), " (sk)</b> - Daniel Režný<br>"
+			"  <b>", _("Swedish"), " (sv)</b> - Christian Rose<br>"
+			"  <b>", _("Chinese"), " (zh_CN, zh_TW)</b> - Hashao, Rocky S. Lee<br>"
+			"<BR>", NULL);
+	gtk_imhtml_append_text(GTK_IMHTML(text), str, GTK_IMHTML_NO_SCROLL);
+	g_free(str);
 
-		gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(sw)), 0);
-
-		/* Close Button */
+	gtk_adjustment_set_value(gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(sw)), 0);
 
-		hbox = gtk_hbox_new(FALSE, 5);
-		gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
-		gtk_widget_show(hbox);
-
-		button = gaim_pixbuf_button_from_stock(_("Close"), GTK_STOCK_CLOSE, GAIM_BUTTON_HORIZONTAL);
-		gtk_box_pack_end(GTK_BOX(hbox), button, FALSE, FALSE, 0);
+	/* Close Button */
+	bbox = gtk_hbutton_box_new();
+	gtk_button_box_set_layout(GTK_BUTTON_BOX(bbox), GTK_BUTTONBOX_END);
+	gtk_box_pack_start(GTK_BOX(vbox), bbox, FALSE, FALSE, 0);
 
-		g_signal_connect_swapped(G_OBJECT(button), "clicked",
-								 G_CALLBACK(destroy_about), G_OBJECT(about));
-		g_signal_connect(G_OBJECT(about), "destroy",
-						 G_CALLBACK(destroy_about), G_OBJECT(about));
+	button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
+	gtk_box_pack_start(GTK_BOX(bbox), button, FALSE, FALSE, 0);
 
-		/* this makes the sizes not work. */
-		/* GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT); */
-		/* gtk_widget_grab_default(button); */
+	g_signal_connect_swapped(G_OBJECT(button), "clicked",
+							 G_CALLBACK(destroy_about), G_OBJECT(about));
+	g_signal_connect(G_OBJECT(about), "destroy",
+					 G_CALLBACK(destroy_about), G_OBJECT(about));
 
-	}
+	/* this makes the sizes not work? */
+	GTK_WIDGET_SET_FLAGS(button, GTK_CAN_DEFAULT);
+	gtk_widget_grab_default(button);
 
 	/* Let's give'em something to talk about -- woah woah woah */
 	gtk_widget_show_all(about);
--- a/src/dialogs.c	Sat Dec 27 19:39:06 2003 +0000
+++ b/src/dialogs.c	Sat Dec 27 20:55:55 2003 +0000
@@ -1140,9 +1140,8 @@
 	g_snprintf(am->message, sizeof(am->message), "%s", away_message);
 	g_free(away_message);
 
-	if (!ca->mess) {
+	if (!ca->mess)
 		away_messages = g_slist_insert_sorted(away_messages, am, sort_awaymsg_list);
-	}
 
 	do_away_menu(NULL);
 	gaim_status_sync();
--- a/src/gaimrc.c	Sat Dec 27 19:39:06 2003 +0000
+++ b/src/gaimrc.c	Sat Dec 27 20:55:55 2003 +0000
@@ -1561,10 +1561,10 @@
 }
 
 
-/* This function is called by g_slist_insert_sorted to compare the item
+/*
+ * This function is called by g_slist_insert_sorted to compare the item
  * being compared to the rest of the items on the list.
  */
-
 gint sort_awaymsg_list(gconstpointer a, gconstpointer b)
 {
 	struct away_message *msg_a;
--- a/src/gtkimhtml.c	Sat Dec 27 19:39:06 2003 +0000
+++ b/src/gtkimhtml.c	Sat Dec 27 20:55:55 2003 +0000
@@ -1335,8 +1335,9 @@
 					scalable->add_to(scalable, imhtml, &iter);
 					scalable->scale(scalable, rect.width, rect.height);
 					imhtml->scalables = g_list_append(imhtml->scalables, scalable);
-                    ws[0] = '\n';
-                    ws[1] = '\0';
+					wpos = 0;
+					ws[wpos++] = '\n';
+
 					break;
 				case 27:	/* /FONT */
 					if (fonts) {
--- a/src/ui.h	Sat Dec 27 19:39:06 2003 +0000
+++ b/src/ui.h	Sat Dec 27 20:55:55 2003 +0000
@@ -51,6 +51,7 @@
 /* XXX CUI: away messages aren't really anything more than char* but we need two char*'s
  * for the UI so that people can name their away messages when they save them. So these
  * are really a UI function and struct away_message should be removed from the core. */
+/* WTF?  How does having a title for something mean that it is part of the UI? */
 struct away_message {
 	char name[80];
 	char message[2048];