-rw-r--r-- | ui-repolist.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ui-repolist.c b/ui-repolist.c index d7311e4..a884c20 100644 --- a/ui-repolist.c +++ b/ui-repolist.c | |||
@@ -3,37 +3,47 @@ | |||
3 | * Copyright (C) 2006 Lars Hjemli | 3 | * Copyright (C) 2006 Lars Hjemli |
4 | * | 4 | * |
5 | * Licensed under GNU General Public License v2 | 5 | * Licensed under GNU General Public License v2 |
6 | * (see COPYING for full license text) | 6 | * (see COPYING for full license text) |
7 | */ | 7 | */ |
8 | 8 | ||
9 | #include "cgit.h" | 9 | #include "cgit.h" |
10 | 10 | ||
11 | void cgit_print_repolist(struct cacheitem *item) | 11 | void cgit_print_repolist(struct cacheitem *item) |
12 | { | 12 | { |
13 | struct repoinfo *repo; | 13 | struct repoinfo *repo; |
14 | int i; | 14 | int i; |
15 | char *last_group = NULL; | ||
15 | 16 | ||
16 | cgit_print_docstart(cgit_root_title, item); | 17 | cgit_print_docstart(cgit_root_title, item); |
17 | cgit_print_pageheader(cgit_root_title, 0); | 18 | cgit_print_pageheader(cgit_root_title, 0); |
18 | 19 | ||
19 | html("<table class='list nowrap'>"); | 20 | html("<table class='list nowrap'>"); |
20 | html("<tr class='nohover'>" | 21 | html("<tr class='nohover'>" |
21 | "<th class='left'>Name</th>" | 22 | "<th class='left'>Name</th>" |
22 | "<th class='left'>Description</th>" | 23 | "<th class='left'>Description</th>" |
23 | "<th class='left'>Owner</th>" | 24 | "<th class='left'>Owner</th>" |
24 | "<th class='left'>Links</th></tr>\n"); | 25 | "<th class='left'>Links</th></tr>\n"); |
25 | 26 | ||
26 | for (i=0; i<cgit_repolist.count; i++) { | 27 | for (i=0; i<cgit_repolist.count; i++) { |
27 | repo = &cgit_repolist.repos[i]; | 28 | repo = &cgit_repolist.repos[i]; |
29 | if ((last_group == NULL && repo->group != NULL) || | ||
30 | (last_group != NULL && repo->group == NULL) || | ||
31 | (last_group != NULL && repo->group!= NULL && | ||
32 | strcmp(repo->group, last_group))) { | ||
33 | html("<tr><td colspan='4' class='repogroup'>"); | ||
34 | html_txt(repo->group); | ||
35 | html("</td></tr>"); | ||
36 | last_group = repo->group; | ||
37 | } | ||
28 | html("<tr><td>"); | 38 | html("<tr><td>"); |
29 | html_link_open(cgit_repourl(repo->url), NULL, NULL); | 39 | html_link_open(cgit_repourl(repo->url), NULL, NULL); |
30 | html_txt(repo->name); | 40 | html_txt(repo->name); |
31 | html_link_close(); | 41 | html_link_close(); |
32 | html("</td><td>"); | 42 | html("</td><td>"); |
33 | html_ntxt(cgit_max_repodesc_len, repo->desc); | 43 | html_ntxt(cgit_max_repodesc_len, repo->desc); |
34 | html("</td><td>"); | 44 | html("</td><td>"); |
35 | html_txt(repo->owner); | 45 | html_txt(repo->owner); |
36 | html("</td><td>"); | 46 | html("</td><td>"); |
37 | html_link_open(cgit_pageurl(repo->name, "commit", NULL), | 47 | html_link_open(cgit_pageurl(repo->name, "commit", NULL), |
38 | "Commit: display last commit", NULL); | 48 | "Commit: display last commit", NULL); |
39 | html("C</a> "); | 49 | html("C</a> "); |