/[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 2691 - (hide annotations)
Thu Aug 31 12:40:30 2006 UTC (18 years, 6 months ago) by bernhard
File MIME type: text/x-python
File size: 5952 byte(s)
Thuban/UI/about.py: Added Didrik Pinte as contributor. Extended
	  copyright range to include 2006.

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

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26