Mercurial > public > mercurial-scm > hg-stable
diff mercurial/hgweb.py @ 173:8da1df932c16
hgweb: make navigation of changesets a bit nicer
author | mpm@selenic.com |
---|---|
date | Thu, 26 May 2005 22:47:43 -0800 |
parents | e9b1147db448 |
children | f25944662097 |
line wrap: on
line diff
--- a/mercurial/hgweb.py Thu May 26 20:37:05 2005 -0800 +++ b/mercurial/hgweb.py Thu May 26 22:47:43 2005 -0800 @@ -199,22 +199,25 @@ def changenav(): def seq(factor = 1): yield 1 * factor - yield 2 * factor - yield 5 * factor + yield 3 * factor + #yield 5 * factor for f in seq(factor * 10): yield f - - linear = range(0, count - 2, self.maxchanges)[0:8] - - for i in linear: - yield self.t("naventry", rev = max(i, 1)) - for s in seq(): - if s > count - 2: break - if s > linear[-1]: - yield self.t("naventry", rev = s) + l = [] + for f in seq(): + if f < self.maxchanges / 2: continue + if f > count: break + r = "%d" % f + if pos + f < count - (f/2): l.append(("+" + r, pos + f)) + if pos - f >= 0 + (f/2): l.insert(0, ("-" + r, pos - f)) + + yield self.t("naventry", rev = 0, label="(0)") - yield self.t("naventry", rev = count - 1) + for label, rev in l: + yield self.t("naventry", label = label, rev = rev) + + yield self.t("naventry", rev = count - 1, label="tip") def changelist(): parity = (start - end) & 1