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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2335 - (show annotations)
Wed Aug 11 08:09:44 2004 UTC (20 years, 6 months ago) by silke
File MIME type: text/x-python
File size: 4835 byte(s)
Small changes to encoding related stuff to avoid too many and too enhanced
imports of locale

1 # Copyright (c) 2001, 2002, 2003, 2004 by Intevation GmbH
2 # Authors:
3 # Jonathan Coles <[email protected]>
4 # Bernhard Reiter <[email protected]>
5 #
6 # This program is free software under the GPL (>=v2)
7 # Read the file COPYING coming with Thuban for details.
8
9 """The About Box"""
10
11 __version__ = "$Revision$"
12 # $Source$
13 # $Id$
14
15 from wxPython.wx import *
16
17 from Thuban import _
18 from Thuban.version import versions
19 from Thuban.Model.resource import gdal_support_status
20
21 class About(wxDialog):
22
23 def __init__(self, parent):
24 wxDialog.__init__(self, parent, -1, _("About Thuban"),
25 style = wxDEFAULT_DIALOG_STYLE
26 | wxSYSTEM_MENU
27 | wxMINIMIZE_BOX
28 | wxMAXIMIZE_BOX
29 | wxRESIZE_BORDER,
30 size = (400, 250))
31
32 # Note: The source code is in ASCII, so we escape some
33 # characters to get byte strings in latin1.
34 lead_developer = 'Bernhard Herzog'
35 developers = [ 'Jonathan Coles', 'Frank Koormann',
36 unicodeToLocale(u'Martin M\xfcller'), 'Jan-Oliver Wagner' ]
37 translators = [ ( _('French'), 'Daniel Calvelo Aros' ),
38 ( _('German'), unicodeToLocale(u'Bj\xf6rn Broscheit')),
39 ( _('Italian'), 'Maurizio Napolitano'),
40 ( _('Portuguese (Brazilian)'), 'Eduardo Patto Kanegae'),
41 ( _('Russian'), 'Alex Shevlakov'),
42 ( _('Spanish'), 'Daniel Calvelo Aros') ]
43 other_contributors = [ 'Jonathan Byron', 'Silke Reimer',
44 'Bernhard Reiter' ]
45 dyn_modules = [ ('wxPython', versions['wxPython']),
46 ('Python', versions['python']),
47 ('PySQLite', versions['pysqlite']),
48 ('SQLite', versions['sqlite']),
49 ('GDAL', versions.get('gdal', _('- not available'))),
50 ('psycopg', versions.get('psycopg',
51 _('- not available')))]
52 direct_modules = [ \
53 ('GTK', versions.get('gtk', _('- not available'))),
54 ('proj', versions['proj']) ]
55
56 text = 'Thuban %s\n\n' % versions['thuban-long']
57
58 text += _('Currently using:\n')
59
60 for name, version in dyn_modules:
61 text+= '\t%s %s\n' % (name, version)
62 text += '\n'
63
64 if gdal_support_status:
65 text += gdal_support_status + "\n\n"
66
67 text += _('Compiled for:\n')
68
69 for name, version in direct_modules:
70 text+= '\t%s %s\n' % (name, version)
71 text += '\n'
72
73 text += _('Lead Developer:\n')
74 text += '\t%s\n\n' % lead_developer
75
76 text += _('Developers:\n')
77 for name in developers:
78 text += '\t%s\n' % name
79 text += '\n'
80
81 text += _('Translators:\n')
82 for lang, name in translators:
83 text += '\t%s: %s\n' % (lang, name)
84 text += '\n'
85
86 text += _('Other Contributors:\n')
87 for name in other_contributors:
88 text += '\t%s\n' % name
89 text += '\n'
90
91 text += \
92 _("Questions and comments can be sent to the following addresses:\n"
93 "\tGeneral list (public):\n\t\t<[email protected]>\n"
94 "\tDevelopers list (public):\n\t\t<[email protected]>\n"
95 "\tThuban team at Intevation:\n\t\t<[email protected]>\n"
96 )
97
98 self.text = text
99
100 text_title = wxStaticText(self, -1,
101 _("Thuban is a program for exploring geographic data.\n\n") +
102 "Copyright 2001-2004 Intevation GmbH.\n" +
103 _("Thuban is licensed under the GNU GPL"),
104 style=wxST_NO_AUTORESIZE|wxALIGN_CENTRE)
105
106 textBox = wxTextCtrl(self, -1, text,
107 style=wxTE_READONLY|wxTE_MULTILINE|wxTE_LINEWRAP)
108 w, h = (300, 150)
109 textBox.SetSizeHints(w, h)
110 textBox.SetSize((w, h))
111
112 button_close = wxButton(self, wxID_CANCEL, _("Close"))
113 button_close.SetDefault()
114
115 sizer = wxBoxSizer(wxVERTICAL)
116 sizer.Add(text_title, 0, wxALL|wxEXPAND|wxADJUST_MINSIZE, 10)
117 sizer.Add(textBox, 1, wxALL|wxEXPAND, 10)
118 sizer.Add(button_close, 0, wxALL|wxALIGN_RIGHT, 10)
119
120 self.SetAutoLayout(True)
121 self.SetSizer(sizer)
122 sizer.Fit(self)
123 sizer.SetSizeHints(self)
124 self.Layout()
125
126 EVT_BUTTON(self, wxID_CANCEL, self.OnCancel)
127
128 def OnCancel(self, event):
129 self.EndModal(wxID_CANCEL)
130
131
132 def unicodeToLocale(unicodeStr):
133 " Function to convert a unicode object to an object \ in the user's locale encoding"
134
135
136 from locale import getlocale
137
138 return unicodeStr.encode(getlocale()[1])
139

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26