ui-log: Move 'Age' column when commit graph is present

When the commit graph is present, we prefer to draw it along the left edge,
and moving the 'Age' column to the right of the 'Author' column, like in gitk.

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
这个提交包含在:
Johan Herland 2010-11-15 18:39:53 +01:00 提交者 Lars Hjemli
父节点 ad230267f8
当前提交 c2bfd40f8a

查看文件

@ -96,7 +96,7 @@ void print_commit(struct commit *commit, struct rev_info *revs)
{
struct commitinfo *info;
char *tmp;
int cols = 2;
int cols = revs->graph ? 3 : 2;
struct strbuf graphbuf = STRBUF_INIT;
struct strbuf msgbuf = STRBUF_INIT;
@ -110,7 +110,7 @@ void print_commit(struct commit *commit, struct rev_info *revs)
/* Advance graph until current commit */
while (!graph_next_line(revs->graph, &graphbuf)) {
/* Print graph segment in otherwise empty table row */
html("<tr class='nohover'><td/><td class='commitgraph'>");
html("<tr class='nohover'><td class='commitgraph'>");
html(graphbuf.buf);
htmlf("</td><td colspan='%d' /></tr>\n", cols);
strbuf_setlen(&graphbuf, 0);
@ -119,14 +119,7 @@ void print_commit(struct commit *commit, struct rev_info *revs)
}
info = cgit_parse_commit(commit);
htmlf("<tr%s><td>",
ctx.qry.showmsg ? " class='logheader'" : "");
tmp = fmt("id=%s", sha1_to_hex(commit->object.sha1));
tmp = cgit_fileurl(ctx.repo->url, "commit", ctx.qry.vpath, tmp);
html_link_open(tmp, NULL, NULL);
cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE);
html_link_close();
html("</td>");
htmlf("<tr%s>", ctx.qry.showmsg ? " class='logheader'" : "");
if (revs->graph) {
/* Print graph segment for current commit */
@ -135,6 +128,15 @@ void print_commit(struct commit *commit, struct rev_info *revs)
html("</td>");
strbuf_setlen(&graphbuf, 0);
}
else {
html("<td>");
tmp = fmt("id=%s", sha1_to_hex(commit->object.sha1));
tmp = cgit_fileurl(ctx.repo->url, "commit", ctx.qry.vpath, tmp);
html_link_open(tmp, NULL, NULL);
cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE);
html_link_close();
html("</td>");
}
htmlf("<td%s>", ctx.qry.showmsg ? " class='logsubject'" : "");
if (ctx.qry.showmsg) {
@ -167,6 +169,16 @@ void print_commit(struct commit *commit, struct rev_info *revs)
show_commit_decorations(commit);
html("</td><td>");
html_txt(info->author);
if (revs->graph) {
html("</td><td>");
tmp = fmt("id=%s", sha1_to_hex(commit->object.sha1));
tmp = cgit_fileurl(ctx.repo->url, "commit", ctx.qry.vpath, tmp);
html_link_open(tmp, NULL, NULL);
cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE);
html_link_close();
}
if (ctx.repo->enable_log_filecount) {
files = 0;
add_lines = 0;
@ -182,7 +194,7 @@ void print_commit(struct commit *commit, struct rev_info *revs)
html("</td></tr>\n");
if (revs->graph || ctx.qry.showmsg) { /* Print a second table row */
html("<tr class='nohover'><td/>"); /* Empty 'Age' column */
html("<tr class='nohover'>");
if (ctx.qry.showmsg) {
/* Concatenate commit message + notes in msgbuf */
@ -223,6 +235,8 @@ void print_commit(struct commit *commit, struct rev_info *revs)
}
html("</td>\n");
}
else
html("<td/>"); /* Empty 'Age' column */
/* Print msgbuf into remainder of table row */
htmlf("<td colspan='%d'%s>\n", cols,
@ -345,9 +359,11 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
if (pager)
html("<table class='list nowrap'>");
html("<tr class='nohover'><th class='left'>Age</th>");
html("<tr class='nohover'>");
if (commit_graph)
html("<th></th>");
else
html("<th class='left'>Age</th>");
html("<th class='left'>Commit message");
if (pager) {
html(" (");
@ -358,6 +374,8 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
html(")");
}
html("</th><th class='left'>Author</th>");
if (commit_graph)
html("<th class='left'>Age</th>");
if (ctx.repo->enable_log_filecount) {
html("<th class='left'>Files</th>");
columns++;