bzr branch
http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz
| 
221
by Jelmer Vernooij
 Add simple about dialog.  | 
1  | 
# Copyright (C) 2007 by Jelmer Vernooij <jelmer@samba.org>
 | 
2  | 
#
 | 
|
3  | 
# This program is free software; you can redistribute it and/or modify
 | 
|
4  | 
# it under the terms of the GNU General Public License as published by
 | 
|
5  | 
# the Free Software Foundation; either version 2 of the License, or
 | 
|
6  | 
# (at your option) any later version.
 | 
|
7  | 
#
 | 
|
8  | 
# This program is distributed in the hope that it will be useful,
 | 
|
9  | 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|
10  | 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
|
11  | 
# GNU General Public License for more details.
 | 
|
12  | 
#
 | 
|
13  | 
# You should have received a copy of the GNU General Public License
 | 
|
14  | 
# along with this program; if not, write to the Free Software
 | 
|
15  | 
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
|
16  | 
||
17  | 
try:  | 
|
18  | 
import pygtk  | 
|
19  | 
pygtk.require("2.0")  | 
|
20  | 
except:  | 
|
21  | 
    pass
 | 
|
22  | 
||
| 
247
by Jelmer Vernooij
 Use application path to find icons.  | 
23  | 
import bzrlib  | 
| 
221
by Jelmer Vernooij
 Add simple about dialog.  | 
24  | 
import gtk  | 
| 
247
by Jelmer Vernooij
 Use application path to find icons.  | 
25  | 
import os  | 
| 
511.3.2
by Jelmer Vernooij
 Show the credits of those who contributed in the About dialog.  | 
26  | 
from bzrlib.branch import Branch  | 
27  | 
from bzrlib.errors import NotBranchError, NoRepositoryPresent  | 
|
28  | 
from bzrlib.trace import mutter  | 
|
29  | 
||
| 
531.6.1
by Jelmer Vernooij
 Try harder to find license and credits files.  | 
30  | 
from bzrlib.plugins.gtk import data_path, icon_path  | 
| 
221
by Jelmer Vernooij
 Add simple about dialog.  | 
31  | 
|
| 
511.3.1
by Jelmer Vernooij
 Show full license details in about dialog.  | 
32  | 
|
33  | 
def read_license():  | 
|
| 
531.6.1
by Jelmer Vernooij
 Try harder to find license and credits files.  | 
34  | 
license_paths = [data_path("COPYING"), "/usr/share/common-licenses/GPL-2"]  | 
35  | 
for license_file in license_paths:  | 
|
| 
553.1.2
by Jelmer Vernooij
 Fix license path finding.  | 
36  | 
if license_file is not None and os.path.exists(license_file):  | 
| 
531.6.1
by Jelmer Vernooij
 Try harder to find license and credits files.  | 
37  | 
return file(license_file).read()  | 
| 
511.3.1
by Jelmer Vernooij
 Show full license details in about dialog.  | 
38  | 
    # Fall back to just license name if we can't find the file
 | 
39  | 
return "GPLv2 or later"  | 
|
40  | 
||
41  | 
||
| 
511.3.2
by Jelmer Vernooij
 Show the credits of those who contributed in the About dialog.  | 
42  | 
def load_credits():  | 
43  | 
import pickle  | 
|
44  | 
try:  | 
|
| 
531.6.1
by Jelmer Vernooij
 Try harder to find license and credits files.  | 
45  | 
credits = pickle.load(file(data_path("credits.pickle")))  | 
| 
511.3.2
by Jelmer Vernooij
 Show the credits of those who contributed in the About dialog.  | 
46  | 
except IOError:  | 
47  | 
credits = None  | 
|
48  | 
return credits  | 
|
49  | 
||
50  | 
||
| 
221
by Jelmer Vernooij
 Add simple about dialog.  | 
51  | 
class AboutDialog(gtk.AboutDialog):  | 
52  | 
def __init__(self):  | 
|
53  | 
super(AboutDialog, self).__init__()  | 
|
| 
423.9.2
by Daniel Schierbeck
 Made the About dialog show bzr-gtk information instead of Bazaar information.  | 
54  | 
self.set_name("Bazaar GTK")  | 
55  | 
self.set_version(bzrlib.plugins.gtk.version_string)  | 
|
| 
423.9.3
by Daniel Schierbeck
 Changed About dialog URL, reverted change to license dialog.  | 
56  | 
self.set_website("http://bazaar-vcs.org/BzrGtk")  | 
| 
511.3.1
by Jelmer Vernooij
 Show full license details in about dialog.  | 
57  | 
self.set_license(read_license())  | 
58  | 
self.set_logo(gtk.gdk.pixbuf_new_from_file(icon_path("bzr-icon-64.png")))  | 
|
| 
511.3.2
by Jelmer Vernooij
 Show the credits of those who contributed in the About dialog.  | 
59  | 
credits = load_credits()  | 
60  | 
if credits is not None:  | 
|
61  | 
(authors, documenters, artists, translators) = credits  | 
|
62  | 
self.set_authors(authors)  | 
|
63  | 
self.set_documenters(documenters)  | 
|
64  | 
self.set_artists(artists)  | 
|
65  | 
self.set_translator_credits("\n".join(translators))  | 
|
| 
221
by Jelmer Vernooij
 Add simple about dialog.  | 
66  | 
self.connect ("response", lambda d, r: d.destroy())  | 
67  | 
||
| 
511.3.1
by Jelmer Vernooij
 Show full license details in about dialog.  | 
68  |