#include "prefs_common.h"
#include "utils.h"
#include "version.h"
+#include "authors.h"
+#include "codeconv.h"
static GtkWidget *window;
+static GtkWidget *scrolledwin;
static void about_create(void);
static gboolean key_pressed(GtkWidget *widget, GdkEventKey *event);
static void about_uri_clicked(GtkButton *button, gpointer data);
+static gboolean scrollme = FALSE;
+
+static gboolean scroller(gpointer data)
+{
+ GtkAdjustment *adj = (GtkAdjustment *)data;
+ if (adj->value != adj->upper)
+ gtk_adjustment_set_value(adj, adj->value + 1);
+ else
+ gtk_adjustment_set_value(adj, 0);
+ return scrollme;
+}
void about_show(void)
{
+ GtkAdjustment *adj = NULL;
if (!window)
about_create();
else
gtk_window_present(GTK_WINDOW(window));
+ scrollme = TRUE;
+ adj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(scrolledwin));
+ gtk_adjustment_set_value(adj, 0);
+ g_timeout_add(30, scroller, adj);
}
static void about_create(void)
GtkWidget *vbox2;
GtkWidget *label;
GtkWidget *button;
- GtkWidget *scrolledwin;
GtkStyle *style;
GdkColormap *cmap;
GdkColor uri_color[2] = {{0, 0, 0, 0xffff}, {0, 0xffff, 0, 0}};
GtkWidget *close_button;
GtkTextBuffer *buffer;
GtkTextIter iter;
+ GdkColor color = {0, 0, 0, 0};
#if HAVE_SYS_UTSNAME_H
struct utsname utsbuf;
gtk_box_pack_start(GTK_BOX(vbox1), label, TRUE, TRUE, 0);
scrolledwin = gtk_scrolled_window_new(NULL, NULL);
+ gtk_widget_set_size_request(scrolledwin, -1, 80);
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolledwin),
- GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+ GTK_POLICY_NEVER, GTK_POLICY_NEVER);
gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwin),
- GTK_SHADOW_IN);
- gtk_box_pack_start(GTK_BOX(vbox1), scrolledwin, TRUE, TRUE, 0);
+ GTK_SHADOW_NONE);
+ gtk_box_pack_start(GTK_BOX(vbox1), scrolledwin, FALSE, FALSE, 0);
text = gtk_text_view_new();
gtk_text_view_set_editable(GTK_TEXT_VIEW(text), FALSE);
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text));
gtk_text_buffer_get_iter_at_offset(buffer, &iter, 0);
+ color = gtk_widget_get_style(label)->bg[GTK_STATE_NORMAL];
+ gtk_widget_modify_base (text, GTK_STATE_NORMAL, &color);
+
+
+ gtk_text_buffer_insert(buffer, &iter, "\n\n\n\n\n\n\n\n", -1);
+
gtk_text_buffer_insert(buffer, &iter,
_("This program is free software; you can redistribute it and/or modify "
"it under the terms of the GNU General Public License as published by "
_("\n\nThis product includes software developed by the OpenSSL Project "
"for use in the OpenSSL Toolkit (http://www.openssl.org/)"), -1);
#endif
+ gtk_text_buffer_insert(buffer, &iter,
+ _("\n\n\nSylpheed-Claws is "
+ "proudly brought to you by:\n\n"), -1);
+
+ if (g_utf8_validate(AUTHORS_LIST, -1, NULL))
+ gtk_text_buffer_insert(buffer, &iter, AUTHORS_LIST, -1);
+ else {
+ gchar *conv = conv_codeset_strdup(AUTHORS_LIST, CS_ISO_8859_1, CS_UTF_8);
+ if (conv)
+ gtk_text_buffer_insert(buffer, &iter, conv, -1);
+ g_free(conv);
+ }
+
gtkut_stock_button_set_create(&confirm_area, &close_button, GTK_STOCK_CLOSE,
NULL, NULL, NULL, NULL);
gtk_box_pack_end(GTK_BOX(vbox1), confirm_area, FALSE, FALSE, 4);
static gboolean key_pressed(GtkWidget *widget, GdkEventKey *event)
{
- if (event && event->keyval == GDK_Escape)
+ if (event && event->keyval == GDK_Escape) {
+ scrollme = FALSE;
gtk_widget_hide(window);
+ }
return FALSE;
}
--- /dev/null
+static char *AUTHORS_LIST =
+"Hiroyuki Yamamoto\n"
+"Hoa viet Dinh\n"
+"Keith Edmunds \n"
+"Match Grun\n"
+"Melvin Hadasht\n"
+"Oliver Haertel \n"
+"Christoph Hohmann\n"
+"Alfons Hoogervorst\n"
+"Darko Koruga\n"
+"Colin Leroy\n"
+"Paul Mangan\n"
+"Leandro A. F. Pereira \n"
+"Luke Plant \n"
+"Martin Schaaf\n"
+"Carsten Schurig\n"
+"Sergey Vlasov\n"
+"Werner Koch\n"
+"Thorsten Maerz\n"
+"George Danchev \n"
+"Miquel Oliete \n"
+"Thomas Gilgin \n"
+"Ricardo Mones Lastra \n"
+"Flammie Pirinen \n"
+"Fabien Vantard \n"
+"Dragan \n"
+"Andrea Spadaccini \n"
+"Rui Hirokawa \n"
+"SungHyun Nam \n"
+"Geir Helland \n"
+"Emilian Nowak\n"
+"Frederico Goncalves Guimaraes \n"
+"Pavlo Bohmat \n"
+"Andrej Kacian \n"
+"Urke MMI \n"
+"Hansom Young \n"
+"Wei-Lun Chao \n"
+"François Barriere \n"
+"Martin Bretschneider\n"
+"Paul Kater\n"
+"Jens Oberender\n"
+"Marcelo Ramos \n"
+"Guido Rudolphi\n"
+"Nick Selby\n"
+"Yoichi Imai (Japanese)\n"
+"Paul Kater (English)\n"
+"WAKAI Kazunao\n"
+"Jakub 'jimmac' Steiner\n"
+"Aleksandar Urosevic\n"
+"Jesper Schultz\n"
+"Alte\n"
+"Pierric Descamps\n"
+"Ohmasa\n"
+"Stephen Anthony\n"
+"HIRAMATSU Masami\n"
+"Jorge Van Hemelryck\n"
+"TAKANO\n"
+"Masahiro Tomita\n"
+"Mathias Intemann\n"
+"Chideok Hwang\n"
+"Marc Hoper\n"
+"David Mehrmann\n"
+"Setoh\n"
+"Yuuki NINOMIYA\n"
+"Suzuki Mio\n"
+"Ishihara\n"
+"Jason McCarver\n"
+"Sakamoto\n"
+"Hiramatu\n"
+"John E.P. Hynes\n"
+"Maki\n"
+"Takahashi\n"
+"Nishimura\n"
+"Yoichi Imai\n"
+"Tsutsui\n"
+"Yanase\n"
+"TOGAWA\n"
+"Higuchi\n"
+"Paul Rolland\n"
+"KUROSAWA\n"
+"NAKAGAWA\n"
+"HIROSHIMA\n"
+"Tanaka\n"
+"Hashimoto\n"
+"T. Yamamoto\n"
+"YAMAGUCHI\n"
+"Tomita\n"
+"Nishiyama\n"
+"Michihide Hotta\n"
+"Nishika\n"
+"shigeri\n"
+"Tajiri\n"
+"Rodrigo Dias Arruda Senra\n"
+"Fabio Junior Beneditto\n"
+"Satoshi Nagayasu\n"
+"Henrik Carlqvist\n"
+"Don Quijote\n"
+"David Looney\n"
+"Eric Limpens\n"
+"Paul Evans\n"
+"wwp\n"
+"Jeroen Versteeg\n"
+"Ravemax\n"
+"Jens Jahnke\n"
+"Thierry Godefroy\n"
+"Matthieu Dazy\n"
+"Jonathan Ware\n"
+"Yasumatsu\n"
+"Stefaan A Eeckels\n"
+"OSHIRO Naoki\n"
+"KAJIWARA\n"
+"Hironori IWANE\n"
+"Manrat Chobchuen\n"
+"Shimamoto 'Neko' Tatsuya\n"
+"Jesse Skinner\n"
+"Willem van Engen\n"
+"Tobias Sandhaas\n"
+"Thomas Link\n"
+"Martin Pool\n"
+"Fredrik Olofssen\n"
+"Gustavo Noronha Silva\n"
+"Simon 'corecode' Schubert\n"
+"Dale P. Smith\n"
+"Yukihiro Nakai\n"
+"Watanabe\n"
+"Masaaki Noro\n"
+"Motonobu Ichimura\n"
+"Luca Rosellini\n"
+"Yasuzaki Masayoshi\n"
+"Stoyan Genov\n"
+"Jeremy Andrews\n"
+"Shawn Houston\n"
+"Alessandro Maestri\n"
+"Neill Miller\n"
+"Oliver Haertel\n"
+"Bob Forsman\n"
+"Ville Skyttä\n"
+"Wilbert Berendsen\n"
+"Bob Woodside\n"
+"Stefaan Eeckels\n"
+"Pascal Jermini\n"
+"Thorsten Thielen\n"
+"Eugene Brevdo\n"
+"Mitko Haralanov\n"
+"Bram Metsch\n"
+"Stanislav Karchebny\n"
+"Torsten Schoenfeld\n"
+"Xavier FACQ\n"
+"Botalov Vyacheslav\n"
+"Urosevic Aleksandar\n"
+"Martin Kluge\n"
+"George Danchev\n"
+"Ruslan N. Balkin\n"
+"Nicolas Kaiser\n"
+"Ivan Francolin Martinez\n"
+"Topia\n"
+"Gál Zoltán\n"
+"Mohammed Sameer\n"
+"Kim Schulz\n"
+"Christian Mertes\n"
+"Jens Rantil\n"
+"Florian Mickler\n"
+"André Filipe de Assunção e Brito\n"
+"Sergei Astanin\n"
+"Kevin Vigor\n"
+"James Noyes\n"
+"Radek Vybiral\n"
+"Tsu-Fan Cheng\n"
+"Martin Zwickel\n"
+"Martin Wicke\n"
+"Pawel Pêkala\n"
+"Bogdan Sumanariu\n"
+"David Relson\n"
+"Matthias Förste\n"
+"David Chalmers\n"
+"Chad Robinson\n"
+"Edgar Toernig\n"
+"Fabien Vantard\n"
+"Reza Pakdel\n"
+"Stephan Sachse\n"
+"Thomas Gilgin\n"
+"Guy Rouillier\n"
+"Jean-Yves Lefort\n"
+"George Michaelson\n"
+"IWAMOTO Kouichi\n"
+"Alex S Moore\n"
+"Felix Eckhofer\n"
+"Rich Coe\n"
+"Ivan Rayner\n"
+"Markus Schwarzenberg\n"
+"Luca Cavalli\n"
+"Tim Mann\n"
+"M. Benkmann\n"
+"Yang Guilong\n"
+"Daniel Gustafson\n"
+"Anders Hammar\n"
+"Andrew Nelson\n";