-rw-r--r-- | ui-shared.c | 22 |
1 files changed, 18 insertions, 4 deletions
diff --git a/ui-shared.c b/ui-shared.c index 95dfeb4..4f28512 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
@@ -371,2 +371,8 @@ void cgit_patch_link(char *name, char *title, char *class, char *head, | |||
371 | 371 | ||
372 | void cgit_stats_link(char *name, char *title, char *class, char *head, | ||
373 | char *path) | ||
374 | { | ||
375 | reporevlink("stats", name, title, class, head, NULL, path); | ||
376 | } | ||
377 | |||
372 | void cgit_object_link(struct object *obj) | 378 | void cgit_object_link(struct object *obj) |
@@ -559,3 +565,3 @@ int print_archive_ref(const char *refname, const unsigned char *sha1, | |||
559 | 565 | ||
560 | void add_hidden_formfields(int incl_head, int incl_search, char *page) | 566 | void cgit_add_hidden_formfields(int incl_head, int incl_search, char *page) |
561 | { | 567 | { |
@@ -589,5 +595,7 @@ void add_hidden_formfields(int incl_head, int incl_search, char *page) | |||
589 | 595 | ||
596 | const char *fallback_cmd = "repolist"; | ||
597 | |||
590 | char *hc(struct cgit_cmd *cmd, const char *page) | 598 | char *hc(struct cgit_cmd *cmd, const char *page) |
591 | { | 599 | { |
592 | return (strcmp(cmd->name, page) ? NULL : "active"); | 600 | return (strcmp(cmd ? cmd->name : fallback_cmd, page) ? NULL : "active"); |
593 | } | 601 | } |
@@ -598,2 +606,5 @@ void cgit_print_pageheader(struct cgit_context *ctx) | |||
598 | 606 | ||
607 | if (!cmd && ctx->repo) | ||
608 | fallback_cmd = "summary"; | ||
609 | |||
599 | html("<table id='header'>\n"); | 610 | html("<table id='header'>\n"); |
@@ -616,3 +627,3 @@ void cgit_print_pageheader(struct cgit_context *ctx) | |||
616 | html("<form method='get' action=''>\n"); | 627 | html("<form method='get' action=''>\n"); |
617 | add_hidden_formfields(0, 1, ctx->qry.page); | 628 | cgit_add_hidden_formfields(0, 1, ctx->qry.page); |
618 | html("<select name='h' onchange='this.form.submit();'>\n"); | 629 | html("<select name='h' onchange='this.form.submit();'>\n"); |
@@ -653,2 +664,5 @@ void cgit_print_pageheader(struct cgit_context *ctx) | |||
653 | ctx->qry.sha1, ctx->qry.sha2, NULL); | 664 | ctx->qry.sha1, ctx->qry.sha2, NULL); |
665 | if (ctx->repo->max_stats) | ||
666 | cgit_stats_link("stats", NULL, hc(cmd, "stats"), | ||
667 | ctx->qry.head, NULL); | ||
654 | if (ctx->repo->readme) | 668 | if (ctx->repo->readme) |
@@ -663,3 +677,3 @@ void cgit_print_pageheader(struct cgit_context *ctx) | |||
663 | html("'>\n"); | 677 | html("'>\n"); |
664 | add_hidden_formfields(1, 0, "log"); | 678 | cgit_add_hidden_formfields(1, 0, "log"); |
665 | html("<select name='qt'>\n"); | 679 | html("<select name='qt'>\n"); |