summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2008-04-12 18:11:49 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2008-04-12 18:11:49 (UTC)
commit68cb84839f8fbc20688b22202489f4c2a54d3f55 (patch) (unidiff)
tree315289eaa849faf549c4882b1769b81597587b10
parent7c0d2d9fbd3a29d295c8067f7798507853759eae (diff)
downloadcgit-68cb84839f8fbc20688b22202489f4c2a54d3f55.zip
cgit-68cb84839f8fbc20688b22202489f4c2a54d3f55.tar.gz
cgit-68cb84839f8fbc20688b22202489f4c2a54d3f55.tar.bz2
Reintroduce the branch switcher
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--cgit.css10
-rw-r--r--ui-shared.c7
2 files changed, 17 insertions, 0 deletions
diff --git a/cgit.css b/cgit.css
index 67cf48e..80680c9 100644
--- a/cgit.css
+++ b/cgit.css
@@ -23,76 +23,86 @@ a:hover {
23table { 23table {
24 border-collapse: collapse; 24 border-collapse: collapse;
25} 25}
26 26
27table#header { 27table#header {
28 width: 100%; 28 width: 100%;
29 margin-bottom: 1em; 29 margin-bottom: 1em;
30} 30}
31 31
32table#header td.logo { 32table#header td.logo {
33 width: 96px; 33 width: 96px;
34} 34}
35 35
36table#header td.main { 36table#header td.main {
37 font-size: 200%; 37 font-size: 200%;
38} 38}
39 39
40table#header td.sub { 40table#header td.sub {
41 color: #777; 41 color: #777;
42 border-top: solid 1px #ccc; 42 border-top: solid 1px #ccc;
43} 43}
44 44
45table.tabs { 45table.tabs {
46 border-bottom: solid 2px #ccc; 46 border-bottom: solid 2px #ccc;
47 border-collapse: collapse; 47 border-collapse: collapse;
48 margin-top: 2em; 48 margin-top: 2em;
49 margin-bottom: 1em; 49 margin-bottom: 1em;
50 width: 100%; 50 width: 100%;
51} 51}
52 52
53table.tabs td { 53table.tabs td {
54 padding: 0px 0.5em; 54 padding: 0px 0.5em;
55 vertical-align: bottom;
55} 56}
56 57
57table.tabs td a { 58table.tabs td a {
58 padding: 2px 1em; 59 padding: 2px 1em;
59 color: #007; 60 color: #007;
60} 61}
61 62
62table.tabs td a.active { 63table.tabs td a.active {
63 color: #000; 64 color: #000;
64 background-color: #ccc; 65 background-color: #ccc;
65} 66}
66 67
68table.tabs td.branch {
69 text-align: right;
70}
71
72table.tabs td.branch form {
73 padding-bottom: 2px;
74 font-size: 90%;
75}
76
67div.content { 77div.content {
68 margin: 0px; 78 margin: 0px;
69 padding: 1em; 79 padding: 1em;
70} 80}
71 81
72 82
73table.list { 83table.list {
74 width: 100%; 84 width: 100%;
75 border: none; 85 border: none;
76 border-collapse: collapse; 86 border-collapse: collapse;
77} 87}
78 88
79table.list tr { 89table.list tr {
80 background: white; 90 background: white;
81} 91}
82 92
83table.list tr:hover { 93table.list tr:hover {
84 background: #eee; 94 background: #eee;
85} 95}
86 96
87table.list tr.nohover:hover { 97table.list tr.nohover:hover {
88 background: white; 98 background: white;
89} 99}
90 100
91table.list th { 101table.list th {
92 font-weight: normal; 102 font-weight: normal;
93 border-bottom: solid 1px #ccc; 103 border-bottom: solid 1px #ccc;
94 padding: 0.1em 0.5em 0.1em 0.5em; 104 padding: 0.1em 0.5em 0.1em 0.5em;
95 vertical-align: baseline; 105 vertical-align: baseline;
96} 106}
97 107
98table.list td { 108table.list td {
diff --git a/ui-shared.c b/ui-shared.c
index 03d147f..73e3d4c 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -489,64 +489,71 @@ void cgit_print_pageheader(struct cgit_context *ctx)
489 if (ctx->repo) { 489 if (ctx->repo) {
490 html("<a href='"); 490 html("<a href='");
491 html_attr(cgit_rooturl()); 491 html_attr(cgit_rooturl());
492 html("'>index</a> / "); 492 html("'>index</a> / ");
493 html_txt(ctx->repo->name); 493 html_txt(ctx->repo->name);
494 } else 494 } else
495 html_txt(ctx->cfg.root_title); 495 html_txt(ctx->cfg.root_title);
496 html("</td></tr>\n"); 496 html("</td></tr>\n");
497 html("<tr><td class='sub'>"); 497 html("<tr><td class='sub'>");
498 if (ctx->repo) 498 if (ctx->repo)
499 html_txt(ctx->repo->desc); 499 html_txt(ctx->repo->desc);
500 else 500 else
501 html_txt(ctx->cfg.index_info); 501 html_txt(ctx->cfg.index_info);
502 html("</td></tr>\n"); 502 html("</td></tr>\n");
503 html("</table>\n"); 503 html("</table>\n");
504 504
505 html("<table class='tabs'><tr><td>\n"); 505 html("<table class='tabs'><tr><td>\n");
506 if (ctx->repo) { 506 if (ctx->repo) {
507 reporevlink(NULL, "summary", NULL, hc(cmd, "summary"), 507 reporevlink(NULL, "summary", NULL, hc(cmd, "summary"),
508 ctx->qry.head, NULL, NULL); 508 ctx->qry.head, NULL, NULL);
509 cgit_refs_link("refs", NULL, hc(cmd, "refs"), ctx->qry.head, 509 cgit_refs_link("refs", NULL, hc(cmd, "refs"), ctx->qry.head,
510 ctx->qry.sha1, NULL); 510 ctx->qry.sha1, NULL);
511 cgit_log_link("log", NULL, hc(cmd, "log"), ctx->qry.head, 511 cgit_log_link("log", NULL, hc(cmd, "log"), ctx->qry.head,
512 NULL, NULL, 0, NULL, NULL); 512 NULL, NULL, 0, NULL, NULL);
513 cgit_tree_link("tree", NULL, hc(cmd, "tree"), ctx->qry.head, 513 cgit_tree_link("tree", NULL, hc(cmd, "tree"), ctx->qry.head,
514 ctx->qry.sha1, NULL); 514 ctx->qry.sha1, NULL);
515 cgit_commit_link("commit", NULL, hc(cmd, "commit"), 515 cgit_commit_link("commit", NULL, hc(cmd, "commit"),
516 ctx->qry.head, ctx->qry.sha1); 516 ctx->qry.head, ctx->qry.sha1);
517 cgit_diff_link("diff", NULL, hc(cmd, "diff"), ctx->qry.head, 517 cgit_diff_link("diff", NULL, hc(cmd, "diff"), ctx->qry.head,
518 ctx->qry.sha1, ctx->qry.sha2, NULL); 518 ctx->qry.sha1, ctx->qry.sha2, NULL);
519 cgit_patch_link("patch", NULL, hc(cmd, "patch"), ctx->qry.head, 519 cgit_patch_link("patch", NULL, hc(cmd, "patch"), ctx->qry.head,
520 ctx->qry.sha1); 520 ctx->qry.sha1);
521 html("</td><td class='branch'>");
522 html("<form method='get' action=''>\n");
523 add_hidden_formfields(0, 1, ctx->qry.page);
524 html("<select name='h' onchange='this.form.submit();'>\n");
525 for_each_branch_ref(print_branch_option, ctx->qry.head);
526 html("</select> ");
527 html("<input type='submit' name='' value='switch'/>");
521 } else { 528 } else {
522 html("<a class='active' href='"); 529 html("<a class='active' href='");
523 html_attr(cgit_rooturl()); 530 html_attr(cgit_rooturl());
524 html("'>index</a>\n"); 531 html("'>index</a>\n");
525 } 532 }
526 html("</td></tr></table>\n"); 533 html("</td></tr></table>\n");
527 html("<div class='content'>"); 534 html("<div class='content'>");
528} 535}
529 536
530void cgit_print_filemode(unsigned short mode) 537void cgit_print_filemode(unsigned short mode)
531{ 538{
532 if (S_ISDIR(mode)) 539 if (S_ISDIR(mode))
533 html("d"); 540 html("d");
534 else if (S_ISLNK(mode)) 541 else if (S_ISLNK(mode))
535 html("l"); 542 html("l");
536 else if (S_ISGITLINK(mode)) 543 else if (S_ISGITLINK(mode))
537 html("m"); 544 html("m");
538 else 545 else
539 html("-"); 546 html("-");
540 html_fileperm(mode >> 6); 547 html_fileperm(mode >> 6);
541 html_fileperm(mode >> 3); 548 html_fileperm(mode >> 3);
542 html_fileperm(mode); 549 html_fileperm(mode);
543} 550}
544 551
545void cgit_print_snapshot_links(const char *repo, const char *head, 552void cgit_print_snapshot_links(const char *repo, const char *head,
546 const char *hex, int snapshots) 553 const char *hex, int snapshots)
547{ 554{
548 const struct cgit_snapshot_format* f; 555 const struct cgit_snapshot_format* f;
549 char *filename; 556 char *filename;
550 557
551 for (f = cgit_snapshot_formats; f->suffix; f++) { 558 for (f = cgit_snapshot_formats; f->suffix; f++) {
552 if (!(snapshots & f->bit)) 559 if (!(snapshots & f->bit))