summaryrefslogtreecommitdiffabout
path: root/ui-shared.c
authorLars Hjemli <hjemli@gmail.com>2008-05-03 10:44:20 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2008-05-04 15:30:02 (UTC)
commit17890d0058c1555133c8767ceb123e809e6971ab (patch) (unidiff)
treee20eac18444fd75f6e25f03b6622245ca848d0d6 /ui-shared.c
parentaa3c4486b41b8b13d0f52477f033837fc8bb9524 (diff)
downloadcgit-17890d0058c1555133c8767ceb123e809e6971ab.zip
cgit-17890d0058c1555133c8767ceb123e809e6971ab.tar.gz
cgit-17890d0058c1555133c8767ceb123e809e6971ab.tar.bz2
Add link to index page from repo header, remove page name
This makes it more obvious how to get back to the index, especially when the config option `logo-link` is used. And the page name displayed in the header provided no extra information. It only consumed space and deserved to die. While at it, make sure that the different parts of the header doesn't wrap when horizontal space is limited. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (limited to 'ui-shared.c') (more/less context) (ignore whitespace changes)
-rw-r--r--ui-shared.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 44269a7..cd98387 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -484,132 +484,132 @@ int print_archive_ref(const char *refname, const unsigned char *sha1,
484 hashcpy(fileid, sha1); 484 hashcpy(fileid, sha1);
485 } 485 }
486 if (!*header) { 486 if (!*header) {
487 html("<h1>download</h1>\n"); 487 html("<h1>download</h1>\n");
488 *header = 1; 488 *header = 1;
489 } 489 }
490 url = cgit_pageurl(ctx.qry.repo, "blob", 490 url = cgit_pageurl(ctx.qry.repo, "blob",
491 fmt("id=%s&amp;path=%s", sha1_to_hex(fileid), 491 fmt("id=%s&amp;path=%s", sha1_to_hex(fileid),
492 buf)); 492 buf));
493 html_link_open(url, NULL, "menu"); 493 html_link_open(url, NULL, "menu");
494 html_txt(strlpart(buf, 20)); 494 html_txt(strlpart(buf, 20));
495 html_link_close(); 495 html_link_close();
496 return 0; 496 return 0;
497} 497}
498 498
499void add_hidden_formfields(int incl_head, int incl_search, char *page) 499void add_hidden_formfields(int incl_head, int incl_search, char *page)
500{ 500{
501 char *url; 501 char *url;
502 502
503 if (!ctx.cfg.virtual_root) { 503 if (!ctx.cfg.virtual_root) {
504 url = fmt("%s/%s", ctx.qry.repo, page); 504 url = fmt("%s/%s", ctx.qry.repo, page);
505 if (ctx.qry.path) 505 if (ctx.qry.path)
506 url = fmt("%s/%s", url, ctx.qry.path); 506 url = fmt("%s/%s", url, ctx.qry.path);
507 html_hidden("url", url); 507 html_hidden("url", url);
508 } 508 }
509 509
510 if (incl_head && strcmp(ctx.qry.head, ctx.repo->defbranch)) 510 if (incl_head && strcmp(ctx.qry.head, ctx.repo->defbranch))
511 html_hidden("h", ctx.qry.head); 511 html_hidden("h", ctx.qry.head);
512 512
513 if (ctx.qry.sha1) 513 if (ctx.qry.sha1)
514 html_hidden("id", ctx.qry.sha1); 514 html_hidden("id", ctx.qry.sha1);
515 if (ctx.qry.sha2) 515 if (ctx.qry.sha2)
516 html_hidden("id2", ctx.qry.sha2); 516 html_hidden("id2", ctx.qry.sha2);
517 517
518 if (incl_search) { 518 if (incl_search) {
519 if (ctx.qry.grep) 519 if (ctx.qry.grep)
520 html_hidden("qt", ctx.qry.grep); 520 html_hidden("qt", ctx.qry.grep);
521 if (ctx.qry.search) 521 if (ctx.qry.search)
522 html_hidden("q", ctx.qry.search); 522 html_hidden("q", ctx.qry.search);
523 } 523 }
524} 524}
525 525
526char *hc(struct cgit_cmd *cmd, const char *page) 526char *hc(struct cgit_cmd *cmd, const char *page)
527{ 527{
528 return (strcmp(cmd->name, page) ? NULL : "active"); 528 return (strcmp(cmd->name, page) ? NULL : "active");
529} 529}
530 530
531void cgit_print_pageheader(struct cgit_context *ctx) 531void cgit_print_pageheader(struct cgit_context *ctx)
532{ 532{
533 struct cgit_cmd *cmd = cgit_get_cmd(ctx); 533 struct cgit_cmd *cmd = cgit_get_cmd(ctx);
534 534
535 html("<table id='header'>\n"); 535 html("<table id='header'>\n");
536 html("<tr>\n"); 536 html("<tr>\n");
537 html("<td class='logo' rowspan='2'><a href='"); 537 html("<td class='logo' rowspan='2'><a href='");
538 if (ctx->cfg.logo_link) 538 if (ctx->cfg.logo_link)
539 html_attr(ctx->cfg.logo_link); 539 html_attr(ctx->cfg.logo_link);
540 else 540 else
541 html_attr(cgit_rooturl()); 541 html_attr(cgit_rooturl());
542 html("'><img src='"); 542 html("'><img src='");
543 html_attr(ctx->cfg.logo); 543 html_attr(ctx->cfg.logo);
544 html("' alt='cgit logo'/></a></td>\n"); 544 html("' alt='cgit logo'/></a></td>\n");
545 545
546 html("<td class='main'>"); 546 html("<td class='main'>");
547 if (ctx->repo) { 547 if (ctx->repo) {
548 cgit_index_link("index", NULL, NULL, NULL, 0);
549 html(" : ");
548 reporevlink(NULL, ctx->repo->name, NULL, hc(cmd, "summary"), 550 reporevlink(NULL, ctx->repo->name, NULL, hc(cmd, "summary"),
549 ctx->qry.head, NULL, NULL); 551 ctx->qry.head, NULL, NULL);
550 html(" : ");
551 html_txt(ctx->qry.page);
552 html("</td><td class='form'>"); 552 html("</td><td class='form'>");
553 html("<form method='get' action=''>\n"); 553 html("<form method='get' action=''>\n");
554 add_hidden_formfields(0, 1, ctx->qry.page); 554 add_hidden_formfields(0, 1, ctx->qry.page);
555 html("<select name='h' onchange='this.form.submit();'>\n"); 555 html("<select name='h' onchange='this.form.submit();'>\n");
556 for_each_branch_ref(print_branch_option, ctx->qry.head); 556 for_each_branch_ref(print_branch_option, ctx->qry.head);
557 html("</select> "); 557 html("</select> ");
558 html("<input type='submit' name='' value='switch'/>"); 558 html("<input type='submit' name='' value='switch'/>");
559 html("</form>"); 559 html("</form>");
560 } else 560 } else
561 html_txt(ctx->cfg.root_title); 561 html_txt(ctx->cfg.root_title);
562 html("</td></tr>\n"); 562 html("</td></tr>\n");
563 563
564 html("<tr><td class='sub'"); 564 html("<tr><td class='sub'");
565 if (ctx->repo) { 565 if (ctx->repo) {
566 html(" colspan='2'>"); 566 html(" colspan='2'>");
567 html_txt(ctx->repo->desc); 567 html_txt(ctx->repo->desc);
568 } else { 568 } else {
569 html(">"); 569 html(">");
570 if (ctx->cfg.root_desc) 570 if (ctx->cfg.root_desc)
571 html_txt(ctx->cfg.root_desc); 571 html_txt(ctx->cfg.root_desc);
572 else if (ctx->cfg.index_info) 572 else if (ctx->cfg.index_info)
573 html_include(ctx->cfg.index_info); 573 html_include(ctx->cfg.index_info);
574 } 574 }
575 html("</td></tr></table>\n"); 575 html("</td></tr></table>\n");
576 576
577 html("<table class='tabs'><tr><td>\n"); 577 html("<table class='tabs'><tr><td>\n");
578 if (ctx->repo) { 578 if (ctx->repo) {
579 reporevlink(NULL, "summary", NULL, hc(cmd, "summary"), 579 reporevlink(NULL, "summary", NULL, hc(cmd, "summary"),
580 ctx->qry.head, NULL, NULL); 580 ctx->qry.head, NULL, NULL);
581 cgit_refs_link("refs", NULL, hc(cmd, "refs"), ctx->qry.head, 581 cgit_refs_link("refs", NULL, hc(cmd, "refs"), ctx->qry.head,
582 ctx->qry.sha1, NULL); 582 ctx->qry.sha1, NULL);
583 cgit_log_link("log", NULL, hc(cmd, "log"), ctx->qry.head, 583 cgit_log_link("log", NULL, hc(cmd, "log"), ctx->qry.head,
584 NULL, NULL, 0, NULL, NULL); 584 NULL, NULL, 0, NULL, NULL);
585 cgit_tree_link("tree", NULL, hc(cmd, "tree"), ctx->qry.head, 585 cgit_tree_link("tree", NULL, hc(cmd, "tree"), ctx->qry.head,
586 ctx->qry.sha1, NULL); 586 ctx->qry.sha1, NULL);
587 cgit_commit_link("commit", NULL, hc(cmd, "commit"), 587 cgit_commit_link("commit", NULL, hc(cmd, "commit"),
588 ctx->qry.head, ctx->qry.sha1); 588 ctx->qry.head, ctx->qry.sha1);
589 cgit_diff_link("diff", NULL, hc(cmd, "diff"), ctx->qry.head, 589 cgit_diff_link("diff", NULL, hc(cmd, "diff"), ctx->qry.head,
590 ctx->qry.sha1, ctx->qry.sha2, NULL); 590 ctx->qry.sha1, ctx->qry.sha2, NULL);
591 if (ctx->repo->readme) 591 if (ctx->repo->readme)
592 reporevlink("about", "about", NULL, 592 reporevlink("about", "about", NULL,
593 hc(cmd, "about"), ctx->qry.head, NULL, 593 hc(cmd, "about"), ctx->qry.head, NULL,
594 NULL); 594 NULL);
595 html("</td><td class='form'>"); 595 html("</td><td class='form'>");
596 html("<form class='right' method='get' action='"); 596 html("<form class='right' method='get' action='");
597 if (ctx->cfg.virtual_root) 597 if (ctx->cfg.virtual_root)
598 html_attr(cgit_fileurl(ctx->qry.repo, "log", 598 html_attr(cgit_fileurl(ctx->qry.repo, "log",
599 ctx->qry.path, NULL)); 599 ctx->qry.path, NULL));
600 html("'>\n"); 600 html("'>\n");
601 add_hidden_formfields(1, 0, "log"); 601 add_hidden_formfields(1, 0, "log");
602 html("<select name='qt'>\n"); 602 html("<select name='qt'>\n");
603 html_option("grep", "log msg", ctx->qry.grep); 603 html_option("grep", "log msg", ctx->qry.grep);
604 html_option("author", "author", ctx->qry.grep); 604 html_option("author", "author", ctx->qry.grep);
605 html_option("committer", "committer", ctx->qry.grep); 605 html_option("committer", "committer", ctx->qry.grep);
606 html("</select>\n"); 606 html("</select>\n");
607 html("<input class='txt' type='text' size='10' name='q' value='"); 607 html("<input class='txt' type='text' size='10' name='q' value='");
608 html_attr(ctx->qry.search); 608 html_attr(ctx->qry.search);
609 html("'/>\n"); 609 html("'/>\n");
610 html("<input type='submit' value='search'/>\n"); 610 html("<input type='submit' value='search'/>\n");
611 html("</form>\n"); 611 html("</form>\n");
612 } else { 612 } else {
613 site_link(NULL, "index", NULL, hc(cmd, "repolist"), NULL, 0); 613 site_link(NULL, "index", NULL, hc(cmd, "repolist"), NULL, 0);
614 if (ctx->cfg.root_readme) 614 if (ctx->cfg.root_readme)
615 site_link("about", "about", NULL, hc(cmd, "about"), 615 site_link("about", "about", NULL, hc(cmd, "about"),