13
13
<!-- !define common navbar -->
14
<span py:def="navbar()">
14
<span py:def="navbar()" py:strip="True">
15
15
<!-- !requires: ${navigation: start_revid, revid, revid_list, pagesize, buttons, scan_url}, ${branch}, ${history} -->
16
<div class="navbar" py:if="navigation is not None">
18
<!-- form must go OUTSIDE the table, or safari will add extra padding :( -->
19
<form action="${branch.url('/changes', start_revid=getattr(navigation, 'start_revid', None), file_id=getattr(navigation, 'file_id', None))}">
22
<span class="buttons">
23
<!-- ! navbar buttons never change, from now on. i decree it! -->
24
<a href="${branch.url('/changes')}"> changes </a>
25
<a href="${branch.url('/files')}"> files </a>
26
<span class="search"> search: <input type="text" name="q" /> </span>
28
</td><td align="right" py:if="hasattr(navigation, 'revid_list')">
29
<span py:if="hasattr(navigation, 'feed')" class="rbuttons feed">
30
<a href="${branch.url('/atom')}"><img src="${tg.url('/static/images/feed-icon-16x16.gif')}" /></a>
32
<span class="navbuttons">
33
<span py:if="navigation.prev_page_revid"> <a href="${navigation.prev_page_url}" title="Previous page"> « </a> </span>
34
<span py:if="not navigation.prev_page_revid"> « </span>
35
revision ${history.get_revno(revid)} (<span py:if="navigation.pagesize > 1">page </span>${navigation.page_position} / ${navigation.page_count})
36
<span py:if="navigation.next_page_revid"> <a href="${navigation.next_page_url}" title="Next page"> » </a> </span>
37
<span py:if="not navigation.next_page_revid"> » </span>
16
<div class="navbar" py:if="navigation is not None"><div class="bar">
17
<!-- form must go OUTSIDE the table, or safari will add extra padding :( -->
18
<form action="${branch.url('/changes', start_revid=getattr(navigation, 'start_revid', None),
19
file_id=getattr(navigation, 'file_id', None))}"><table><tr>
20
<td><span class="buttons">
21
<!-- ! navbar buttons never change, from now on. i decree it! -->
22
<a href="${branch.url('/changes', **util.get_context(clear=1))}"> changes </a>
23
<a href="${branch.url('/files', **util.get_context(clear=1))}"> files </a>
24
<span class="search"> search: <input type="text" name="q" /> </span>
26
<td align="right" py:if="hasattr(navigation, 'revid_list')">
27
<span py:if="hasattr(navigation, 'feed')" class="rbuttons feed">
28
<a href="${branch.url('/atom')}">
29
<img src="${tg.url('/static/images/feed-icon-16x16.gif')}" /></a>
31
<span class="navbuttons">
32
<span py:if="navigation.prev_page_revid">
33
<a href="${navigation.prev_page_url}" title="Previous page"> « </a>
35
<span py:if="not navigation.prev_page_revid"> « </span>
36
revision ${history.get_revno(revid)}
37
(<span py:if="navigation.pagesize > 1">page </span>
38
${navigation.page_position} / ${navigation.page_count})
39
<span py:if="navigation.next_page_revid">
40
<a href="${navigation.next_page_url}" title="Next page"> » </a>
42
<span py:if="not navigation.next_page_revid"> » </span>
46
<span py:def="revlink(revid, start_revid, file_id, text)">
47
<a title="Show revision ${history.get_revno(revid)}" href="${branch.url([ '/revision', revid ], start_revid=start_revid, file_id=file_id)}" class="revlink"> ${text} </a>
49
<span py:def="revlink_q(revid, start_revid, file_id, query, text)">
50
<a title="Show revision ${history.get_revno(revid)}" href="${branch.url([ '/revision', revid ], start_revid=start_revid, file_id=file_id, q=query)}" class="revlink"> ${text} </a>
49
<span py:def="revision_link(revid, text, **overrides)" py:strip="True">
50
<a title="Show revision ${history.get_revno(revid)}"
51
href="${branch.url([ '/revision', revid ], **util.get_context(**overrides))}"> ${text} </a>
53
55
<!-- ! expand button functions: -->
55
<span py:def="use_collapse_buttons()">
57
<span py:strip="True" py:def="use_collapse_buttons()">
56
58
<!-- this is totally matty's fault. i don't like javacsript. ;) -->
57
59
<script type="text/javascript" src="${tg.url('/static/javascript/collapse.js')}"></script>
60
62
<span py:strip="True" py:def="collapse_all_button(group, normal='block')">
61
<a class="hide-all collapse-${group}-hideall" href="javascript:collapseAllDisplay('${group}','none')">
62
<img src="${tg.url('/static/images/nav-small-down.gif')}" width="10" height="10" alt="collapse" class="collapse-triangle" />collapse all</a>
63
<a class="hide-all collapse-${group}-showall" href="javascript:collapseAllDisplay('${group}','${normal}')">
64
<img src="${tg.url('/static/images/nav-small-right.gif')}" width="10" height="10" alt="expand" class="collapse-triangle" />expand all</a>
63
<a class="hide-all collapse-${group}-hideall"
64
href="javascript:collapseAllDisplay('${group}','none')">
65
<img src="${tg.url('/static/images/nav-small-down.gif')}"
66
width="10" height="10" alt="collapse"
67
class="collapse-triangle" />collapse all</a>
68
<a class="hide-all collapse-${group}-showall"
69
href="javascript:collapseAllDisplay('${group}','${normal}')">
70
<img src="${tg.url('/static/images/nav-small-right.gif')}"
71
width="10" height="10" alt="expand"
72
class="collapse-triangle" />expand all</a>
67
75
<span py:strip="True" py:def="collapse_button(group, name, normal='block')">
68
<a href="javascript:collapseDisplay('${group}','${name}','none')" class="hide-button collapse-${group}-${name}-hide" title="collapse">
69
<img src="${tg.url('/static/images/nav-small-down.gif')}" width="10" height="10" alt="collapse" class="collapse-triangle" />
76
<a href="javascript:collapseDisplay('${group}','${name}','none')"
77
class="hide-button collapse-${group}-${name}-hide" title="collapse">
78
<img src="${tg.url('/static/images/nav-small-down.gif')}"
79
width="10" height="10" alt="collapse"
80
class="collapse-triangle" />
71
<a href="javascript:collapseDisplay('${group}','${name}','${normal}')" class="show-button collapse-${group}-${name}-show" title="expand">
72
<img src="${tg.url('/static/images/nav-small-right.gif')}" witdh="10" height="10" alt="expand" class="collapse-triangle" />
82
<a href="javascript:collapseDisplay('${group}','${name}','${normal}')"
83
class="show-button collapse-${group}-${name}-show" title="expand">
84
<img src="${tg.url('/static/images/nav-small-right.gif')}"
85
witdh="10" height="10" alt="expand"
86
class="collapse-triangle" />
78
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'" py:attrs="item.items()">
92
<body py:match="item.tag=='{http://www.w3.org/1999/xhtml}body'"
93
py:attrs="item.items()">
80
95
<div py:replace="[item.text]+item[:]"/>
82
97
<!-- End of main_content -->
84
99
<div class="footer">
85
<span class="banner"><a href="http://www.bazaar-vcs.org/"><img src="${tg.url('/static/images/bazaar-banner.png')}" /></a></span>
86
<span class="banner"><a href="http://www.lag.net/loggerhead/"><img src="${tg.url('/static/images/loggerhead-banner.png')}" /></a></span>
100
<span class="banner"><a href="http://www.bazaar-vcs.org/">
101
<img src="${tg.url('/static/images/bazaar-banner.png')}" /></a></span>
102
<span class="banner"><a href="http://www.lag.net/loggerhead/">
103
<img src="${tg.url('/static/images/loggerhead-banner.png')}" /></a></span>