/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 __init__.py

  • Committer: Jelmer Vernooij
  • Date: 2011-04-06 14:53:44 UTC
  • Revision ID: jelmer@samba.org-20110406145344-m6s0i7q7ssjwhmwq
Support use without gtk.Spinner, which is only available in pygtk >= 2.22.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
"""Graphical support for Bazaar using GTK.
16
16
 
17
17
This plugin includes:
18
 
gannotate         GTK+ annotate. 
19
 
gbranch           GTK+ branching. 
20
 
gcheckout         GTK+ checkout. 
 
18
gannotate         GTK+ annotate.
 
19
gbranch           GTK+ branching.
 
20
gcheckout         GTK+ checkout.
21
21
gcommit           GTK+ commit dialog.
22
 
gconflicts        GTK+ conflicts. 
23
 
gdiff             Show differences in working tree in a GTK+ Window. 
 
22
gconflicts        GTK+ conflicts.
 
23
gdiff             Show differences in working tree in a GTK+ Window.
24
24
ginit             Initialise a new branch.
25
 
ginfo             GTK+ branch info dialog
26
25
gloom             GTK+ loom browse dialog
27
26
gmerge            GTK+ merge dialog
28
 
gmissing          GTK+ missing revisions dialog. 
29
 
gpreferences      GTK+ preferences dialog. 
 
27
gmissing          GTK+ missing revisions dialog.
 
28
gpreferences      GTK+ preferences dialog.
30
29
gpush             GTK+ push.
31
30
gsend             GTK+ send merge directive.
32
31
gstatus           GTK+ status dialog.
33
32
gtags             Manage branch tags.
34
 
visualise         Graphically visualise this branch. 
 
33
visualise         Graphically visualise this branch.
35
34
"""
36
35
 
37
36
import os
59
58
    )
60
59
from bzrlib.commands import plugin_cmds
61
60
 
 
61
from info import (
 
62
    bzr_plugin_version as version_info,
 
63
    bzr_compatible_versions,
 
64
    )
 
65
from gettext import (
 
66
    gettext,
 
67
    textdomain,
 
68
    bindtextdomain,
 
69
    bind_textdomain_codeset,
 
70
    )
62
71
 
63
 
version_info = (0, 99, 0, 'dev', 1)
 
72
# FIXME: We should find out LOCALEDIR at compile or run time. The current
 
73
# hardcoded path will work for most distributions, but not for e.g. Solaris and
 
74
# Windows
 
75
GETTEXT_PACKAGE = 'bzr-gtk'
 
76
LOCALEDIR = '/usr/share/locale'
 
77
bindtextdomain(GETTEXT_PACKAGE, LOCALEDIR)
 
78
bind_textdomain_codeset(GETTEXT_PACKAGE, 'UTF-8')
 
79
textdomain(GETTEXT_PACKAGE)
64
80
 
65
81
if version_info[3] == 'final':
66
82
    version_string = '%d.%d.%d' % version_info[:3]
68
84
    version_string = '%d.%d.%d%s%d' % version_info
69
85
__version__ = version_string
70
86
 
71
 
COMPATIBLE_BZR_VERSIONS = [(1, 6, 0), (1, 7, 0), (1, 8, 0), (1, 9, 0),
72
 
                           (1, 10, 0), (1, 11, 0), (1, 12, 0), (1, 13, 0),
73
 
                           (1, 15, 0),
74
 
                           (1, 17, 0),
75
 
                           (2, 1, 0),
76
 
                           (2, 2, 0),
77
 
                           ]
78
 
 
79
 
bzrlib.api.require_any_api(bzrlib, COMPATIBLE_BZR_VERSIONS)
 
87
bzrlib.api.require_any_api(bzrlib, bzr_compatible_versions)
80
88
 
81
89
if __name__ != 'bzrlib.plugins.gtk':
82
90
    from bzrlib.trace import warning
116
124
    return data_path(os.path.join('icons', *args))
117
125
 
118
126
 
119
 
def open_display():
120
 
    pygtk = import_pygtk()
121
 
    try:
122
 
        import gtk
123
 
    except RuntimeError, e:
124
 
        if str(e) == "could not open display":
125
 
            raise NoDisplayError
126
 
    set_ui_factory()
127
 
    return gtk
128
 
 
129
 
 
130
127
commands = {
131
128
    "gannotate": ["gblame", "gpraise"],
132
129
    "gbranch": [],
135
132
    "gconflicts": [],
136
133
    "gdiff": [],
137
134
    "ginit": [],
138
 
    "ginfo": [],
139
135
    "gmerge": [],
140
136
    "gmissing": [],
141
137
    "gpreferences": [],
142
138
    "gpush": [],
143
 
    "gselftest": [],
144
139
    "gsend": [],
145
140
    "gstatus": ["gst"],
146
141
    "gtags": [],
166
161
                                       save_commit_messages,
167
162
                                       "Saving commit messages for gcommit")
168
163
 
169
 
import gettext
170
 
gettext.install('olive-gtk')
171
 
 
172
 
# Let's create a specialized alias to protect '_' from being erased by other
173
 
# uses of '_' as an anonymous variable (think pdb for one).
174
 
_i18n = gettext.gettext
175
 
 
176
 
class NoDisplayError(errors.BzrCommandError):
177
 
    """gtk could not find a proper display"""
178
 
 
179
 
    def __str__(self):
180
 
        return "No DISPLAY. Unable to run GTK+ application."
181
 
 
182
 
 
183
164
credential_store_registry = getattr(config, "credential_store_registry", None)
184
165
if credential_store_registry is not None:
185
166
    try:
212
193
            reload(sys)
213
194
            sys.setdefaultencoding(default_encoding)
214
195
    return basic_tests
 
196
 
 
197
 
 
198
def _i18n(text):
 
199
    return gettext(text)