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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1631 by bh, Fri Aug 22 16:01:14 2003 UTC revision 2825 by bernhard, Thu Jan 31 13:58:23 2008 UTC
# Line 1  Line 1 
1  # Copyright (c) 2001, 2002, 2003 by Intevation GmbH  # Copyright (c) 2001-2007 by Intevation GmbH
2    # vim: set fileencoding=ISO-8859-15 :
3  # Authors:  # Authors:
4  # Jonathan Coles <[email protected]>  # Jonathan Coles <[email protected]>
5    # Bernhard Reiter <[email protected]>
6    # Silke Reimer <[email protected]>
7  #  #
8  # This program is free software under the GPL (>=v2)  # This program is free software under the GPL (>=v2)
9  # Read the file COPYING coming with Thuban for details.  # Read the file COPYING coming with Thuban for details.
# Line 11  __version__ = "$Revision$" Line 14  __version__ = "$Revision$"
14  # $Source$  # $Source$
15  # $Id$  # $Id$
16    
17  from wxPython.wx import *  import wx
18    
19  from Thuban import _  from Thuban import _, internal_from_unicode, get_internal_encoding
20  from Thuban.version import versions  from Thuban.version import versions
21    from Thuban.Model.resource import gdal_support_status
22    
23  class About(wxDialog):  from Thuban.UI.extensionregistry import ext_registry
24    
25    class About(wx.Dialog):
26    
27      def __init__(self, parent):      def __init__(self, parent):
28          wxDialog.__init__(self, parent, -1, _("About Thuban"),          wx.Dialog.__init__(self, parent, -1, _("About Thuban"),
29              style = wxDEFAULT_DIALOG_STYLE              style = wx.DEFAULT_DIALOG_STYLE
30                    | wxSYSTEM_MENU                    | wx.SYSTEM_MENU
31                    | wxMINIMIZE_BOX                    | wx.MINIMIZE_BOX
32                    | wxMAXIMIZE_BOX                    | wx.MAXIMIZE_BOX
33                    | wxRESIZE_BORDER,                    | wx.RESIZE_BORDER,
34              size = (400, 250))              size = (400, 250))
35    
36          lead_developer = 'Bernhard Herzog'          # Note: The source code is in ASCII, so we escape some
37          developers = [ 'Jonathan Coles', 'Frank Koormann',          # characters to get byte strings in latin1.
38                         'Martin M�ller', 'Jan-Oliver Wagner' ]          maintainers = [ 'Bernhard Reiter (2006 - current)',
39          translators = [ ( _('French'), 'Daniel Calvelo Aros' ),                          'Bernhard Herzog (2001 - 2005)' ]
40                          ( _('German'), 'Bj�rn Broscheit'),          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            translators = [ ( _('French'), 'Daniel Calvelo Aros, Didrik Pinte' ),
48                            ( _('German'),
49                            internal_from_unicode(u'Bj\xf6rn Broscheit (2003)') +
50                                ', Bernhard Reiter') ,
51                            ( _('Hungarian'), 'Norbert Solymosi'),
52                          ( _('Italian'), 'Maurizio Napolitano'),                          ( _('Italian'), 'Maurizio Napolitano'),
53                            ( _('Portuguese (Brazilian)'), 'Eduardo Patto Kanegae'),
54                          ( _('Russian'), 'Alex Shevlakov'),                          ( _('Russian'), 'Alex Shevlakov'),
55                          ( _('Spanish'), 'Daniel Calvelo Aros') ]                          ( _('Spanish'), 'Daniel Calvelo Aros'),
56          other_contributors = [ 'Jonathan Byron', 'Silke Reimer',                          ( _('Czech'), 'Jachym Cepicky') ]
57                                 'Bernhard Reiter' ]          other_contributors = [ 'Jonathan Byron (2004)',
58                                   'Ole Rahn (2004)',
59                                   'Silke Reimer (2003, 2004)',
60                                   'Martin "Joey" Schulze (2004, 2005)' ]
61          dyn_modules = [ ('wxPython', versions['wxPython']),          dyn_modules = [ ('wxPython', versions['wxPython']),
62                          ('Python',   versions['python']),                          ('Python',   versions['python']),
63                          ('PySQLite', versions['pysqlite']),                          ('PySQLite', versions['pysqlite']),
# Line 56  class About(wxDialog): Line 77  class About(wxDialog):
77              text+= '\t%s %s\n' % (name, version)              text+= '\t%s %s\n' % (name, version)
78          text += '\n'          text += '\n'
79    
80            text += _('\tInternal encoding: %s\n') % get_internal_encoding()
81            text += '\n'
82    
83            if gdal_support_status:
84                text += gdal_support_status + "\n\n"
85    
86          text += _('Compiled for:\n')          text += _('Compiled for:\n')
87    
88          for name, version in direct_modules:          for name, version in direct_modules:
89              text+= '\t%s %s\n' % (name, version)              text+= '\t%s %s\n' % (name, version)
90          text += '\n'          text += '\n'
91    
92            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            text += _('Maintainers:\n')
101            for name in maintainers:
102                text += '\t%s\n' % name
103            text += '\n'
104    
105          text += _('Lead Developer:\n')          text += _('Lead Developer:\n')
106          text += '\t%s\n\n' % lead_developer          text += '\t%s\n\n' % lead_developer
107    
# Line 82  class About(wxDialog): Line 122  class About(wxDialog):
122    
123          text += \          text += \
124              _("Questions and comments can be sent to the following addresses:\n"              _("Questions and comments can be sent to the following addresses:\n"
125              "\tThuban developers:\n\t\t<[email protected]>\n"              "\tGeneral list (public):\n\t\t<[email protected]>\n"
126              "\tThuban mailing list:\n\t\t<[email protected]>")              "\tDevelopers list (public):\n\t\t<[email protected]>\n"
127                "\tThuban team at Intevation:\n\t\t<[email protected]>\n"
128                )
129    
130            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                    text += '\n'
143                    text += 'Status: %s' % ext.status
144                    text += '\n\n'
145            else:
146                text += _('\tNone registered.\n')
147    
148          self.text = text          self.text = text
149    
150          text_title = wxStaticText(self, -1,          text_title = wx.StaticText(self, -1,
151              _("Thuban is a program for exploring geographic data.\n\n") +              _("Thuban is a program for exploring geographic data.\n\n") +
152              "Copyright 2001-2003 Intevation GmbH.\n" +              "Copyright 2001-2008 Intevation GmbH.\n" +
153              _("Thuban is licensed under the GNU GPL"),              _("Thuban is licensed under the GNU GPL v>=2"),
154                                    style=wxST_NO_AUTORESIZE|wxALIGN_CENTRE)                                    style=wx.ST_NO_AUTORESIZE|wx.ALIGN_CENTRE)
155    
156          textBox = wxTextCtrl(self, -1, text,          textBox = wx.TextCtrl(self, -1, text,
157              style=wxTE_READONLY|wxTE_MULTILINE|wxTE_LINEWRAP)              style=wx.TE_READONLY|wx.TE_MULTILINE|wx.TE_LINEWRAP)
158          w, h = (300, 150)          w, h = (300, 150)
159          textBox.SetSizeHints(w, h)          textBox.SetSizeHints(w, h)
160          textBox.SetSize((w, h))          textBox.SetSize((w, h))
161    
162          button_close = wxButton(self, wxID_CANCEL, _("Close"))          button_close = wx.Button(self, wx.ID_CANCEL, _("Close"))
163          button_close.SetDefault()          button_close.SetDefault()
164    
165          sizer = wxBoxSizer(wxVERTICAL)          sizer = wx.BoxSizer(wx.VERTICAL)
166          sizer.Add(text_title, 0, wxALL|wxEXPAND|wxADJUST_MINSIZE, 10)          sizer.Add(text_title, 0, wx.ALL|wx.EXPAND|wx.ADJUST_MINSIZE, 10)
167          sizer.Add(textBox, 1, wxALL|wxEXPAND, 10)          sizer.Add(textBox, 1, wx.ALL|wx.EXPAND, 10)
168          sizer.Add(button_close, 0, wxALL|wxALIGN_RIGHT, 10)          sizer.Add(button_close, 0, wx.ALL|wx.ALIGN_RIGHT, 10)
169    
170          self.SetAutoLayout(True)          self.SetAutoLayout(True)
171          self.SetSizer(sizer)          self.SetSizer(sizer)
# Line 113  class About(wxDialog): Line 173  class About(wxDialog):
173          sizer.SetSizeHints(self)          sizer.SetSizeHints(self)
174          self.Layout()          self.Layout()
175    
176          EVT_BUTTON(self, wxID_CANCEL, self.OnCancel)          self.Bind(wx.EVT_BUTTON, self.OnCancel, id=wx.ID_CANCEL)
177    
178      def OnCancel(self, event):      def OnCancel(self, event):
179          self.EndModal(wxID_CANCEL)          self.EndModal(wx.ID_CANCEL)
   
   

Legend:
Removed from v.1631  
changed lines
  Added in v.2825

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26