]> granicus.if.org Git - cgit/commitdiff
ui-shared: Preserve path limit in "tab bar" links
authorJohan Herland <johan@herland.net>
Wed, 9 Jun 2010 23:09:36 +0000 (01:09 +0200)
committerLars Hjemli <hjemli@gmail.com>
Sat, 19 Jun 2010 08:40:24 +0000 (10:40 +0200)
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>
ui-shared.c

index 372b9e7758b016c4f1420aade0e5a31b2a4c982a..e9917993fb2d4181bf3adb6ff4c01dea0cb52f26 100644 (file)
@@ -790,16 +790,17 @@ void cgit_print_pageheader(struct cgit_context *ctx)
                cgit_refs_link("refs", NULL, hc(ctx, "refs"), ctx->qry.head,
                               ctx->qry.sha1, NULL);
                cgit_log_link("log", NULL, hc(ctx, "log"), ctx->qry.head,
-                             NULL, NULL, 0, NULL, NULL, ctx->qry.showmsg);
+                             NULL, ctx->qry.vpath, 0, NULL, NULL,
+                             ctx->qry.showmsg);
                cgit_tree_link("tree", NULL, hc(ctx, "tree"), ctx->qry.head,
-                              ctx->qry.sha1, NULL);
+                              ctx->qry.sha1, ctx->qry.vpath);
                cgit_commit_link("commit", NULL, hc(ctx, "commit"),
-                                ctx->qry.head, ctx->qry.sha1, NULL, 0);
+                                ctx->qry.head, ctx->qry.sha1, ctx->qry.vpath, 0);
                cgit_diff_link("diff", NULL, hc(ctx, "diff"), ctx->qry.head,
-                              ctx->qry.sha1, ctx->qry.sha2, NULL, 0);
+                              ctx->qry.sha1, ctx->qry.sha2, ctx->qry.vpath, 0);
                if (ctx->repo->max_stats)
                        cgit_stats_link("stats", NULL, hc(ctx, "stats"),
-                                       ctx->qry.head, NULL);
+                                       ctx->qry.head, ctx->qry.vpath);
                if (ctx->repo->readme)
                        reporevlink("about", "about", NULL,
                                    hc(ctx, "about"), ctx->qry.head, NULL,