aboutsummaryrefslogtreecommitdiffstats
path: root/ui-ssdiff.c
diff options
context:
space:
mode:
authorRagnar Ouchterlony2009-09-15 19:44:37 +0200
committerLars Hjemli2009-09-16 20:17:56 +0200
commit207cc34711039329b41345f716bf421a88a6fd0a (patch)
tree5fb56c7e5c105c9045e52abd971013270db23368 /ui-ssdiff.c
parentc358aa3dfebf4fc1f3005dd960aa5c1c020eed76 (diff)
downloadcgit-207cc34711039329b41345f716bf421a88a6fd0a.tar.gz
cgit-207cc34711039329b41345f716bf421a88a6fd0a.tar.bz2
cgit-207cc34711039329b41345f716bf421a88a6fd0a.zip
Polishing of how the side-by-side diff looks.
Aligned all different files, so that all side-by-side tables look the same. Also made sure that the tables take up the whole browser width. Also various changes to the css to make things easier on the eye. Signed-off-by: Ragnar Ouchterlony <ragnar@lysator.liu.se> Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'ui-ssdiff.c')
-rw-r--r--ui-ssdiff.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/ui-ssdiff.c b/ui-ssdiff.c
index 3591ab4..8215051 100644
--- a/ui-ssdiff.c
+++ b/ui-ssdiff.c
@@ -40,9 +40,9 @@ static char *replace_tabs(char *line)
40{ 40{
41 char *prev_buf = line; 41 char *prev_buf = line;
42 char *cur_buf; 42 char *cur_buf;
43 int linelen = strlen(line); 43 int linelen = strlen(line);
44 int n_tabs = 0; 44 int n_tabs = 0;
45 int i; 45 int i;
46 char *result; 46 char *result;
47 char *spaces = " "; 47 char *spaces = " ";
48 48
@@ -52,10 +52,10 @@ static char *replace_tabs(char *line)
52 return result; 52 return result;
53 } 53 }
54 54
55 for (i = 0; i < linelen; i++) 55 for (i = 0; i < linelen; i++)
56 if (line[i] == '\t') 56 if (line[i] == '\t')
57 n_tabs += 1; 57 n_tabs += 1;
58 result = xmalloc(linelen + n_tabs * 8 + 1); 58 result = xmalloc(linelen + n_tabs * 8 + 1);
59 result[0] = '\0'; 59 result[0] = '\0';
60 60
61 while (1) { 61 while (1) {
@@ -106,10 +106,10 @@ static void print_ssdiff_line(char *class, int old_line_no, char *old_line,
106{ 106{
107 html("<tr>"); 107 html("<tr>");
108 if (old_line_no > 0) 108 if (old_line_no > 0)
109 htmlf("<td class='%s'>%d </td><td class='%s'>", class, 109 htmlf("<td class='lineno'>%d</td><td class='%s'>",
110 old_line_no, class); 110 old_line_no, class);
111 else 111 else
112 htmlf("<td class='%s_dark'> </td><td class='%s_dark'>", class, class); 112 htmlf("<td class='lineno'></td><td class='%s_dark'>", class);
113 113
114 if (old_line) { 114 if (old_line) {
115 old_line = replace_tabs(old_line + 1); 115 old_line = replace_tabs(old_line + 1);
@@ -117,13 +117,13 @@ static void print_ssdiff_line(char *class, int old_line_no, char *old_line,
117 free(old_line); 117 free(old_line);
118 } 118 }
119 119
120 html(" </td>"); 120 html("</td>");
121 121
122 if (new_line_no > 0) 122 if (new_line_no > 0)
123 htmlf("<td class='%s'> %d </td><td class='%s'>", class, 123 htmlf("<td class='lineno'>%d</td><td class='%s'>",
124 new_line_no, class); 124 new_line_no, class);
125 else 125 else
126 htmlf("<td class='%s_dark'> </td><td class='%s_dark'>", class, class); 126 htmlf("<td class='lineno'></td><td class='%s_dark'>", class);
127 127
128 if (new_line) { 128 if (new_line) {
129 new_line = replace_tabs(new_line + 1); 129 new_line = replace_tabs(new_line + 1);
@@ -249,16 +249,22 @@ void cgit_ssdiff_line_cb(char *line, int len)
249 line[len - 1] = c; 249 line[len - 1] = c;
250} 250}
251 251
252void cgit_ssdiff_header() 252void cgit_ssdiff_header_begin()
253{ 253{
254 current_old_line = 0; 254 current_old_line = 0;
255 current_new_line = 0; 255 current_new_line = 0;
256 html("<table class='ssdiff'>"); 256 html("<tr><td class='space' colspan='4'><div></div></td></tr>");
257 html("<tr><td class='head' colspan='4'>");
258}
259
260void cgit_ssdiff_header_end()
261{
262 html("</td><tr>");
257} 263}
258 264
259void cgit_ssdiff_footer() 265void cgit_ssdiff_footer()
260{ 266{
261 if (deferred_old || deferred_new) 267 if (deferred_old || deferred_new)
262 cgit_ssdiff_print_deferred_lines(); 268 cgit_ssdiff_print_deferred_lines();
263 html("</table>"); 269 html("<tr><td class='foot' colspan='4'></td></tr>");
264} 270}