/[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 1305 by jonathan, Thu Jun 26 16:59:41 2003 UTC revision 2528 by bernhard, Thu Jan 20 13:14:14 2005 UTC
# Line 1  Line 1 
1  # Copyright (c) 2001, 2002, 2003 by Intevation GmbH  # Copyright (c) 2001, 2002, 2003, 2004 by Intevation GmbH
2  # Authors:  # Authors:
3  # Jonathan Coles <[email protected]>  # Jonathan Coles <[email protected]>
4    # Bernhard Reiter <[email protected]>
5    # Silke Reimer <[email protected]>
6  #  #
7  # This program is free software under the GPL (>=v2)  # This program is free software under the GPL (>=v2)
8  # Read the file COPYING coming with Thuban for details.  # Read the file COPYING coming with Thuban for details.
9    
10  from wxPython.wx import *  """The About Box"""
 #from wxPython.wx import __version__ as wxPython_version  
11    
12  from Thuban import _  __version__ = "$Revision$"
13  #import Thuban.version  # $Source$
14  from Thuban.version import versions  # $Id$
15    
16  #from sqlite import version as pysqlite_version  from wxPython.wx import *
 #from _sqlite import sqlite_version  
17    
18  #from wxproj import get_proj_version, get_gtk_version  from locale import getdefaultlocale
19    
20  #from  Thuban.Model.resource import has_gdal_support  from Thuban import _
21    from Thuban.version import versions
22    from Thuban.Model.resource import gdal_support_status
23    
24  #if has_gdal_support():  from Thuban.UI.extensionregistry import ext_registry
 #    from gdalwarp import get_gdal_version  
25    
26  class About(wxDialog):  class About(wxDialog):
27    
# Line 33  class About(wxDialog): Line 34  class About(wxDialog):
34                    | wxRESIZE_BORDER,                    | wxRESIZE_BORDER,
35              size = (400, 250))              size = (400, 250))
36    
37          #proj_ver = get_proj_version()          # Note: The source code is in ASCII, so we escape some
38          #if proj_ver:          # characters to get byte strings in latin1.
39              #proj_ver = "%d.%d.%d" % proj_ver          lead_developer = 'Bernhard Herzog'
40          #else:          developers = [ 'Jonathan Coles',
41              #proj_ver = " - not available"                         'Frank Koormann',
42                           unicodeToLocale(u'Martin M\xfcller'),
43          #gtk_ver = get_gtk_version()                         'Bernhard Reiter',
44          #if gtk_ver:                         'Jan-Oliver Wagner' ]
45              #gtk_ver = "%d.%d.%d" % gtk_ver          translators = [ ( _('French'), 'Daniel Calvelo Aros' ),
46          #else:                          ( _('German'), unicodeToLocale(u'Bj\xf6rn Broscheit')),
47              #gtk_ver = " - not available"                          ( _('Hungarian'), 'Norbert Solymosi'),
48                            ( _('Italian'), 'Maurizio Napolitano'),
49          text = _(#"Build Date: %s\n"                          ( _('Portuguese (Brazilian)'), 'Eduardo Patto Kanegae'),
50              "%s\n\n"                          ( _('Russian'), 'Alex Shevlakov'),
51              "Currently using:\n"                          ( _('Spanish'), 'Daniel Calvelo Aros') ]
52              "\t%s\n"          other_contributors = [ 'Jonathan Byron',
53              "\t%s\n"                                 'Ole Rahn',
54              "\t%s\n"                                 'Silke Reimer' ]
55              "\t%s\n"          dyn_modules = [ ('wxPython', versions['wxPython']),
56              "\t%s\n\n"                          ('Python',   versions['python']),
57              "Compiled against:\n"                          ('PySQLite', versions['pysqlite']),
58              "\t%s\n"                          ('SQLite',  versions['sqlite']),
59              "\t%s\n\n"                          ('GDAL', versions.get('gdal', _('- not available'))),
60              "Lead Developer:\n"                          ('psycopg', versions.get('psycopg',
61              "\tBernhard Herzog <[email protected]>\n\n"                                                   _('- not available')))]
62              "Developers:\n"          direct_modules = [ \
63              "\tJonathan Coles\n"                  ('GTK',      versions.get('gtk', _('- not available'))),
64              "\tFrank Koormann\n"                  ('proj',     versions['proj']) ]
65              "\tBernhard Reiter\n"  
66              "\tJan-Oliver Wagner\n\n"          text = 'Thuban %s\n\n' % versions['thuban-long']
67              "Contributors:\n"  
68              "\tJonathan Byron\n"          text += _('Currently using:\n')
69              "\tMartin M�ller"  
70              % ("Thuban %s"      % versions['thuban-long'],          for name, version in dyn_modules:
71                 "wxPython %s"    % versions['wxPython'],              text+= '\t%s %s\n' % (name, version)
72                 "Python %s"      % versions['python'],          text += '\n'
73                 "PySQLite %s"    % versions['pysqlite'],  
74                 "SQLite %s"      % versions['sqlite'],          if gdal_support_status:
75                 "GDAL %s"        % versions.get('gdal', " - not available"),              text += gdal_support_status + "\n\n"
76                 "GTK %s"         % versions.get('gtk', " - not available"),  
77                 "proj %s"        % versions['proj']))          text += _('Compiled for:\n')
78    
79            for name, version in direct_modules:
80                text+= '\t%s %s\n' % (name, version)
81            text += '\n'
82    
83            text += _('Extensions:\n')
84            if ext_registry:
85                for ext in ext_registry:
86                    text += '\t%s %s\n' % (ext.name, ext.version)
87            else:
88                text += _('\tNone registered.\n')
89            text += '\n'
90    
91            text += _('Lead Developer:\n')
92            text += '\t%s\n\n' % lead_developer
93    
94            text += _('Developers:\n')
95            for name in developers:
96                text += '\t%s\n' % name
97            text += '\n'
98    
99            text += _('Translators:\n')
100            for lang, name in translators:
101                text += '\t%s: %s\n' % (lang, name)
102            text += '\n'
103    
104            text += _('Other Contributors:\n')
105            for name in other_contributors:
106                text += '\t%s\n' % name
107            text += '\n'
108    
109            text += \
110                _("Questions and comments can be sent to the following addresses:\n"
111                "\tGeneral list (public):\n\t\t<[email protected]>\n"
112                "\tDevelopers list (public):\n\t\t<[email protected]>\n"
113                "\tThuban team at Intevation:\n\t\t<[email protected]>\n"
114                )
115    
116            text += '\n\n'
117    
118            text += _("Details on the registered extensions:\n\n")
119    
120            if ext_registry:
121                for ext in ext_registry:
122                    text += '%s %s:\n' % (ext.name, ext.version)
123                    text += _('Copyright %s\n') % ext.copyright
124                    text += _('Authors:\n')
125                    for author in ext.authors:
126                        text+= '\t%s\n' % author
127                    text += ext.desc
128                    text += '\n\n'
129            else:
130                text += _('\tNone registered.\n')
131    
132          self.text = text          self.text = text
133    
134          text_title = wxStaticText(self, -1,          text_title = wxStaticText(self, -1,
135              "Thuban is a program for exploring geographic data.\n\n"              _("Thuban is a program for exploring geographic data.\n\n") +
136              "Copyright 2001-2003 Intevation GmbH.\n"              "Copyright 2001-2004 Intevation GmbH.\n" +
137              "Thuban is licensed under the GNU GPL",              _("Thuban is licensed under the GNU GPL"),
138                                    style=wxST_NO_AUTORESIZE|wxALIGN_CENTRE)                                    style=wxST_NO_AUTORESIZE|wxALIGN_CENTRE)
139    
140          textBox = wxTextCtrl(self, -1, text,          textBox = wxTextCtrl(self, -1, text,
# Line 109  class About(wxDialog): Line 163  class About(wxDialog):
163          self.EndModal(wxID_CANCEL)          self.EndModal(wxID_CANCEL)
164    
165    
166    def unicodeToLocale(unicodeStr):
167        "Function to convert unicode to the user's locale encoding"
168        # Under a german windows 2000 getlocale returns an encoding name
169        # that's not direcly usable (it's missing a "cp" at the beginning).
170        # getdefaultlocale does return a usable encoding name so we use that
171        # instead.
172        locale=getdefaultlocale()[1]
173        if locale is None:
174            locale = 'ascii'
175        return unicodeStr.encode(locale,'replace')

Legend:
Removed from v.1305  
changed lines
  Added in v.2528

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26