/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: 2008-06-28 20:24:16 UTC
  • mto: This revision was merged to the branch mainline in revision 517.
  • Revision ID: jelmer@samba.org-20080628202416-pvt4hkck3gqndine
Show the credits of those who contributed in the About dialog.

The credits are loaded from a pickle file that is generated by 
a new script, which uses the stats plugin to do the heavy lifting.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
import bzrlib
24
24
import gtk
25
25
import os
26
 
from bzrlib.plugins.gtk import data_path
 
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 icon_path
 
31
 
 
32
 
 
33
def read_license():
 
34
    license_file = os.path.join(os.path.dirname(__file__), "COPYING")
 
35
    if os.path.exists(license_file):
 
36
        return file(license_file).read()
 
37
    # Fall back to just license name if we can't find the file
 
38
    return "GPLv2 or later"
 
39
 
 
40
 
 
41
def load_credits():
 
42
    import pickle
 
43
    try:
 
44
        credits = pickle.load(file("credits.pickle"))
 
45
    except IOError:
 
46
        credits = None
 
47
    return credits
 
48
 
27
49
 
28
50
class AboutDialog(gtk.AboutDialog):
29
51
    def __init__(self):
31
53
        self.set_name("Bazaar GTK")
32
54
        self.set_version(bzrlib.plugins.gtk.version_string)
33
55
        self.set_website("http://bazaar-vcs.org/BzrGtk")
34
 
        self.set_license("GNU GPL v2")
35
 
        self.set_icon(gtk.gdk.pixbuf_new_from_file(os.path.join(data_path(), "bzr-icon-64.png")))
 
56
        self.set_license(read_license())
 
57
        self.set_logo(gtk.gdk.pixbuf_new_from_file(icon_path("bzr-icon-64.png")))
 
58
        credits = load_credits()
 
59
        if credits is not None:
 
60
            (authors, documenters, artists, translators) = credits
 
61
            self.set_authors(authors)
 
62
            self.set_documenters(documenters)
 
63
            self.set_artists(artists)
 
64
            self.set_translator_credits("\n".join(translators))
36
65
        self.connect ("response", lambda d, r: d.destroy())
37
66
 
 
67