aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-10-27 10:47:44 +0200
committerLars Hjemli <hjemli@gmail.com>2007-10-27 10:53:28 +0200
commitac1f493b6bbc589327e9ba3303f112fcd323c6b6 (patch)
tree4729ecc84e0b24b044131546ff39bdd55a6cd9a6
parentAdd support for refs view (diff)
Add links to the new refs page from summary page
If either branches or tags are filtered on the summary page, add a link to refs/heads and/or refs/tags right below the last branch/tag. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--cgit.h2
-rw-r--r--ui-shared.c6
-rw-r--r--ui-summary.c13
3 files changed, 21 insertions, 0 deletions
diff --git a/cgit.h b/cgit.h
index d9a15f4..f8f0316 100644
--- a/cgit.h
+++ b/cgit.h
@@ -236,6 +236,8 @@ extern void cgit_log_link(char *name, char *title, char *class, char *head,
char *rev, char *path, int ofs);
extern void cgit_commit_link(char *name, char *title, char *class, char *head,
char *rev);
+extern void cgit_refs_link(char *name, char *title, char *class, char *head,
+ char *rev, char *path);
extern void cgit_snapshot_link(char *name, char *title, char *class,
char *head, char *rev, char *archivename);
extern void cgit_diff_link(char *name, char *title, char *class, char *head,
diff --git a/ui-shared.c b/ui-shared.c
index 5c5bcf3..e4bb98f 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -227,6 +227,12 @@ void cgit_commit_link(char *name, char *title, char *class, char *head,
reporevlink("commit", name, title, class, head, rev, NULL);
}
+void cgit_refs_link(char *name, char *title, char *class, char *head,
+ char *rev, char *path)
+{
+ reporevlink("refs", name, title, class, head, rev, path);
+}
+
void cgit_snapshot_link(char *name, char *title, char *class, char *head,
char *rev, char *archivename)
{
diff --git a/ui-summary.c b/ui-summary.c
index 97f1b57..016fea2 100644
--- a/ui-summary.c
+++ b/ui-summary.c
@@ -166,6 +166,13 @@ static int cgit_print_archive_cb(const char *refname, const unsigned char *sha1,
return 0;
}
+static void print_refs_link(char *path)
+{
+ html("<tr class='nohover'><td colspan='4'>");
+ cgit_refs_link("[...]", NULL, NULL, cgit_query_head, NULL, path);
+ html("</td></tr>");
+}
+
void cgit_print_branches(int maxcount)
{
struct reflist list;
@@ -190,6 +197,9 @@ void cgit_print_branches(int maxcount)
for(i=0; i<maxcount; i++)
cgit_print_branch(list.refs[i]);
+
+ if (maxcount < list.count)
+ print_refs_link("heads");
}
void cgit_print_tags(int maxcount)
@@ -211,6 +221,9 @@ void cgit_print_tags(int maxcount)
print_tag_header();
for(i=0; i<maxcount; i++)
print_tag(list.refs[i]);
+
+ if (maxcount < list.count)
+ print_refs_link("tags");
}
static void cgit_print_archives()