/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to about.py

  • Committer: Jelmer Vernooij
  • Date: 2006-05-19 16:56:46 UTC
  • mfrom: (0.1.25 gannotate)
  • Revision ID: jelmer@samba.org-20060519165646-0d867938fdbc9097
Merge in Dan Loda's gannotate plugin and put it in annotate/

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
 
23
 
import bzrlib
24
 
import gtk
25
 
import os
26
 
from bzrlib.branch import Branch
27
 
from bzrlib.errors import NotBranchError, NoRepositoryPresent
28
 
from bzrlib.trace import mutter
29
 
 
30
 
from bzrlib.plugins.gtk import data_path, icon_path
31
 
 
32
 
 
33
 
def read_license():
34
 
    license_paths = [data_path("COPYING"), "/usr/share/common-licenses/GPL-2"]
35
 
    for license_file in license_paths:
36
 
        if license_file is not None and os.path.exists(license_file):
37
 
            return file(license_file).read()
38
 
    # Fall back to just license name if we can't find the file
39
 
    return "GPLv2 or later"
40
 
 
41
 
 
42
 
def load_credits():
43
 
    import pickle
44
 
    try:
45
 
        credits = pickle.load(file(data_path("credits.pickle")))
46
 
    except IOError:
47
 
        credits = None
48
 
    return credits
49
 
 
50
 
 
51
 
class AboutDialog(gtk.AboutDialog):
52
 
    def __init__(self):
53
 
        super(AboutDialog, self).__init__()
54
 
        self.set_name("Bazaar GTK")
55
 
        self.set_version(bzrlib.plugins.gtk.version_string)
56
 
        self.set_website("http://bazaar-vcs.org/BzrGtk")
57
 
        self.set_license(read_license())
58
 
        self.set_logo(gtk.gdk.pixbuf_new_from_file(icon_path("bzr-icon-64.png")))
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))
66
 
        self.connect ("response", lambda d, r: d.destroy())
67
 
 
68