/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 annotate/gannotate.py

  • Committer: Vincent Ladeuil
  • Date: 2008-05-05 18:16:46 UTC
  • mto: (487.1.1 gtk)
  • mto: This revision was merged to the branch mainline in revision 490.
  • Revision ID: v.ladeuil+lp@free.fr-20080505181646-n95l8ltw2u6jtr26
Fix bug #187283 fix replacing _() by _i18n().

* genpot.sh 
Remove duplication. Add the ability to specify the genrated pot
file on command-line for debugging purposes.

* po/olive-gtk.pot:
Regenerated.

* __init__.py, branch.py, branchview/treeview.py, checkout.py,
commit.py, conflicts.py, diff.py, errors.py, initialize.py,
merge.py, nautilus-bzr.py, olive/__init__.py, olive/add.py,
olive/bookmark.py, olive/guifiles.py, olive/info.py,
olive/menu.py, olive/mkdir.py, olive/move.py, olive/remove.py,
olive/rename.py, push.py, revbrowser.py, status.py, tags.py:
Replace all calls to _() by calls to _i18n(), the latter being
defined in __init__.py and imported in the other modules from
there. This fix the problem encountered countless times when
running bzr selftest and getting silly error messages about
boolean not being callables.

Show diffs side-by-side

added added

removed removed

Lines of Context:
80
80
        try:
81
81
            branch.lock_read()
82
82
            branch.repository.lock_read()
 
83
            self.dotted = {}
 
84
            revno_map = self.branch.get_revision_id_to_revno_map()
 
85
            for revision_id, revno in revno_map.iteritems():
 
86
                self.dotted[revision_id] = '.'.join(str(num) for num in revno)
83
87
            for line_no, (revision, revno, line)\
84
88
                    in enumerate(self._annotate(tree, file_id)):
85
89
                if revision.revision_id == last_seen and not self.all:
109
113
 
110
114
        self.annoview.set_model(self.annomodel)
111
115
        self.annoview.grab_focus()
 
116
        my_revno = self.dotted.get(self.revision_id, 'current')
 
117
        title = '%s (%s) - gannotate' % (self.tree.id2path(file_id), my_revno)
 
118
        self.set_title(title)
112
119
 
113
120
    def jump_to_line(self, lineno):
114
121
        if lineno > len(self.annomodel) or lineno < 1:
124
131
        self.annoview.set_cursor(row)
125
132
        self.annoview.scroll_to_cell(row, use_align=True)
126
133
 
127
 
    def _dotted_revnos(self, repository, revision_id):
128
 
        """Return a dict of revision_id -> dotted revno
129
 
        
130
 
        :param repository: The repository to get the graph from
131
 
        :param revision_id: The last revision for which this info is needed
132
 
        """
133
 
        graph = repository.get_revision_graph(revision_id)
134
 
        dotted = {}
135
 
        for n, revision_id, d, revno, e in tsort.merge_sort(graph, 
136
 
            revision_id, generate_revno=True):
137
 
            dotted[revision_id] = '.'.join(str(num) for num in revno)
138
 
        return dotted
139
134
 
140
135
    def _annotate(self, tree, file_id):
141
136
        current_revision = FakeRevision(CURRENT_REVISION)
150
145
            revision_id = self.branch.last_revision()
151
146
        else:
152
147
            revision_id = self.revision_id
153
 
        dotted = self._dotted_revnos(repository, revision_id)
154
148
        revision_cache = RevisionCache(repository, self.revisions)
155
149
        for origin, text in tree.annotate_iter(file_id):
156
150
            rev_id = origin
160
154
            else:
161
155
                try:
162
156
                    revision = revision_cache.get_revision(rev_id)
163
 
                    revno = dotted.get(rev_id, 'merge')
 
157
                    revno = self.dotted.get(rev_id, 'merge')
164
158
                    if len(revno) > 15:
165
159
                        revno = 'merge'
166
160
                except NoSuchRevision:
183
177
 
184
178
    def _activate_selected_revision(self, w):
185
179
        rev_id = self._selected_revision()
186
 
        if rev_id is None:
 
180
        if not rev_id or rev_id == NULL_REVISION:
187
181
            return
188
182
        selected = self.revisions[rev_id]
189
183
        self.revisionview.set_revision(selected)
247
241
        self._search.show_for('line')
248
242
        self._search.set_target(self.annoview, LINE_NUM_COL)
249
243
 
250
 
    def row_diff(self, tv, path, tvc):
 
244
    def line_diff(self, tv, path, tvc):
251
245
        row = path[0]
252
246
        revision = self.annotations[row]
253
247
        repository = self.branch.repository
262
256
                tree2 = repository.revision_tree(NULL_REVISION)
263
257
        from bzrlib.plugins.gtk.diff import DiffWindow
264
258
        window = DiffWindow()
265
 
        window.set_diff("Diff for row %d" % (row+1), tree1, tree2)
 
259
        window.set_diff("Diff for line %d" % (row+1), tree1, tree2)
266
260
        window.set_file(tree1.id2path(self.file_id))
267
261
        window.show()
268
262
 
272
266
        tv.set_rules_hint(False)
273
267
        tv.connect("cursor-changed", self._activate_selected_revision)
274
268
        tv.show()
275
 
        tv.connect("row-activated", self.row_diff)
 
269
        tv.connect("row-activated", self.line_diff)
276
270
 
277
271
        cell = gtk.CellRendererText()
278
272
        cell.set_property("xalign", 1.0)