summaryrefslogtreecommitdiffabout
Side-by-side diff
Diffstat (more/less context) (show 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
@@ -51,8 +51,9 @@ table.tabs {
}
table.tabs td {
padding: 0px 0.5em;
+ vertical-align: bottom;
}
table.tabs td a {
padding: 2px 1em;
@@ -63,8 +64,17 @@ table.tabs td a.active {
color: #000;
background-color: #ccc;
}
+table.tabs td.branch {
+ text-align: right;
+}
+
+table.tabs td.branch form {
+ padding-bottom: 2px;
+ font-size: 90%;
+}
+
div.content {
margin: 0px;
padding: 1em;
}
diff --git a/ui-shared.c b/ui-shared.c
index 03d147f..73e3d4c 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -517,8 +517,15 @@ void cgit_print_pageheader(struct cgit_context *ctx)
cgit_diff_link("diff", NULL, hc(cmd, "diff"), ctx->qry.head,
ctx->qry.sha1, ctx->qry.sha2, NULL);
cgit_patch_link("patch", NULL, hc(cmd, "patch"), ctx->qry.head,
ctx->qry.sha1);
+ html("</td><td class='branch'>");
+ html("<form method='get' action=''>\n");
+ 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);
+ html("</select> ");
+ html("<input type='submit' name='' value='switch'/>");
} else {
html("<a class='active' href='");
html_attr(cgit_rooturl());
html("'>index</a>\n");