diff options
| author | Lars Hjemli <hjemli@gmail.com> | 2008-04-08 21:29:21 +0200 | 
|---|---|---|
| committer | Lars Hjemli <hjemli@gmail.com> | 2008-04-08 21:29:21 +0200 | 
| commit | 23296ad648c0e2a9e3cf40a3de322b10ad25cce3 (patch) | |
| tree | 136493d8228b0ff4971feb06b0e8aee296367b00 /ui-repolist.c | |
| parent | Use GIT-1.5.5-rc2 (diff) | |
| parent | Reset ctx.repo to NULL when the config parser is finished (diff) | |
| download | cgit-23296ad648c0e2a9e3cf40a3de322b10ad25cce3.tar.gz cgit-23296ad648c0e2a9e3cf40a3de322b10ad25cce3.tar.bz2 cgit-23296ad648c0e2a9e3cf40a3de322b10ad25cce3.zip | |
Merge branch 'lh/cleanup'
* lh/cleanup: (21 commits)
  Reset ctx.repo to NULL when the config parser is finished
  Move cgit_parse_query() from parsing.c to html.c as http_parse_querystring()
  Move function for configfile parsing into configfile.[ch]
  Add cache.h
  Remove global and obsolete cgit_cmd
  Makefile: copy the QUIET constructs from the Makefile in git.git
  Move cgit_version from shared.c to cgit.c
  Makefile: autobuild dependency rules
  Initial Makefile cleanup
  Move non-generic functions from shared.c to cgit.c
  Add ui-shared.h
  Add separate header-files for each page/view
  Refactor snapshot support
  Add command dispatcher
  Remove obsolete cacheitem parameter to ui-functions
  Add struct cgit_page to cgit_context
  Introduce html.h
  Improve initialization of git directory
  Move cgit_repo into cgit_context
  Add all config variables into struct cgit_context
  ...
Diffstat (limited to 'ui-repolist.c')
| -rw-r--r-- | ui-repolist.c | 54 | 
1 files changed, 29 insertions, 25 deletions
| diff --git a/ui-repolist.c b/ui-repolist.c index 3e97ca9..eeeaf3d 100644 --- a/ui-repolist.c +++ b/ui-repolist.c @@ -6,9 +6,11 @@   *   (see COPYING for full license text)   */ -#include "cgit.h"  #include <time.h> +#include "cgit.h" +#include "html.h" +#include "ui-shared.h"  time_t read_agefile(char *path)  { @@ -25,12 +27,12 @@ time_t read_agefile(char *path)  		return 0;  } -static void print_modtime(struct repoinfo *repo) +static void print_modtime(struct cgit_repo *repo)  {  	char *path;  	struct stat s; -	path = fmt("%s/%s", repo->path, cgit_agefile); +	path = fmt("%s/%s", repo->path, ctx.cfg.agefile);  	if (stat(path, &s) == 0) {  		cgit_print_age(read_agefile(path), -1, NULL);  		return; @@ -42,22 +44,24 @@ static void print_modtime(struct repoinfo *repo)  	cgit_print_age(s.st_mtime, -1, NULL);  } -void cgit_print_repolist(struct cacheitem *item) +void cgit_print_repolist()  {  	int i, columns = 4;  	char *last_group = NULL; -	if (cgit_enable_index_links) +	if (ctx.cfg.enable_index_links)  		columns++; -	cgit_print_docstart(cgit_root_title, item); -	cgit_print_pageheader(cgit_root_title, 0); +	ctx.page.title = ctx.cfg.root_title; +	cgit_print_http_headers(&ctx); +	cgit_print_docstart(&ctx); +	cgit_print_pageheader(&ctx);  	html("<table summary='repository list' class='list nowrap'>"); -	if (cgit_index_header) { +	if (ctx.cfg.index_header) {  		htmlf("<tr class='nohover'><td colspan='%d' class='include-block'>",  		      columns); -		html_include(cgit_index_header); +		html_include(ctx.cfg.index_header);  		html("</td></tr>");  	}  	html("<tr class='nohover'>" @@ -65,37 +69,37 @@ void cgit_print_repolist(struct cacheitem *item)  	     "<th class='left'>Description</th>"  	     "<th class='left'>Owner</th>"  	     "<th class='left'>Idle</th>"); -	if (cgit_enable_index_links) +	if (ctx.cfg.enable_index_links)  		html("<th>Links</th>");  	html("</tr>\n");  	for (i=0; i<cgit_repolist.count; i++) { -		cgit_repo = &cgit_repolist.repos[i]; -		if ((last_group == NULL && cgit_repo->group != NULL) || -		    (last_group != NULL && cgit_repo->group == NULL) || -		    (last_group != NULL && cgit_repo->group != NULL && -		     strcmp(cgit_repo->group, last_group))) { +		ctx.repo = &cgit_repolist.repos[i]; +		if ((last_group == NULL && ctx.repo->group != NULL) || +		    (last_group != NULL && ctx.repo->group == NULL) || +		    (last_group != NULL && ctx.repo->group != NULL && +		     strcmp(ctx.repo->group, last_group))) {  			htmlf("<tr class='nohover'><td colspan='%d' class='repogroup'>",  			      columns); -			html_txt(cgit_repo->group); +			html_txt(ctx.repo->group);  			html("</td></tr>"); -			last_group = cgit_repo->group; +			last_group = ctx.repo->group;  		}  		htmlf("<tr><td class='%s'>", -		      cgit_repo->group ? "sublevel-repo" : "toplevel-repo"); -		html_link_open(cgit_repourl(cgit_repo->url), NULL, NULL); -		html_txt(cgit_repo->name); +		      ctx.repo->group ? "sublevel-repo" : "toplevel-repo"); +		html_link_open(cgit_repourl(ctx.repo->url), NULL, NULL); +		html_txt(ctx.repo->name);  		html_link_close();  		html("</td><td>"); -		html_ntxt(cgit_max_repodesc_len, cgit_repo->desc); +		html_ntxt(ctx.cfg.max_repodesc_len, ctx.repo->desc);  		html("</td><td>"); -		html_txt(cgit_repo->owner); +		html_txt(ctx.repo->owner);  		html("</td><td>"); -		print_modtime(cgit_repo); +		print_modtime(ctx.repo);  		html("</td>"); -		if (cgit_enable_index_links) { +		if (ctx.cfg.enable_index_links) {  			html("<td>"); -			html_link_open(cgit_repourl(cgit_repo->url), +			html_link_open(cgit_repourl(ctx.repo->url),  				       NULL, "button");  			html("summary</a>");  			cgit_log_link("log", NULL, "button", NULL, NULL, NULL, | 
