/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
734.1.1 by Curtis Hovey
Mechanical changes made by pygi.convert.sh.
17
from gi.repository import Gtk
734.1.25 by Curtis Hovey
Updated the pixbuf calls to gtk3.
18
from gi.repository import GdkPixbuf
247 by Jelmer Vernooij
Use application path to find icons.
19
import os
511.3.2 by Jelmer Vernooij
Show the credits of those who contributed in the About dialog.
20
724 by Jelmer Vernooij
Fix formatting, imports.
21
import bzrlib
22
23
from bzrlib.plugins.gtk import (
24
    data_path,
25
    icon_path,
26
    )
221 by Jelmer Vernooij
Add simple about dialog.
27
511.3.1 by Jelmer Vernooij
Show full license details in about dialog.
28
29
def read_license():
531.6.1 by Jelmer Vernooij
Try harder to find license and credits files.
30
    license_paths = [data_path("COPYING"), "/usr/share/common-licenses/GPL-2"]
31
    for license_file in license_paths:
553.1.2 by Jelmer Vernooij
Fix license path finding.
32
        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.
33
            return file(license_file).read()
511.3.1 by Jelmer Vernooij
Show full license details in about dialog.
34
    # Fall back to just license name if we can't find the file
35
    return "GPLv2 or later"
36
37
511.3.2 by Jelmer Vernooij
Show the credits of those who contributed in the About dialog.
38
def load_credits():
39
    import pickle
40
    try:
531.6.1 by Jelmer Vernooij
Try harder to find license and credits files.
41
        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.
42
    except IOError:
43
        credits = None
44
    return credits
45
46
734.1.1 by Curtis Hovey
Mechanical changes made by pygi.convert.sh.
47
class AboutDialog(Gtk.AboutDialog):
221 by Jelmer Vernooij
Add simple about dialog.
48
    def __init__(self):
49
        super(AboutDialog, self).__init__()
423.9.2 by Daniel Schierbeck
Made the About dialog show bzr-gtk information instead of Bazaar information.
50
        self.set_name("Bazaar GTK")
51
        self.set_version(bzrlib.plugins.gtk.version_string)
423.9.3 by Daniel Schierbeck
Changed About dialog URL, reverted change to license dialog.
52
        self.set_website("http://bazaar-vcs.org/BzrGtk")
511.3.1 by Jelmer Vernooij
Show full license details in about dialog.
53
        self.set_license(read_license())
734.1.1 by Curtis Hovey
Mechanical changes made by pygi.convert.sh.
54
        self.set_logo(GdkPixbuf.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.
55
        credits = load_credits()
56
        if credits is not None:
57
            (authors, documenters, artists, translators) = credits
58
            self.set_authors(authors)
59
            self.set_documenters(documenters)
60
            self.set_artists(artists)
61
            self.set_translator_credits("\n".join(translators))
221 by Jelmer Vernooij
Add simple about dialog.
62
        self.connect ("response", lambda d, r: d.destroy())
63
511.3.1 by Jelmer Vernooij
Show full license details in about dialog.
64