/b-gtk/fix-viz

To get this branch, use:
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
399.1.19 by Jelmer Vernooij
Add utility function for finding icon paths.
30
from bzrlib.plugins.gtk import 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():
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
511.3.2 by Jelmer Vernooij
Show the credits of those who contributed in the About dialog.
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
49
221 by Jelmer Vernooij
Add simple about dialog.
50
class AboutDialog(gtk.AboutDialog):
51
    def __init__(self):
52
        super(AboutDialog, self).__init__()
423.9.2 by Daniel Schierbeck
Made the About dialog show bzr-gtk information instead of Bazaar information.
53
        self.set_name("Bazaar GTK")
54
        self.set_version(bzrlib.plugins.gtk.version_string)
423.9.3 by Daniel Schierbeck
Changed About dialog URL, reverted change to license dialog.
55
        self.set_website("http://bazaar-vcs.org/BzrGtk")
511.3.1 by Jelmer Vernooij
Show full license details in about dialog.
56
        self.set_license(read_license())
57
        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.
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))
221 by Jelmer Vernooij
Add simple about dialog.
65
        self.connect ("response", lambda d, r: d.destroy())
66
511.3.1 by Jelmer Vernooij
Show full license details in about dialog.
67