# HG changeset patch
# User mpm@selenic.com
# Date 2005-05-27 06:47:43
# Node ID 8da1df932c16d3cfa29f0f13c89c8adebca659cf
# Parent e9b1147db4488da582e74a99c920bb96973e74a7
hgweb: make navigation of changesets a bit nicer
diff --git a/mercurial/hgweb.py b/mercurial/hgweb.py
--- a/mercurial/hgweb.py
+++ b/mercurial/hgweb.py
@@ -199,22 +199,25 @@ class hgweb:
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
diff --git a/templates/changelog.tmpl b/templates/changelog.tmpl
--- a/templates/changelog.tmpl
+++ b/templates/changelog.tmpl
@@ -14,7 +14,7 @@
search:
-navigate: #changenav#
+navigate: #changenav#
#entries#
@@ -23,7 +23,7 @@ navigate: #changenav#
search:
-navigate: #changenav#
+navigate: #changenav#
#footer#
diff --git a/templates/changelogentry.tmpl b/templates/changelogentry.tmpl
--- a/templates/changelogentry.tmpl
+++ b/templates/changelogentry.tmpl
@@ -9,16 +9,13 @@
#parent1#
#parent2#