index 524ba3f66eb09d266c94b4e2fefbb724f09847ae..34a3a866d61054bb23b1366c13109b2c4dd551dc 100644 (file)
#include "inkscape_version.h"
+
+
+
namespace Inkscape {
namespace UI {
namespace Dialog {
+
+
static Gtk::Widget *build_splash_widget();
+
static Gtk::ScrolledWindow
*make_scrolled_text(const Glib::ustring &contents);
+
static AboutBox *window=NULL;
+
+
void AboutBox::show_about() {
- if (!window) {
+ if (!window)
window = new AboutBox();
- }
window->show();
}
+
+
void AboutBox::hide_about() {
- if (window) {
+ if (window)
window->hide();
- }
}
+
+/**
+ * Constructor
+ */
AboutBox::AboutBox() : Gtk::Dialog(_("About Inkscape")) {
+ // call this first
initStrings();
Gtk::Notebook *tabs=new Gtk::Notebook();
set_default_size(requisition.width, requisition.height);
}
+
+
+
void AboutBox::on_response(int response_id) {
if ( response_id == Gtk::RESPONSE_CLOSE ) {
AboutBox::hide_about();
}
}
+
+
+
Gtk::Widget *build_splash_widget() {
/* TRANSLATORS: This is the filename of the `About Inkscape' picture in
the `screens' directory. Thus the translation of "about.svg" should be
return frame;
}
+
+
+
+/**
+ * This attempts to emulate the AboutDialog child dialog settings as
+ * closely as possible. Mostly, that's margin widths and shadows. Size
+ * is probably set in some other way, but this looked close enough.
+ */
static Gtk::ScrolledWindow *make_scrolled_text(const Glib::ustring &contents) {
- // This attempts to emulate the AboutDialog child dialog settings as
- // closely as possible. Mostly, that's margin widths and shadows. Size
- // is probably set in some other way, but this looked close enough.
Gtk::ScrolledWindow *scrolled=new Gtk::ScrolledWindow();
scrolled->set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC);
@@ -175,22 +200,39 @@ static Gtk::ScrolledWindow *make_scrolled_text(const Glib::ustring &contents) {
}
+
+
+/**
+ * This method must be called before any of the texts are
+ * used for making widgets
+ */
void AboutBox::initStrings() {
//##############################
//# A U T H O R S
//##############################
-
+
+ /**
+ * This text is copied from the AUTHORS file. It should be
+ * periodically updated.
+ */
authors_text =
+ "Maximilian Albert\n"
"Josh Andler\n"
+ "Gail Banaszkiewicz\n"
"John Bintz\n"
"Arpad Biro\n"
+ "Nicholas Bishop\n"
+ "Boldewyn\n"
"Daniel Borgmann\n"
"Gustav Broberg\n"
"Hans Breuer\n"
+ "Marcus Brubaker\n"
"Luca Bruno\n"
"Nicu Buculei\n"
"Bulia Byak\n"
+ "Ian Caldwell\n"
+ "Ed Catmur\n"
"Chema Celorio\n"
"Johan Ceuppens\n"
"Zbigniew Chyla\n"
"Larry Doolittle\n"
"Tim Dwyer\n"
"Maxim V. Dziumanenko\n"
- "Danilo Egan\n"
"Johan Engelen\n"
"Frank Felfe\n"
"Andrew Fitzsimon\n"
"Edward Flick\n"
"Fred\n"
"Ben Fowler\n"
+ "Cedric Gemy\n"
"Ted Gould\n"
"Bryce Harrington\n"
"Dale Harvey\n"
"Carl Hetherington\n"
"Jos Hirth\n"
+ "Joel Holdsworth\n"
"Alan Horkan\n"
"Karl Ove Hufthammer\n"
"Richard Hughes\n"
"Lauris Kaplinski\n"
"Lynn Kerby\n"
"Niko Kiirala\n"
+ "James Kilfiger\n"
"Petr Kovar\n"
"Raph Levien\n"
+ "Diederik van Lierop\n"
"Nicklas Lindgren\n"
"Vitaly Lipatov\n"
"Colin Marquardt\n"
"Federico Mena\n"
"MenTaLguY\n"
"Aubanel Monnier\n"
+ "Tim Mooney\n"
"Derek P. Moore\n"
"Peter Moulder\n"
"Jörg Müller\n"
"Christian Neumair\n"
"Andreas Nilsson\n"
"Mitsuru Oka\n"
+ "Marten Owens\n"
"Jon Phillips\n"
"Zdenko Podobny\n"
"Alexandre Prokoudine\n"
+ "Jean-René Reinhard\n"
"Alexey Remizov\n"
"Frederic Rodrigo\n"
"Hugo Rodrigues\n"
"Juarez Rudsatz\n"
"Xavier Conde Rueda\n"
+ "Felipe Corrêa da Silva Sanches\n"
"Christian Schaller\n"
"Marco Scholten\n"
"Tom von Schwerdtner\n"
"Shivaken\n"
"Michael Sloan\n"
+ "Danilo Šegan\n"
"Boštjan Špetič\n"
"Aaron Spike\n"
"Kaushik Sridharan\n"
"Pat Suwalski\n"
"Adib Taraben\n"
"David Turner\n"
+ "Andre Twupack\n"
"Aleksandar Urošević\n"
"Lucas Vieites\n"
"Michael Wybrow\n"
//# T R A N S L A T O R S
//##############################
- /* TRANSLATORS: Put here your name (and other national contributors')
- one per line in the form of: name surname (email). Use \n for newline. */
+
translators_text = "";
-
+
+ // TRANSLATORS: Put here your name (and other national contributors')
+ // one per line in the form of: name surname (email). Use \n for newline.
Glib::ustring thisTranslation = _("translator-credits");
+
+ /**
+ * See if the translators for the current language
+ * made an entry for "translator-credits". If it exists,
+ * put it at the top of the window, add some space between
+ * it and the list of all translators.
+ *
+ * NOTE: Do we need 2 more .po entries for titles:
+ * "translators for this language"
+ * "all translators" ??
+ */
if (thisTranslation != "translator-credits") {
translators_text.append(thisTranslation);
translators_text.append("\n\n\n");
}
+ /**
+ * This list is copied from the TRANSLATORS file. It should
+ * be periodically updated.
+ */
gchar *allTranslators =
"3ARRANO.com <3arrano@3arrano.com>, 2005.\n"
"Adib Taraben <theadib@yahoo.com>, 2004.\n"
translators_text.append(allTranslators);
+
//##############################
//# L I C E N S E
//##############################
+ /**
+ * This text is copied from the COPYING file
+ */
license_text =
" GNU GENERAL PUBLIC LICENSE\n"
" Version 2, June 1991\n"
}
+
+
} // namespace Dialog
} // namespace UI
} // namespace Inkscape