# HG changeset patch
# User Wagner Bruna <wbr...@softwareexpress.com.br>
# Date 1254520034 10800
# Node ID 6c36e4400f01f0331ab44f4d35e05d9c4703d926
# Parent  bd6c5a380d984d07bcb607edd62ee2bcd1ffeac2
history: keep track of the number of preview changesets

Instead of a boolean value, store the number of preview
changesets, so the history log is able to display new and
preview changesets at the same time.

diff --git a/tortoisehg/hgtk/history.py b/tortoisehg/hgtk/history.py
--- a/tortoisehg/hgtk/history.py
+++ b/tortoisehg/hgtk/history.py
@@ -48,6 +48,7 @@
         self.filteropts = None
         self.bundledir = None
         self.bfile = None
+        self.npreviews = 0
         os.chdir(self.repo.root)
 
         # Load extension support for commands which need it
@@ -488,8 +489,11 @@
 
         # handle strips, rebases, etc
         self.origtip = min(len(self.repo), self.origtip)
+        if not self.bfile:
+            self.npreviews = 0
+        
         opts['orig-tip'] = self.origtip
-        opts['bundleview'] = bool(self.bfile)
+        opts['npreviews'] = self.npreviews
 
         opts['no_merges'] = self.no_merges
 
@@ -923,6 +927,7 @@
 
         def remove_overlay(resettip):
             self.bfile = None
+            self.npreviews = 0
             combo.get_child().set_text('')
             self.repo = hg.repository(self.ui, path=self.repo.root)
             self.graphview.set_repo(self.repo, self.stbar)
@@ -989,11 +994,12 @@
             disabled.append(self.syncbox)
 
             self.bfile = bfile
-            self.origtip = len(self.repo)
+            oldtip = len(self.repo)
             self.repo = hg.repository(self.ui, path=bfile)
             self.graphview.set_repo(self.repo, self.stbar)
             self.changeview.repo = self.repo
             self.changeview.bfile = bfile
+            self.npreviews = len(self.repo) - oldtip
             self.reload_log()
 
     def pull_clicked(self, toolbutton, combo, ppullcombo, ppulldata):
diff --git a/tortoisehg/hgtk/logview/treemodel.py 
b/tortoisehg/hgtk/logview/treemodel.py
--- a/tortoisehg/hgtk/logview/treemodel.py
+++ b/tortoisehg/hgtk/logview/treemodel.py
@@ -40,7 +40,7 @@
 
 class TreeModel(gtk.GenericTreeModel):
 
-    def __init__ (self, repo, graphdata, color_func, outgoing, origtip, bview):
+    def __init__ (self, repo, graphdata, color_func, outgoing, origtip, 
npreviews):
         gtk.GenericTreeModel.__init__(self)
         self.repo = repo
         self.outgoing = outgoing
@@ -51,7 +51,7 @@
         self.tagrevs = [repo[r].rev() for t, r in repo.tagslist()]
         self.branchtags = repo.branchtags()
         self.origtip = origtip
-        self.bundleview = bview
+        self.npreviews = npreviews
         self.hidetags = self.repo.ui.config(
             'tortoisehg', 'hidetags', '').split()
 
@@ -177,7 +177,10 @@
             if node in self.outgoing:
                 status = -1
             elif revid >= self.origtip:
-                status = self.bundleview and 2 or 1
+                if revid >= len(self.repo) - self.npreviews:
+                    status = 2
+                else:
+                    status = 1
             else:
                 status = 0
 
diff --git a/tortoisehg/hgtk/logview/treeview.py 
b/tortoisehg/hgtk/logview/treeview.py
--- a/tortoisehg/hgtk/logview/treeview.py
+++ b/tortoisehg/hgtk/logview/treeview.py
@@ -129,7 +129,7 @@
         self.origtip = None
         self.branch_color = False
         self.outgoing = []
-        self.bundleview = False
+        self.npreviews = 0
 
     def set_outgoing(self, outgoing):
         self.outgoing = outgoing
@@ -250,7 +250,7 @@
         if not self.model:
             model = treemodel.TreeModel(self.repo, self.graphdata,
                     self.color_func, self.outgoing, self.origtip,
-                    self.bundleview)
+                    self.npreviews)
             self.treeview.set_model(model)
             self.model = model
 
@@ -359,7 +359,7 @@
 
     def refresh(self, graphcol, pats, opts):
         self.origtip = opts['orig-tip']
-        self.bundleview = opts['bundleview']
+        self.npreviews = opts['npreviews']
         if self.repo is not None:
             hglib.invalidaterepo(self.repo)
             if len(self.repo) > 0:

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
Tortoisehg-develop mailing list
Tortoisehg-develop@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tortoisehg-develop

Reply via email to