summaryrefslogtreecommitdiffabout
path: root/ui-shared.c
authorLars Hjemli <hjemli@gmail.com>2008-04-13 10:20:00 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2008-04-13 10:20:00 (UTC)
commit39912a24edf45497e668ebda25636aa6f6db0c9b (patch) (side-by-side diff)
tree5de079ba1441a4f9546252e38c31d4d1b5f17b40 /ui-shared.c
parent536b0541fcfea2169e4df33043cd9ff14c657bce (diff)
downloadcgit-39912a24edf45497e668ebda25636aa6f6db0c9b.zip
cgit-39912a24edf45497e668ebda25636aa6f6db0c9b.tar.gz
cgit-39912a24edf45497e668ebda25636aa6f6db0c9b.tar.bz2
Remove 'patch' link from tab, add to commit view
It's a bit confusing to enter the patch view from the tab, since it has no layout. And the commit view has always lacked showing the commit id. Both of these warts are fixed by this commit, which adds a new header line in the commit view which shows the commit id as a 'permalink' to the current commit and also adds a link to the patch view of the current commit. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'ui-shared.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-shared.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 6253a90..bb08c4a 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -480,130 +480,128 @@ void cgit_print_pageheader(struct cgit_context *ctx)
html("<td class='logo' rowspan='2'><a href='");
if (ctx->cfg.logo_link)
html_attr(ctx->cfg.logo_link);
else
html_attr(cgit_rooturl());
html("'><img src='");
html_attr(ctx->cfg.logo);
html("'/></a></td>\n");
html("<td class='main'>");
if (ctx->repo) {
/*
html("<a href='");
html_attr(cgit_rooturl());
html("'>index</a> : ");
*/
reporevlink(NULL, ctx->repo->name, NULL, hc(cmd, "summary"),
ctx->qry.head, NULL, NULL);
html(" : ");
html_txt(ctx->qry.page);
html("</td><td class='form'>");
html("<form method='get' action=''>\n");
add_hidden_formfields(0, 1, ctx->qry.page);
html("<select name='h' onchange='this.form.submit();'>\n");
for_each_branch_ref(print_branch_option, ctx->qry.head);
html("</select> ");
html("<input type='submit' name='' value='switch'/>");
html("</form>");
} else
html_txt(ctx->cfg.root_title);
html("</td>\n");
html("<tr><td class='sub'");
if (ctx->repo) {
html(" colspan='2'>");
html_txt(ctx->repo->desc);
}
/*
else if (ctx->cfg.root_subtitle)
html_txt(ctx->cfg.root_subtitle);
*/
else {
html(">");
html_txt("a fast webinterface for the git dscm");
}
html("</td></tr>\n");
html("</tr>\n");
html("</table>\n");
html("<table class='tabs'><tr><td>\n");
if (ctx->repo) {
reporevlink(NULL, "summary", NULL, hc(cmd, "summary"),
ctx->qry.head, NULL, NULL);
cgit_refs_link("refs", NULL, hc(cmd, "refs"), ctx->qry.head,
ctx->qry.sha1, NULL);
cgit_log_link("log", NULL, hc(cmd, "log"), ctx->qry.head,
NULL, NULL, 0, NULL, NULL);
cgit_tree_link("tree", NULL, hc(cmd, "tree"), ctx->qry.head,
ctx->qry.sha1, NULL);
cgit_commit_link("commit", NULL, hc(cmd, "commit"),
ctx->qry.head, ctx->qry.sha1);
cgit_diff_link("diff", NULL, hc(cmd, "diff"), ctx->qry.head,
ctx->qry.sha1, ctx->qry.sha2, NULL);
- cgit_patch_link("patch", NULL, hc(cmd, "patch"), ctx->qry.head,
- ctx->qry.sha1);
html("</td><td class='form'>");
html("<form class='right' method='get' action='");
if (ctx->cfg.virtual_root)
html_attr(cgit_fileurl(ctx->qry.repo, "log",
ctx->qry.path, NULL));
html("'>\n");
add_hidden_formfields(1, 0, "log");
html("<select name='qt'>\n");
html_option("grep", "log msg", ctx->qry.grep);
html_option("author", "author", ctx->qry.grep);
html_option("committer", "committer", ctx->qry.grep);
html("</select>\n");
html("<input class='txt' type='text' size='10' name='q' value='");
html_attr(ctx->qry.search);
html("'/>\n");
html("<input type='submit' value='search'/>\n");
html("</form>\n");
} else {
html("<a class='active' href='");
html_attr(cgit_rooturl());
html("'>index</a>\n");
html("</td><td class='form'>");
html("<form method='get' action='");
html_attr(cgit_rooturl());
html("'>\n");
html("<input type='text' name='q' size='10' value='");
html_attr(ctx->qry.search);
html("'/>\n");
html("<input type='submit' value='search'/>\n");
html("</form>");
}
html("</td></tr></table>\n");
html("<div class='content'>");
}
void cgit_print_filemode(unsigned short mode)
{
if (S_ISDIR(mode))
html("d");
else if (S_ISLNK(mode))
html("l");
else if (S_ISGITLINK(mode))
html("m");
else
html("-");
html_fileperm(mode >> 6);
html_fileperm(mode >> 3);
html_fileperm(mode);
}
void cgit_print_snapshot_links(const char *repo, const char *head,
const char *hex, int snapshots)
{
const struct cgit_snapshot_format* f;
char *filename;
for (f = cgit_snapshot_formats; f->suffix; f++) {
if (!(snapshots & f->bit))
continue;
filename = fmt("%s-%s%s", cgit_repobasename(repo), hex,
f->suffix);
cgit_snapshot_link(filename, NULL, NULL, (char *)head,
(char *)hex, filename);
html("<br/>");