/[thuban]/trunk/thuban/Thuban/UI/about.py
ViewVC logotype

Annotation of /trunk/thuban/Thuban/UI/about.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2825 - (hide annotations)
Thu Jan 31 13:58:23 2008 UTC (17 years, 1 month ago) by bernhard
File MIME type: text/x-python
File size: 6554 byte(s)
* Thuban/UI/about.py: Adding entry for Czech translation. Adding
Didrik Pinte to the French translation. Adding Bernhard Reiter to
the German translation.

* po/*.po, po/de.po: Updated with string changes in the about dialog.

1 bernhard 2736 # Copyright (c) 2001-2007 by Intevation GmbH
2     # vim: set fileencoding=ISO-8859-15 :
3 jonathan 1305 # Authors:
4     # Jonathan Coles <[email protected]>
5 bernhard 2140 # Bernhard Reiter <[email protected]>
6 silke 2338 # Silke Reimer <[email protected]>
7 jonathan 1305 #
8     # This program is free software under the GPL (>=v2)
9     # Read the file COPYING coming with Thuban for details.
10    
11 bh 1542 """The About Box"""
12    
13     __version__ = "$Revision$"
14     # $Source$
15     # $Id$
16    
17 dpinte 2700 import wx
18 jonathan 1305
19 bernhard 2674 from Thuban import _, internal_from_unicode, get_internal_encoding
20 jonathan 1305 from Thuban.version import versions
21 bh 1964 from Thuban.Model.resource import gdal_support_status
22 jonathan 1305
23 jan 2354 from Thuban.UI.extensionregistry import ext_registry
24    
25 dpinte 2700 class About(wx.Dialog):
26 jonathan 1305
27     def __init__(self, parent):
28 dpinte 2700 wx.Dialog.__init__(self, parent, -1, _("About Thuban"),
29     style = wx.DEFAULT_DIALOG_STYLE
30     | wx.SYSTEM_MENU
31     | wx.MINIMIZE_BOX
32     | wx.MAXIMIZE_BOX
33     | wx.RESIZE_BORDER,
34 jonathan 1305 size = (400, 250))
35    
36 bh 1980 # Note: The source code is in ASCII, so we escape some
37     # characters to get byte strings in latin1.
38 bernhard 2725 maintainers = [ 'Bernhard Reiter (2006 - current)',
39     'Bernhard Herzog (2001 - 2005)' ]
40     lead_developer = 'Bernhard Herzog (2001 - 2005)'
41     developers = [ 'Jonathan Coles (2003, 2005)',
42     'Frank Koormann (2002 - )',
43     internal_from_unicode(u'Martin M\xfcller (2003)'),
44     'Didrik Pinte (2006 - )',
45     'Bernhard Reiter (2004 - )',
46     'Jan-Oliver Wagner (2002 - 2005)' ]
47 bernhard 2825 translators = [ ( _('French'), 'Daniel Calvelo Aros, Didrik Pinte' ),
48 bh 2642 ( _('German'),
49 bernhard 2825 internal_from_unicode(u'Bj\xf6rn Broscheit (2003)') +
50     ', Bernhard Reiter') ,
51 jan 2428 ( _('Hungarian'), 'Norbert Solymosi'),
52 jan 1628 ( _('Italian'), 'Maurizio Napolitano'),
53 frank 2053 ( _('Portuguese (Brazilian)'), 'Eduardo Patto Kanegae'),
54 jan 1628 ( _('Russian'), 'Alex Shevlakov'),
55 bernhard 2825 ( _('Spanish'), 'Daniel Calvelo Aros'),
56     ( _('Czech'), 'Jachym Cepicky') ]
57 bernhard 2725 other_contributors = [ 'Jonathan Byron (2004)',
58     'Ole Rahn (2004)',
59     'Silke Reimer (2003, 2004)',
60     'Martin "Joey" Schulze (2004, 2005)' ]
61 jan 1628 dyn_modules = [ ('wxPython', versions['wxPython']),
62     ('Python', versions['python']),
63     ('PySQLite', versions['pysqlite']),
64     ('SQLite', versions['sqlite']),
65 bh 1631 ('GDAL', versions.get('gdal', _('- not available'))),
66     ('psycopg', versions.get('psycopg',
67     _('- not available')))]
68 jan 1628 direct_modules = [ \
69     ('GTK', versions.get('gtk', _('- not available'))),
70     ('proj', versions['proj']) ]
71    
72     text = 'Thuban %s\n\n' % versions['thuban-long']
73    
74     text += _('Currently using:\n')
75    
76     for name, version in dyn_modules:
77     text+= '\t%s %s\n' % (name, version)
78     text += '\n'
79    
80 bernhard 2674 text += _('\tInternal encoding: %s\n') % get_internal_encoding()
81     text += '\n'
82    
83 bh 1964 if gdal_support_status:
84     text += gdal_support_status + "\n\n"
85    
86 jan 1628 text += _('Compiled for:\n')
87    
88     for name, version in direct_modules:
89     text+= '\t%s %s\n' % (name, version)
90     text += '\n'
91    
92 jan 2354 text += _('Extensions:\n')
93     if ext_registry:
94     for ext in ext_registry:
95     text += '\t%s %s\n' % (ext.name, ext.version)
96     else:
97     text += _('\tNone registered.\n')
98     text += '\n'
99    
100 bernhard 2725 text += _('Maintainers:\n')
101     for name in maintainers:
102     text += '\t%s\n' % name
103     text += '\n'
104    
105 jan 1628 text += _('Lead Developer:\n')
106     text += '\t%s\n\n' % lead_developer
107    
108     text += _('Developers:\n')
109     for name in developers:
110     text += '\t%s\n' % name
111     text += '\n'
112    
113     text += _('Translators:\n')
114     for lang, name in translators:
115     text += '\t%s: %s\n' % (lang, name)
116     text += '\n'
117    
118     text += _('Other Contributors:\n')
119     for name in other_contributors:
120     text += '\t%s\n' % name
121     text += '\n'
122    
123     text += \
124     _("Questions and comments can be sent to the following addresses:\n"
125 bernhard 2140 "\tGeneral list (public):\n\t\t<[email protected]>\n"
126     "\tDevelopers list (public):\n\t\t<[email protected]>\n"
127     "\tThuban team at Intevation:\n\t\t<[email protected]>\n"
128     )
129 jonathan 1305
130 jan 2354 text += '\n\n'
131    
132     text += _("Details on the registered extensions:\n\n")
133    
134     if ext_registry:
135     for ext in ext_registry:
136     text += '%s %s:\n' % (ext.name, ext.version)
137     text += _('Copyright %s\n') % ext.copyright
138     text += _('Authors:\n')
139     for author in ext.authors:
140     text+= '\t%s\n' % author
141     text += ext.desc
142 jan 2582 text += '\n'
143     text += 'Status: %s' % ext.status
144 jan 2354 text += '\n\n'
145     else:
146     text += _('\tNone registered.\n')
147    
148 jonathan 1305 self.text = text
149    
150 dpinte 2700 text_title = wx.StaticText(self, -1,
151 jan 1628 _("Thuban is a program for exploring geographic data.\n\n") +
152 bernhard 2821 "Copyright 2001-2008 Intevation GmbH.\n" +
153 bernhard 2775 _("Thuban is licensed under the GNU GPL v>=2"),
154 dpinte 2700 style=wx.ST_NO_AUTORESIZE|wx.ALIGN_CENTRE)
155 jonathan 1305
156 dpinte 2700 textBox = wx.TextCtrl(self, -1, text,
157     style=wx.TE_READONLY|wx.TE_MULTILINE|wx.TE_LINEWRAP)
158 jonathan 1305 w, h = (300, 150)
159     textBox.SetSizeHints(w, h)
160     textBox.SetSize((w, h))
161    
162 dpinte 2700 button_close = wx.Button(self, wx.ID_CANCEL, _("Close"))
163 jonathan 1305 button_close.SetDefault()
164    
165 dpinte 2700 sizer = wx.BoxSizer(wx.VERTICAL)
166     sizer.Add(text_title, 0, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE, 10)
167     sizer.Add(textBox, 1, wx.ALL|wx.EXPAND, 10)
168     sizer.Add(button_close, 0, wx.ALL|wx.ALIGN_RIGHT, 10)
169 jonathan 1305
170     self.SetAutoLayout(True)
171     self.SetSizer(sizer)
172     sizer.Fit(self)
173     sizer.SetSizeHints(self)
174     self.Layout()
175    
176 dpinte 2700 self.Bind(wx.EVT_BUTTON, self.OnCancel, id=wx.ID_CANCEL)
177 jonathan 1305
178     def OnCancel(self, event):
179 dpinte 2700 self.EndModal(wx.ID_CANCEL)

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26