Changeset fae93fb492a9…
Parent 15cf316bbf3c…
by
Changes to 3 files · Browse files at fae93fb492a9 Showing diff from parent 15cf316bbf3c Diff from another changeset...
@@ -73,7 +73,8 @@
def _synch_clicked(self, toolbutton, data):
from hggtk import synch
- dlg = synch.SynchDialog([], False)
+ dlg = synch.SynchDialog([], False, True)
+ dlg.set_notify_func(self.thgrefresh, None)
dlg.show_all()
def toggle_view_column(self, button, property):
@@ -271,6 +272,9 @@ else:
self.graphview = LogTreeView(self.repo, self.limit, self.stbar)
+ origtip = self.opts.get('orig-tip', len(self.repo.changelog))
+ self.graphview.set_property('original-tip-revision', origtip)
+
# Allocate ChangeSet instance to use internally
self.changeview = changeset.ChangeSet(self.ui, self.repo, self.cwd, [],
self.opts, self.stbar)
|
@@ -35,6 +35,11 @@ 'The maximum number of revisions to display',
gobject.PARAM_READWRITE),
+ 'original-tip-revision': (gobject.TYPE_PYOBJECT,
+ 'Tip revision when application opened',
+ 'Revisions above this number will be drawn green',
+ gobject.PARAM_READWRITE),
+
'revision': (gobject.TYPE_PYOBJECT,
'Revision',
'The currently selected revision',
@@ -93,6 +98,7 @@ self.currev = None
self.construct_treeview()
self.pbar = pbar
+ self.origtip = None
def set_repo(self, repo, pbar=None):
self.repo = repo
@@ -227,6 +233,8 @@ return self.limit
elif property.name == 'revision':
return self.currev
+ elif property.name == 'original-tip-revision':
+ return self.origtip
else:
raise AttributeError, 'unknown property %s' % property.name
@@ -245,6 +253,8 @@ self.batchsize = value
elif property.name == 'revision':
self.set_revision_id(value)
+ elif property.name == 'original-tip-revision':
+ self.origtip = value
else:
raise AttributeError, 'unknown property %s' % property.name
@@ -425,9 +435,11 @@ self.treeview.append_column(self.date_column)
def text_color_orig(self, parents, rev, author):
+ if self.origtip is not None and int(rev) > self.origtip:
+ return 'darkgreen'
if len(parents) == 2:
- # mark merge changesets green
- return '#006400'
+ # mark merge changesets blue
+ return 'blue'
elif len(parents) == 1:
# detect non-trivial parent
if long(rev) != parents[0]+1:
@@ -442,6 +454,8 @@ color_cache = {}
def text_color_author(self, parents, rev, author):
+ if self.origtip is not None and int(rev) > self.origtip:
+ return 'darkgreen'
for re, v in self.author_pats:
if (re.search(author)):
return v
|
@@ -20,7 +20,7 @@ from hggtk import dialog, gtklib, hgthread, history, thgconfig, hgemail
class SynchDialog(gtk.Window):
- def __init__(self, repos=[], pushmode=False):
+ def __init__(self, repos=[], pushmode=False, fromlog=False):
""" Initialize the Dialog. """
gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
gtklib.set_tortoise_icon(self, 'menusynch.ico')
@@ -29,6 +29,8 @@ self.root = paths.find_root()
self.selected_path = None
self.hgthread = None
+ self.fromlog = fromlog
+ self.notify_func = None
# persistent app data
self._settings = settings.Settings('synch')
@@ -284,7 +286,7 @@ except hglib.RepoError:
return
tip = len(repo.changelog)
- if self.origchangecount == tip:
+ if self.origchangecount == tip or self.fromlog:
self.viewpulled.hide()
else:
self.buttonhbox.show()
@@ -301,8 +303,7 @@ self.repo = repo
def _view_pulled_changes(self, button):
- countpulled = len(self.repo.changelog) - self.origchangecount
- opts = {'limit' : countpulled, 'from-synch' : True}
+ opts = {'orig-tip' : self.origchangecount, 'from-synch' : True}
dlg = history.GLog(self.ui, None, None, [], opts)
dlg.display()
@@ -589,6 +590,8 @@ self._stop_button.set_sensitive(False)
if self.hgthread.return_code() is None:
self.write(_('[command interrupted]'))
+ if self.notify_func:
+ self.notify_func(self.notify_args)
return False # Stop polling this function
AdvancedDefaults = {
@@ -638,6 +641,10 @@ else:
self.textview.set_wrap_mode(gtk.WRAP_WORD)
+ def set_notify_func(self, func, *args):
+ self.notify_func = func
+ self.notify_args = args
+
def run(ui, *pats, **opts):
return SynchDialog(pats, opts.get('pushmode'))
|
Loading...