/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: Szilveszter Farkas (Phanatic)
  • Date: 2008-03-03 17:24:22 UTC
  • mto: This revision was merged to the branch mainline in revision 435.
  • Revision ID: szilveszter.farkas@gmail.com-20080303172422-y1u0gg7kyirrxuun
Installing an olive package is pretty useless. (Fixed: #136432)

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
from bzrlib.revision import NULL_REVISION, CURRENT_REVISION
29
29
 
30
30
from colormap import AnnotateColorMap, AnnotateColorSaturation
31
 
from bzrlib.plugins.gtk.logview import LogView
 
31
from bzrlib.plugins.gtk.revisionview import RevisionView
 
32
from bzrlib.plugins.gtk.window import Window
32
33
 
33
34
 
34
35
(
41
42
) = range(6)
42
43
 
43
44
 
44
 
class GAnnotateWindow(gtk.Window):
 
45
class GAnnotateWindow(Window):
45
46
    """Annotate window."""
46
47
 
47
 
    def __init__(self, all=False, plain=False):
 
48
    def __init__(self, all=False, plain=False, parent=None):
48
49
        self.all = all
49
50
        self.plain = plain
50
51
        
51
 
        gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
 
52
        Window.__init__(self, parent)
52
53
        
53
54
        self.set_icon(self.render_icon(gtk.STOCK_FIND, gtk.ICON_SIZE_BUTTON))
54
55
        self.annotate_colormap = AnnotateColorSaturation()
63
64
        self.branch = branch
64
65
        self.tree = tree
65
66
        self.file_id = file_id
 
67
        self.revisionview.set_file_id(file_id)
66
68
        self.revision_id = getattr(tree, 'get_revision_id', 
67
69
                                   lambda: CURRENT_REVISION)()
68
70
        
69
 
        # [revision id, line number, committer, revno, highlight color, line]
 
71
        # [revision id, line number, author, revno, highlight color, line]
70
72
        self.annomodel = gtk.ListStore(gobject.TYPE_STRING,
71
73
                                       gobject.TYPE_STRING,
72
74
                                       gobject.TYPE_STRING,
81
83
            for line_no, (revision, revno, line)\
82
84
                    in enumerate(self._annotate(tree, file_id)):
83
85
                if revision.revision_id == last_seen and not self.all:
84
 
                    revno = committer = ""
 
86
                    revno = author = ""
85
87
                else:
86
88
                    last_seen = revision.revision_id
87
 
                    committer = revision.committer
 
89
                    author = revision.get_apparent_author()
88
90
 
89
91
                if revision.revision_id not in self.revisions:
90
92
                    self.revisions[revision.revision_id] = revision
91
93
 
92
94
                self.annomodel.append([revision.revision_id,
93
95
                                       line_no + 1,
94
 
                                       committer,
 
96
                                       author,
95
97
                                       revno,
96
98
                                       None,
97
99
                                       line.rstrip("\r\n")
184
186
        if rev_id is None:
185
187
            return
186
188
        selected = self.revisions[rev_id]
187
 
        self.logview.set_revision(selected)
 
189
        self.revisionview.set_revision(selected)
188
190
        if (len(selected.parent_ids) != 0 and selected.parent_ids[0] not in
189
191
            self._no_back):
190
192
            enable_back = True
193
195
        self.back_button.set_sensitive(enable_back)
194
196
 
195
197
    def _create(self):
196
 
        self.logview = self._create_log_view()
 
198
        self.revisionview = self._create_log_view()
197
199
        self.annoview = self._create_annotate_view()
198
200
 
199
201
        vbox = gtk.VBox(False)
220
222
        
221
223
        self.pane = pane = gtk.VPaned()
222
224
        pane.add1(swbox)
223
 
        pane.add2(self.logview)
 
225
        pane.add2(self.revisionview)
224
226
        pane.show()
225
227
        vbox.pack_start(pane, expand=True, fill=True)
226
228
 
324
326
        return tv
325
327
 
326
328
    def _create_log_view(self):
327
 
        lv = LogView()
 
329
        lv = RevisionView()
328
330
        lv.show()
329
331
        return lv
330
332
 
392
394
                return j - i
393
395
 
394
396
 
395
 
 
396
397
class FakeRevision:
397
398
    """ A fake revision.
398
399
 
408
409
        self.timezone = 0
409
410
        self.properties = {}
410
411
 
 
412
    def get_apparent_author(self):
 
413
        return self.committer
 
414
 
411
415
 
412
416
class RevisionCache(object):
413
417
    """A caching revision source"""