From mboxrd@z Thu Jan 1 00:00:00 1970 From: john at keeping.me.uk (John Keeping) Date: Sat, 23 Jun 2018 11:50:10 +0100 Subject: [PATCH] noheader: place branch combo on tabs if no header In-Reply-To: <152950062069.30029.12723213146610945242.stgit@mail.warmcat.com> References: <45190b3f-ced1-2b5f-9d3e-c9da90192867@warmcat.com> <152950062069.30029.12723213146610945242.stgit@mail.warmcat.com> Message-ID: <20180623105010.GE6584@john.keeping.me.uk> 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 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 > --- > 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("
\n"); > + cgit_add_hidden_formfields(0, 1, ctx.qry.page); > + html(" "); > + html(""); > + html("
"); > +} > + > 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(""); > - html("
\n"); > - cgit_add_hidden_formfields(0, 1, ctx.qry.page); > - html(" "); > - html(""); > - html("
"); > + 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("
\n"); > + html("\n"); > if (ctx.env.authenticated && ctx.repo) { > + if (ctx.cfg.noheader) { > + html("
"); > + print_branch_combo_form(); > + html(""); > + } > + html(""); > + > 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("\n"); > } else if (ctx.env.authenticated) { > char *currenturl = cgit_currenturl(); > + > + html(""); > site_link(NULL, "index", NULL, hc("repolist"), NULL, NULL, 0, 1); > if (ctx.cfg.root_readme) > site_link("about", "about", NULL, hc("about"),