Author: Lars Hjemli <hjemli@gmail.com>
Use tables and css to create the diffstat graph, fix scaling There was no need to use image-files for the graphs, so lets drop them. At the same time, fix scaling of the graphs so that the full width is used only if atleast 100 LOC are changed in one of the files. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Makefile | 1 - cgit.css | 21 +++++++++++++++++++-- ui-commit.c | 20 ++++++++------------
diff --git a/Makefile b/Makefile index 96d68cbd0c781af77a074c23ca40aef759128532..aa7146da93da2592c7d3f69675b4eb49eae3ae7c 100644 --- a/Makefile +++ b/Makefile @@ -60,7 +60,6 @@ install: all clean-cache mkdir -p $(prefix) install cgit $(prefix)/$(CGIT_SCRIPT_NAME) install cgit.css $(prefix)/cgit.css - install add.png del.png $(prefix)/ clean-cgit: rm -f cgit *.o diff --git a/add.png b/add.png deleted file mode 100644 index c550388694dca3178807e6bdaf6901df0761adac..0000000000000000000000000000000000000000 Binary files a/add.png and /dev/null differ diff --git a/cgit.css b/cgit.css index 53c93f2d41b296503193fee9dd2e0bea4cc69466..87fd00a387cbb80aa67109dc2efc0e7857eae4b6 100644 --- a/cgit.css +++ b/cgit.css @@ -284,9 +284,26 @@ width: 75%; vertical-align: center; } -table.diffstat td.graph img { +table.diffstat td.graph table { border: none; - height: 8pt; +} + +table.diffstat td.graph td { + padding: 0px; + border: 0px; + height: 7pt; +} + +table.diffstat td.graph td.add { + background-color: #5c5; +} + +table.diffstat td.graph td.rem { + background-color: #c55; +} + +table.diffstat td.graph td.none { + background-color: none; } div.diffstat-summary { diff --git a/del.png b/del.png deleted file mode 100644 index 5c73e8248a6ad318eed8afaebf27fa1ec50dd2d4..0000000000000000000000000000000000000000 Binary files a/del.png and /dev/null differ diff --git a/ui-commit.c b/ui-commit.c index b6a106fb0681a9e93638787f54443dff93dc17f8..8011dfcc14ffaf953d5abb32f9cf7728cf04933a 100644 --- a/ui-commit.c +++ b/ui-commit.c @@ -29,7 +29,6 @@ void print_fileinfo(struct fileinfo *info) { char *query, *query2; char *class; - double width; switch (info->status) { case DIFF_STATUS_ADDED: @@ -96,18 +95,15 @@ html(""); } html("</td><td class='right'>"); htmlf("%d", info->added + info->removed); - html("</td><td class='graph'>"); - width = (info->added + info->removed) * 100.0 / max_changes; - if (width < 0.1) - width = 0.1; - html_link_open(cgit_pageurl(cgit_query_repo, "diff", query), - NULL, NULL); - htmlf("<img src='/cgit/add.png' style='width: %.1f%%;'/>", - info->added * width / (info->added + info->removed)); - htmlf("<img src='/cgit/del.png' style='width: %.1f%%;'/>", - info->removed * width / (info->added + info->removed)); - html("</a></td></tr>\n"); + htmlf("<table width='%d%%'><tr>", (max_changes > 100 ? 100 : max_changes)); + htmlf("<td class='add' style='width: %.1f%%;'/>", + info->added * 100.0 / max_changes); + htmlf("<td class='rem' style='width: %.1f%%;'/>", + info->removed * 100.0 / max_changes); + htmlf("<td class='none' style='width: %.1f%%;'/>", + (max_changes - info->removed - info->added) * 100.0 / max_changes); + html("</tr></table></a></td></tr>\n"); } void cgit_count_diff_lines(char *line, int len)