-rw-r--r-- | ui-shared.c | 31 |
1 files changed, 12 insertions, 19 deletions
diff --git a/ui-shared.c b/ui-shared.c index 7d7fff0..137e469 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -640,21 +640,19 @@ void cgit_add_hidden_formfields(int incl_head, int incl_search, if (incl_search) { if (ctx.qry.grep) html_hidden("qt", ctx.qry.grep); if (ctx.qry.search) html_hidden("q", ctx.qry.search); } } -const char *fallback_cmd = "repolist"; - -char *hc(struct cgit_cmd *cmd, const char *page) +static const char *hc(struct cgit_context *ctx, const char *page) { - return (strcmp(cmd ? cmd->name : fallback_cmd, page) ? NULL : "active"); + return strcmp(ctx->qry.page, page) ? NULL : "active"; } static void print_header(struct cgit_context *ctx) { html("<table id='header'>\n"); html("<tr>\n"); if (ctx->cfg.logo && ctx->cfg.logo[0] != 0) { @@ -696,45 +694,40 @@ static void print_header(struct cgit_context *ctx) else if (ctx->cfg.index_info) html_include(ctx->cfg.index_info); } html("</td></tr></table>\n"); } void cgit_print_pageheader(struct cgit_context *ctx) { - struct cgit_cmd *cmd = cgit_get_cmd(ctx); - - if (!cmd && ctx->repo) - fallback_cmd = "summary"; - html("<div id='cgit'>"); if (!ctx->cfg.noheader) print_header(ctx); html("<table class='tabs'><tr><td>\n"); if (ctx->repo) { - cgit_summary_link("summary", NULL, hc(cmd, "summary"), + cgit_summary_link("summary", NULL, hc(ctx, "summary"), ctx->qry.head); - cgit_refs_link("refs", NULL, hc(cmd, "refs"), ctx->qry.head, + cgit_refs_link("refs", NULL, hc(ctx, "refs"), ctx->qry.head, ctx->qry.sha1, NULL); - cgit_log_link("log", NULL, hc(cmd, "log"), ctx->qry.head, + cgit_log_link("log", NULL, hc(ctx, "log"), ctx->qry.head, NULL, NULL, 0, NULL, NULL, ctx->qry.showmsg); - cgit_tree_link("tree", NULL, hc(cmd, "tree"), ctx->qry.head, + cgit_tree_link("tree", NULL, hc(ctx, "tree"), ctx->qry.head, ctx->qry.sha1, NULL); - cgit_commit_link("commit", NULL, hc(cmd, "commit"), + cgit_commit_link("commit", NULL, hc(ctx, "commit"), ctx->qry.head, ctx->qry.sha1, 0); - cgit_diff_link("diff", NULL, hc(cmd, "diff"), ctx->qry.head, + cgit_diff_link("diff", NULL, hc(ctx, "diff"), ctx->qry.head, ctx->qry.sha1, ctx->qry.sha2, NULL, 0); if (ctx->repo->max_stats) - cgit_stats_link("stats", NULL, hc(cmd, "stats"), + cgit_stats_link("stats", NULL, hc(ctx, "stats"), ctx->qry.head, NULL); if (ctx->repo->readme) reporevlink("about", "about", NULL, - hc(cmd, "about"), ctx->qry.head, NULL, + hc(ctx, "about"), ctx->qry.head, NULL, NULL); html("</td><td class='form'>"); html("<form class='right' method='get' action='"); if (ctx->cfg.virtual_root) html_url_path(cgit_fileurl(ctx->qry.repo, "log", ctx->qry.path, NULL)); html("'>\n"); cgit_add_hidden_formfields(1, 0, "log"); @@ -744,19 +737,19 @@ void cgit_print_pageheader(struct cgit_context *ctx) html_option("committer", "committer", ctx->qry.grep); html("</select>\n"); html("<input class='txt' type='text' size='10' name='q' value='"); html_attr(ctx->qry.search); html("'/>\n"); html("<input type='submit' value='search'/>\n"); html("</form>\n"); } else { - site_link(NULL, "index", NULL, hc(cmd, "repolist"), NULL, 0); + site_link(NULL, "index", NULL, hc(ctx, "repolist"), NULL, 0); if (ctx->cfg.root_readme) - site_link("about", "about", NULL, hc(cmd, "about"), + site_link("about", "about", NULL, hc(ctx, "about"), NULL, 0); html("</td><td class='form'>"); html("<form method='get' action='"); html_attr(cgit_rooturl()); html("'>\n"); html("<input type='text' name='q' size='10' value='"); html_attr(ctx->qry.search); html("'/>\n"); |