summaryrefslogtreecommitdiffabout
authorJohan Herland <johan@herland.net>2010-11-15 17:39:53 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2010-11-16 07:18:37 (UTC)
commitc2bfd40f8aaaa69a66c6eb729c202e42a43ec166 (patch) (unidiff)
tree7ab4e467a6e39124f7336b5599dfc58c8fbb4b18
parentad230267f8ecae6cb4f0da17d7a5f75ba38203e2 (diff)
downloadcgit-c2bfd40f8aaaa69a66c6eb729c202e42a43ec166.zip
cgit-c2bfd40f8aaaa69a66c6eb729c202e42a43ec166.tar.gz
cgit-c2bfd40f8aaaa69a66c6eb729c202e42a43ec166.tar.bz2
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>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ui-log.c42
1 files changed, 30 insertions, 12 deletions
diff --git a/ui-log.c b/ui-log.c
index 05b5c29..8add66a 100644
--- a/ui-log.c
+++ b/ui-log.c
@@ -96,7 +96,7 @@ void print_commit(struct commit *commit, struct rev_info *revs)
96{ 96{
97 struct commitinfo *info; 97 struct commitinfo *info;
98 char *tmp; 98 char *tmp;
99 int cols = 2; 99 int cols = revs->graph ? 3 : 2;
100 struct strbuf graphbuf = STRBUF_INIT; 100 struct strbuf graphbuf = STRBUF_INIT;
101 struct strbuf msgbuf = STRBUF_INIT; 101 struct strbuf msgbuf = STRBUF_INIT;
102 102
@@ -110,7 +110,7 @@ void print_commit(struct commit *commit, struct rev_info *revs)
110 /* Advance graph until current commit */ 110 /* Advance graph until current commit */
111 while (!graph_next_line(revs->graph, &graphbuf)) { 111 while (!graph_next_line(revs->graph, &graphbuf)) {
112 /* Print graph segment in otherwise empty table row */ 112 /* Print graph segment in otherwise empty table row */
113 html("<tr class='nohover'><td/><td class='commitgraph'>"); 113 html("<tr class='nohover'><td class='commitgraph'>");
114 html(graphbuf.buf); 114 html(graphbuf.buf);
115 htmlf("</td><td colspan='%d' /></tr>\n", cols); 115 htmlf("</td><td colspan='%d' /></tr>\n", cols);
116 strbuf_setlen(&graphbuf, 0); 116 strbuf_setlen(&graphbuf, 0);
@@ -119,14 +119,7 @@ void print_commit(struct commit *commit, struct rev_info *revs)
119 } 119 }
120 120
121 info = cgit_parse_commit(commit); 121 info = cgit_parse_commit(commit);
122 htmlf("<tr%s><td>", 122 htmlf("<tr%s>", ctx.qry.showmsg ? " class='logheader'" : "");
123 ctx.qry.showmsg ? " class='logheader'" : "");
124 tmp = fmt("id=%s", sha1_to_hex(commit->object.sha1));
125 tmp = cgit_fileurl(ctx.repo->url, "commit", ctx.qry.vpath, tmp);
126 html_link_open(tmp, NULL, NULL);
127 cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE);
128 html_link_close();
129 html("</td>");
130 123
131 if (revs->graph) { 124 if (revs->graph) {
132 /* Print graph segment for current commit */ 125 /* Print graph segment for current commit */
@@ -135,6 +128,15 @@ void print_commit(struct commit *commit, struct rev_info *revs)
135 html("</td>"); 128 html("</td>");
136 strbuf_setlen(&graphbuf, 0); 129 strbuf_setlen(&graphbuf, 0);
137 } 130 }
131 else {
132 html("<td>");
133 tmp = fmt("id=%s", sha1_to_hex(commit->object.sha1));
134 tmp = cgit_fileurl(ctx.repo->url, "commit", ctx.qry.vpath, tmp);
135 html_link_open(tmp, NULL, NULL);
136 cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE);
137 html_link_close();
138 html("</td>");
139 }
138 140
139 htmlf("<td%s>", ctx.qry.showmsg ? " class='logsubject'" : ""); 141 htmlf("<td%s>", ctx.qry.showmsg ? " class='logsubject'" : "");
140 if (ctx.qry.showmsg) { 142 if (ctx.qry.showmsg) {
@@ -167,6 +169,16 @@ void print_commit(struct commit *commit, struct rev_info *revs)
167 show_commit_decorations(commit); 169 show_commit_decorations(commit);
168 html("</td><td>"); 170 html("</td><td>");
169 html_txt(info->author); 171 html_txt(info->author);
172
173 if (revs->graph) {
174 html("</td><td>");
175 tmp = fmt("id=%s", sha1_to_hex(commit->object.sha1));
176 tmp = cgit_fileurl(ctx.repo->url, "commit", ctx.qry.vpath, tmp);
177 html_link_open(tmp, NULL, NULL);
178 cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE);
179 html_link_close();
180 }
181
170 if (ctx.repo->enable_log_filecount) { 182 if (ctx.repo->enable_log_filecount) {
171 files = 0; 183 files = 0;
172 add_lines = 0; 184 add_lines = 0;
@@ -182,7 +194,7 @@ void print_commit(struct commit *commit, struct rev_info *revs)
182 html("</td></tr>\n"); 194 html("</td></tr>\n");
183 195
184 if (revs->graph || ctx.qry.showmsg) { /* Print a second table row */ 196 if (revs->graph || ctx.qry.showmsg) { /* Print a second table row */
185 html("<tr class='nohover'><td/>"); /* Empty 'Age' column */ 197 html("<tr class='nohover'>");
186 198
187 if (ctx.qry.showmsg) { 199 if (ctx.qry.showmsg) {
188 /* Concatenate commit message + notes in msgbuf */ 200 /* Concatenate commit message + notes in msgbuf */
@@ -223,6 +235,8 @@ void print_commit(struct commit *commit, struct rev_info *revs)
223 } 235 }
224 html("</td>\n"); 236 html("</td>\n");
225 } 237 }
238 else
239 html("<td/>"); /* Empty 'Age' column */
226 240
227 /* Print msgbuf into remainder of table row */ 241 /* Print msgbuf into remainder of table row */
228 htmlf("<td colspan='%d'%s>\n", cols, 242 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
345 if (pager) 359 if (pager)
346 html("<table class='list nowrap'>"); 360 html("<table class='list nowrap'>");
347 361
348 html("<tr class='nohover'><th class='left'>Age</th>"); 362 html("<tr class='nohover'>");
349 if (commit_graph) 363 if (commit_graph)
350 html("<th></th>"); 364 html("<th></th>");
365 else
366 html("<th class='left'>Age</th>");
351 html("<th class='left'>Commit message"); 367 html("<th class='left'>Commit message");
352 if (pager) { 368 if (pager) {
353 html(" ("); 369 html(" (");
@@ -358,6 +374,8 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern
358 html(")"); 374 html(")");
359 } 375 }
360 html("</th><th class='left'>Author</th>"); 376 html("</th><th class='left'>Author</th>");
377 if (commit_graph)
378 html("<th class='left'>Age</th>");
361 if (ctx.repo->enable_log_filecount) { 379 if (ctx.repo->enable_log_filecount) {
362 html("<th class='left'>Files</th>"); 380 html("<th class='left'>Files</th>");
363 columns++; 381 columns++;