by
Changes to 3 files · Browse files at 0b4a847aa290 Showing diff from parent 6e5456755ad9 f931a576adff Diff from another changeset...
@@ -133,6 +133,19 @@ else:
parent = self.repo[-1]
+ oldother = hasattr(self, 'otherparent') and self.otherparent or None
+ self.otherparent = len(parents) == 2 and self.diff_other_parent()
+
+ # refresh merge row without graph redrawing
+ if self.graphview:
+ gview = self.graphview
+ if oldother:
+ gview.model.clear_parents()
+ elif self.otherparent:
+ gview.model.set_parent(ctx.rev(), parent)
+ gview.hide()
+ gview.show()
+
# update dialog title
self.set_title(title)
|
@@ -51,8 +51,8 @@ self.origtip = opts['orig-tip']
self.npreviews = opts['npreviews']
self.showgraph = opts['show-graph']
- self.revisions = {}
self.graphdata = graphdata
+ self.revisions, self.parents = {}, {}
self.wcparents, self.tagrevs, self.branchtags = [], [], {}
self.refresh()
@@ -83,6 +83,11 @@ if rev in self.revisions:
del self.revisions[rev]
+ self.mqpatches = []
+ if hasattr(self.repo, 'mq'):
+ self.repo.mq.parse_series()
+ self.mqpatches = [p.name for p in self.repo.mq.applied]
+
def on_get_flags(self):
return gtk.TREE_MODEL_LIST_ONLY
@@ -173,9 +178,12 @@ tstr = ''
for tag in tags:
if tag not in self.hidetags:
- style = {'color':'black', 'background':gtklib.PYELLOW}
+ bg = gtklib.PYELLOW
if tag == self.curbookmark:
- style['background'] = gtklib.PORANGE
+ bg = gtklib.PORANGE
+ elif tag in self.mqpatches:
+ bg = gtklib.PBLUE
+ style = {'color': 'black', 'background': bg}
tstr += gtklib.markup(' %s ' % tag, **style) + ' '
branch = ctx.branch()
@@ -212,7 +220,10 @@ # new
status += 2
- M, A, R = self.repo.status(ctx.parents()[0].node(), ctx.node())[:3]
+ parent = self.parents.get(revid, None)
+ if parent is None:
+ parent = ctx.parents()[0].node()
+ M, A, R = self.repo.status(parent, ctx.node())[:3]
common = dict(color='black')
M = M and gtklib.markup(' %s ' % len(M),
background=gtklib.PORANGE, **common) or ''
@@ -291,3 +302,13 @@ self.color_cache[author] = color
return self.color_cache[author]
+ def set_parent(self, rev, parent):
+ self.parents[rev] = parent
+ if rev in self.revisions:
+ del self.revisions[rev]
+
+ def clear_parents(self):
+ for rev in self.parents.keys():
+ if rev in self.revisions:
+ del self.revisions[rev]
+ self.parents = {}
|
@@ -517,7 +517,7 @@ col.add_attribute(cell, "foreground", treemodel.FGCOLOR)
cell = gtk.CellRendererText()
- cell.set_property("width-chars", 10)
+ cell.set_property("width-chars", 16)
cell.set_property("ellipsize", pango.ELLIPSIZE_END)
col = self.tvcolumns['age'] = gtk.TreeViewColumn(_('Age'))
col.set_visible(True)
|
Loading...