diff options
Diffstat (limited to '')
| -rw-r--r-- | cgit.c | 2 | ||||
| -rw-r--r-- | cgit.css | 15 | ||||
| -rw-r--r-- | cgit.h | 1 | ||||
| -rw-r--r-- | ui-log.c | 35 | ||||
| -rw-r--r-- | ui-refs.c | 3 | ||||
| -rw-r--r-- | ui-repolist.c | 2 | ||||
| -rw-r--r-- | ui-shared.c | 12 | ||||
| -rw-r--r-- | ui-shared.h | 2 | ||||
| -rw-r--r-- | ui-tree.c | 2 | 
9 files changed, 61 insertions, 13 deletions
| @@ -156,6 +156,8 @@ static void querystring_cb(const char *name, const char *value)  		ctx.qry.mimetype = xstrdup(value);  	} else if (!strcmp(name, "s")){  		ctx.qry.sort = xstrdup(value); +	} else if (!strcmp(name, "showmsg")) { +		ctx.qry.showmsg = atoi(value);  	}  } @@ -120,6 +120,10 @@ table.list tr {  	background: white;  } +table.list tr.logheader { +	background: #eee; +} +  table.list tr:hover {  	background: #eee;  } @@ -143,6 +147,17 @@ table.list td {  	padding: 0.1em 0.5em 0.1em 0.5em;  } +table.list td.logsubject { +	font-family: monospace; +	font-weight: bold; +} + +table.list td.logmsg { +	font-family: monospace; +	white-space: pre; +	padding: 1em 0em 2em 0em; +} +  table.list td a {  	color: black;  } @@ -123,6 +123,7 @@ struct cgit_query {  	int   ofs;  	int nohead;  	char *sort; +	int showmsg;  };  struct cgit_config { @@ -35,15 +35,18 @@ void print_commit(struct commit *commit)  {  	struct commitinfo *info;  	char *tmp; +	int cols = 2;  	info = cgit_parse_commit(commit); -	html("<tr><td>"); +	htmlf("<tr%s><td>", +		ctx.qry.showmsg ? " class='logheader'" : "");  	tmp = fmt("id=%s", sha1_to_hex(commit->object.sha1));  	tmp = cgit_pageurl(ctx.repo->url, "commit", tmp);  	html_link_open(tmp, NULL, NULL);  	cgit_print_age(commit->date, TM_WEEK * 2, FMT_SHORTDATE);  	html_link_close(); -	html("</td><td>"); +	htmlf("</td><td%s>", +		ctx.qry.showmsg ? " class='logsubject'" : "");  	cgit_commit_link(info->subject, NULL, NULL, ctx.qry.head,  			 sha1_to_hex(commit->object.sha1));  	html("</td><td>"); @@ -61,6 +64,17 @@ void print_commit(struct commit *commit)  		}  	}  	html("</td></tr>\n"); +	if (ctx.qry.showmsg) { +		if (ctx.repo->enable_log_filecount) { +			cols++; +			if (ctx.repo->enable_log_linecount) +				cols++; +		} +		htmlf("<tr class='nohover'><td/><td colspan='%d' class='logmsg'>", +			cols); +		html_txt(info->msg); +		html("</td></tr>\n"); +	}  	cgit_free_commitinfo(info);  } @@ -113,8 +127,15 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern  		html("<table class='list nowrap'>");  	html("<tr class='nohover'><th class='left'>Age</th>" -	     "<th class='left'>Commit message</th>" -	     "<th class='left'>Author</th>"); +	      "<th class='left'>Commit message"); +	if (pager) { +		html(" ("); +		cgit_log_link("toggle", NULL, NULL, ctx.qry.head, ctx.qry.sha1, +			      ctx.qry.path, ctx.qry.ofs, ctx.qry.grep, +			      ctx.qry.search, ctx.qry.showmsg ? 0 : 1); +		html(")"); +	} +	html("</th><th class='left'>Author</th>");  	if (ctx.repo->enable_log_filecount) {  		html("<th class='left'>Files</th>");  		columns++; @@ -149,20 +170,20 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern  			cgit_log_link("[prev]", NULL, NULL, ctx.qry.head,  				      ctx.qry.sha1, ctx.qry.path,  				      ofs - cnt, ctx.qry.grep, -				      ctx.qry.search); +				      ctx.qry.search, ctx.qry.showmsg);  			html(" ");  		}  		if ((commit = get_revision(&rev)) != NULL) {  			cgit_log_link("[next]", NULL, NULL, ctx.qry.head,  				      ctx.qry.sha1, ctx.qry.path,  				      ofs + cnt, ctx.qry.grep, -				      ctx.qry.search); +				      ctx.qry.search, ctx.qry.showmsg);  		}  		html("</div>");  	} else if ((commit = get_revision(&rev)) != NULL) {  		html("<tr class='nohover'><td colspan='3'>");  		cgit_log_link("[...]", NULL, NULL, ctx.qry.head, NULL, NULL, 0, -			      NULL, NULL); +			      NULL, NULL, ctx.qry.showmsg);  		html("</td></tr>\n");  	}  } @@ -58,7 +58,8 @@ static int print_branch(struct refinfo *ref)  	if (!info)  		return 1;  	html("<tr><td>"); -	cgit_log_link(name, NULL, NULL, name, NULL, NULL, 0, NULL, NULL); +	cgit_log_link(name, NULL, NULL, name, NULL, NULL, 0, NULL, NULL, +		      ctx.qry.showmsg);  	html("</td><td>");  	if (ref->object->type == OBJ_COMMIT) { diff --git a/ui-repolist.c b/ui-repolist.c index 87196f0..2c13d50 100644 --- a/ui-repolist.c +++ b/ui-repolist.c @@ -257,7 +257,7 @@ void cgit_print_repolist()  			html("<td>");  			cgit_summary_link("summary", NULL, "button", NULL);  			cgit_log_link("log", NULL, "button", NULL, NULL, NULL, -				      0, NULL, NULL); +				      0, NULL, NULL, ctx.qry.showmsg);  			cgit_tree_link("tree", NULL, "button", NULL, NULL, NULL);  			html("</td>");  		} diff --git a/ui-shared.c b/ui-shared.c index 9319881..95dfeb4 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -281,7 +281,8 @@ void cgit_plain_link(char *name, char *title, char *class, char *head,  }  void cgit_log_link(char *name, char *title, char *class, char *head, -		   char *rev, char *path, int ofs, char *grep, char *pattern) +		   char *rev, char *path, int ofs, char *grep, char *pattern, +		   int showmsg)  {  	char *delim; @@ -305,6 +306,11 @@ void cgit_log_link(char *name, char *title, char *class, char *head,  		html(delim);  		html("ofs=");  		htmlf("%d", ofs); +		delim = "&"; +	} +	if (showmsg) { +		html(delim); +		html("showmsg=1");  	}  	html("'>");  	html_txt(name); @@ -570,6 +576,8 @@ void add_hidden_formfields(int incl_head, int incl_search, char *page)  		html_hidden("id", ctx.qry.sha1);  	if (ctx.qry.sha2)  		html_hidden("id2", ctx.qry.sha2); +	if (ctx.qry.showmsg) +		html_hidden("showmsg", "1");  	if (incl_search) {  		if (ctx.qry.grep) @@ -636,7 +644,7 @@ void cgit_print_pageheader(struct cgit_context *ctx)  		cgit_refs_link("refs", NULL, hc(cmd, "refs"), ctx->qry.head,  			       ctx->qry.sha1, NULL);  		cgit_log_link("log", NULL, hc(cmd, "log"), ctx->qry.head, -			      NULL, NULL, 0, NULL, NULL); +			      NULL, NULL, 0, NULL, NULL, ctx->qry.showmsg);  		cgit_tree_link("tree", NULL, hc(cmd, "tree"), ctx->qry.head,  			       ctx->qry.sha1, NULL);  		cgit_commit_link("commit", NULL, hc(cmd, "commit"), diff --git a/ui-shared.h b/ui-shared.h index 3c8a6d0..2ab53ae 100644 --- a/ui-shared.h +++ b/ui-shared.h @@ -19,7 +19,7 @@ extern void cgit_plain_link(char *name, char *title, char *class, char *head,  			    char *rev, char *path);  extern void cgit_log_link(char *name, char *title, char *class, char *head,  			  char *rev, char *path, int ofs, char *grep, -			  char *pattern); +			  char *pattern, int showmsg);  extern void cgit_commit_link(char *name, char *title, char *class, char *head,  			     char *rev);  extern void cgit_patch_link(char *name, char *title, char *class, char *head, @@ -106,7 +106,7 @@ static int ls_item(const unsigned char *sha1, const char *base, int baselen,  	html("<td>");  	cgit_log_link("log", NULL, "button", ctx.qry.head, curr_rev, -		      fullpath, 0, NULL, NULL); +		      fullpath, 0, NULL, NULL, ctx.qry.showmsg);  	html("</td></tr>\n");  	free(name);  	return 0; | 
