about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorJohan Herland2010-06-10 01:09:36 +0200
committerLars Hjemli2010-06-19 10:40:24 +0200
commit7fdff2460440c09d13fc76af3b75e85434e6f563 (patch)
tree2285bf24286d5ec6046a13b18599e0e00e63111d
parentui-commit: Preserve path limit in links to commit page (diff)
downloadcgit-7fdff2460440c09d13fc76af3b75e85434e6f563.tar.gz
cgit-7fdff2460440c09d13fc76af3b75e85434e6f563.zip
ui-shared: Preserve path limit in "tab bar" links
When using the "tab bar" in the pageheader to navigate between pages, any
path limit in effect on the current page is forgotten in the link to the
target page, even if the target page can interpret and use the path limit
constructively.

Instead, preserve the current page's path limit in the "tab bar" links to
other pages, where the path limit is useful to the target page.

Signed-off-by: Johan Herland <johan@herland.net>
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--ui-shared.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/ui-shared.c b/ui-shared.c index 372b9e7..e991799 100644 --- a/ui-shared.c +++ b/ui-shared.c
@@ -790,16 +790,17 @@ void cgit_print_pageheader(struct cgit_context *ctx)
790 cgit_refs_link("refs", NULL, hc(ctx, "refs"), ctx->qry.head, 790 cgit_refs_link("refs", NULL, hc(ctx, "refs"), ctx->qry.head,
791 ctx->qry.sha1, NULL); 791 ctx->qry.sha1, NULL);
792 cgit_log_link("log", NULL, hc(ctx, "log"), ctx->qry.head, 792 cgit_log_link("log", NULL, hc(ctx, "log"), ctx->qry.head,
793 NULL, NULL, 0, NULL, NULL, ctx->qry.showmsg); 793 NULL, ctx->qry.vpath, 0, NULL, NULL,
794 ctx->qry.showmsg);
794 cgit_tree_link("tree", NULL, hc(ctx, "tree"), ctx->qry.head, 795 cgit_tree_link("tree", NULL, hc(ctx, "tree"), ctx->qry.head,
795 ctx->qry.sha1, NULL); 796 ctx->qry.sha1, ctx->qry.vpath);
796 cgit_commit_link("commit", NULL, hc(ctx, "commit"), 797 cgit_commit_link("commit", NULL, hc(ctx, "commit"),
797 ctx->qry.head, ctx->qry.sha1, NULL, 0); 798 ctx->qry.head, ctx->qry.sha1, ctx->qry.vpath, 0);
798 cgit_diff_link("diff", NULL, hc(ctx, "diff"), ctx->qry.head, 799 cgit_diff_link("diff", NULL, hc(ctx, "diff"), ctx->qry.head,
799 ctx->qry.sha1, ctx->qry.sha2, NULL, 0); 800 ctx->qry.sha1, ctx->qry.sha2, ctx->qry.vpath, 0);
800 if (ctx->repo->max_stats) 801 if (ctx->repo->max_stats)
801 cgit_stats_link("stats", NULL, hc(ctx, "stats"), 802 cgit_stats_link("stats", NULL, hc(ctx, "stats"),
802 ctx->qry.head, NULL); 803 ctx->qry.head, ctx->qry.vpath);
803 if (ctx->repo->readme) 804 if (ctx->repo->readme)
804 reporevlink("about", "about", NULL, 805 reporevlink("about", "about", NULL,
805 hc(ctx, "about"), ctx->qry.head, NULL, 806 hc(ctx, "about"), ctx->qry.head, NULL,