X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/685872b770be2af643d00365d5358e46687f7385..6940b23b9e4698ba466a4616e4de77b986560ad3:/ui-shared.c diff --git a/ui-shared.c b/ui-shared.c index 372b9e7..ae29615 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -341,6 +341,18 @@ void cgit_commit_link(char *name, const char *title, const char *class, if ((ctx.qry.ssdiff && !toggle_ssdiff) || (!ctx.qry.ssdiff && toggle_ssdiff)) { html(delim); html("ss=1"); + delim = "&"; + } + if (ctx.qry.context > 0 && ctx.qry.context != 3) { + html(delim); + html("context="); + htmlf("%d", ctx.qry.context); + delim = "&"; + } + if (ctx.qry.ignorews) { + html(delim); + html("ignorews=1"); + delim = "&"; } html("'>"); html_txt(name); @@ -382,6 +394,18 @@ void cgit_diff_link(const char *name, const char *title, const char *class, if ((ctx.qry.ssdiff && !toggle_ssdiff) || (!ctx.qry.ssdiff && toggle_ssdiff)) { html(delim); html("ss=1"); + delim = "&"; + } + if (ctx.qry.context > 0 && ctx.qry.context != 3) { + html(delim); + html("context="); + htmlf("%d", ctx.qry.context); + delim = "&"; + } + if (ctx.qry.ignorews) { + html(delim); + html("ignorews=1"); + delim = "&"; } html("'>"); html_txt(name); @@ -790,16 +814,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, @@ -815,6 +840,7 @@ void cgit_print_pageheader(struct cgit_context *ctx) html_option("grep", "log msg", ctx->qry.grep); html_option("author", "author", ctx->qry.grep); html_option("committer", "committer", ctx->qry.grep); + html_option("range", "range", ctx->qry.grep); html("\n"); html("