From mboxrd@z Thu Jan 1 00:00:00 1970 From: whydoubt at gmail.com (Jeff Smith) Date: Tue, 17 Oct 2017 23:17:34 -0500 Subject: [PATCH 3/4] ui-blame: Make each column into a single table cell In-Reply-To: <20171018041735.31592-1-whydoubt@gmail.com> References: <20171018041735.31592-1-whydoubt@gmail.com> Message-ID: <20171018041735.31592-4-whydoubt@gmail.com> Signed-off-by: Jeff Smith --- cgit.css | 19 +++++++++++++++++-- ui-blame.c | 58 +++++++++++++++++++++++++++++++++++++--------------------- 2 files changed, 54 insertions(+), 23 deletions(-) diff --git a/cgit.css b/cgit.css index 893ebeb..20b7e86 100644 --- a/cgit.css +++ b/cgit.css @@ -330,11 +330,26 @@ div#cgit table.ssdiff td.lineno a:hover { color: black; } -div#cgit table.blame tr:nth-child(even) { +div#cgit table.blame td.hashes, +div#cgit table.blame td.lines, +div#cgit table.blame td.linenumbers { + padding: 0; +} + +div#cgit table.blame td.hashes div.alt, +div#cgit table.blame td.lines div.alt { + padding: 0 0.5em 0 0.5em; +} + +div#cgit table.blame td.linenumbers div.alt { + padding: 0 0.5em 0 0; +} + +div#cgit table.blame div.alt:nth-child(even) { background: #eee; } -div#cgit table.blame tr:nth-child(odd) { +div#cgit table.blame div.alt:nth-child(odd) { background: white; } diff --git a/ui-blame.c b/ui-blame.c index 9b84147..f506616 100644 --- a/ui-blame.c +++ b/ui-blame.c @@ -45,11 +45,17 @@ static void emit_blame_entry_hash(struct blame_entry *ent) { struct blame_origin *suspect = ent->suspect; struct object_id *oid = &suspect->commit->object.oid; + unsigned long line = 0; char *detail = emit_suspect_detail(suspect); + html(""); cgit_commit_link(find_unique_abbrev(oid->hash, DEFAULT_ABBREV), detail, NULL, ctx.qry.head, oid_to_hex(oid), suspect->path); + html(""); free(detail); + + while (line++ < ent->num_lines) + html("\n"); } static void emit_blame_entry_linenumber(struct blame_entry *ent) @@ -72,24 +78,6 @@ static void emit_blame_entry_line(struct blame_scoreboard *sb, html_ntxt(cp, cpend - cp); } -static void emit_blame_entry(struct blame_scoreboard *sb, - struct blame_entry *ent) -{ - html(""); - emit_blame_entry_hash(ent); - html("\n"); - - if (ctx.cfg.enable_tree_linenumbers) { - html("
");
-		emit_blame_entry_linenumber(ent);
-		html("
\n"); - } - - html("
");
-	emit_blame_entry_line(sb, ent);
-	html("
\n"); -} - struct walk_tree_context { char *curr_rev; int match_baselen; @@ -147,16 +135,44 @@ static void print_object(const unsigned char *sha1, const char *path, return; } - html(""); + html("
\n\n"); + + /* Commit hashes */ + html("\n"); + + /* Line numbers */ + if (ctx.cfg.enable_tree_linenumbers) { + html("\n"); + } + + /* Lines */ + html("
"); + for (ent = sb.ent; ent; ent = ent->next) { + html("
");
+		emit_blame_entry_hash(ent);
+		html("
"); + } + html("
"); + for (ent = sb.ent; ent; ent = ent->next) { + html("
");
+			emit_blame_entry_linenumber(ent);
+			html("
"); + } + html("
"); for (ent = sb.ent; ent; ) { struct blame_entry *e = ent->next; - emit_blame_entry(&sb, ent); + html("
");
+		emit_blame_entry_line(&sb, ent);
+		html("
"); free(ent); ent = e; } - html("
\n"); + html("\n"); + free((void *)sb.final_buf); + html("\n\n"); + cgit_print_layout_end(); } -- 2.9.4