On Wed, Jun 20, 2018 at 09:17:00PM +0800, Andy Green wrote: > noheader=1 stops the static page header from being emitted by > cgit, but along with that, the small form that lets the user > change branch context on the page is also lost. > > This isn't actually static since it contains a dynamic list of > branches; it can't be reproduced on the user's external header > static html. So it seems it doesn't belong to the set of header > things that should be disabled. > > This patch relocates the branch selection combo and > form on the left of the tabs line if noheader=1. It doesn't > change anything if noheader is not set. > > Signed-off-by: Andy Green <[email protected]>
This makes noheader=1 a lot more usable! I wonder if the branch combo should be somewhere to the right of the main tabs, but I don't feel strongly either way. Reviewed-by: John Keeping <[email protected]> > --- > ui-shared.c | 34 ++++++++++++++++++++++++---------- > 1 file changed, 24 insertions(+), 10 deletions(-) > > diff --git a/ui-shared.c b/ui-shared.c > index c9a34fb..082a6f1 100644 > --- a/ui-shared.c > +++ b/ui-shared.c > @@ -958,6 +958,19 @@ static void cgit_print_path_crumbs(char *path) > ctx.qry.path = old_path; > } > > +static void print_branch_combo_form(void) > +{ > + html("<form method='get'>\n"); > + cgit_add_hidden_formfields(0, 1, ctx.qry.page); > + html("<select name='h' onchange='this.form.submit();'>\n"); > + for_each_branch_ref(print_branch_option, ctx.qry.head); > + if (ctx.repo->enable_remote_branches) > + for_each_remote_ref(print_branch_option, ctx.qry.head); > + html("</select> "); > + html("<input type='submit' value='switch'/>"); > + html("</form>"); > +} > + > static void print_header(void) > { > char *logo = NULL, *logo_link = NULL; > @@ -991,15 +1004,7 @@ static void print_header(void) > cgit_summary_link(ctx.repo->name, ctx.repo->name, NULL, NULL); > if (ctx.env.authenticated) { > html("</td><td class='form'>"); > - html("<form method='get'>\n"); > - cgit_add_hidden_formfields(0, 1, ctx.qry.page); > - html("<select name='h' > onchange='this.form.submit();'>\n"); > - for_each_branch_ref(print_branch_option, ctx.qry.head); > - if (ctx.repo->enable_remote_branches) > - for_each_remote_ref(print_branch_option, > ctx.qry.head); > - html("</select> "); > - html("<input type='submit' value='switch'/>"); > - html("</form>"); > + print_branch_combo_form(); > } > } else > html_txt(ctx.cfg.root_title); > @@ -1023,8 +1028,15 @@ void cgit_print_pageheader(void) > if (!ctx.env.authenticated || !ctx.cfg.noheader) > print_header(); > > - html("<table class='tabs'><tr><td>\n"); > + html("<table class='tabs'><tr>\n"); > if (ctx.env.authenticated && ctx.repo) { > + if (ctx.cfg.noheader) { > + html("<td class='form' style='text-align:left'>"); > + print_branch_combo_form(); > + html("</td><td style='text-align:center'>"); > + } > + html("<td>"); > + > if (ctx.repo->readme.nr) > reporevlink("about", "about", NULL, > hc("about"), ctx.qry.head, NULL, > @@ -1081,6 +1093,8 @@ void cgit_print_pageheader(void) > html("</form>\n"); > } else if (ctx.env.authenticated) { > char *currenturl = cgit_currenturl(); > + > + html("<td>"); > site_link(NULL, "index", NULL, hc("repolist"), NULL, NULL, 0, > 1); > if (ctx.cfg.root_readme) > site_link("about", "about", NULL, hc("about"), _______________________________________________ CGit mailing list [email protected] https://lists.zx2c4.com/mailman/listinfo/cgit
