author | Lars Hjemli <hjemli@gmail.com> | 2008-04-13 08:57:11 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2008-04-13 08:57:11 (UTC) |
commit | 931fc6d1e4986a4566647dda16af09bf69a28b89 (patch) (side-by-side diff) | |
tree | 733a9b7292e98d60ae0e40b5f249fa250f32b2d6 | |
parent | 72a69b77e7bf10cc3674e61e1ddd4d81618ee533 (diff) | |
download | cgit-931fc6d1e4986a4566647dda16af09bf69a28b89.zip cgit-931fc6d1e4986a4566647dda16af09bf69a28b89.tar.gz cgit-931fc6d1e4986a4566647dda16af09bf69a28b89.tar.bz2 |
More layout fixes
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | cgit.css | 64 | ||||
-rw-r--r-- | ui-repolist.c | 2 | ||||
-rw-r--r-- | ui-shared.c | 65 |
3 files changed, 98 insertions, 33 deletions
@@ -21,100 +21,130 @@ a:hover { } table { border-collapse: collapse; } table#header { width: 100%; margin-bottom: 1em; } table#header td.logo { width: 96px; } table#header td.main { - font-size: 200%; + font-size: 250%; + padding-left: 10px; +} + +table#header td.main a { + color: #000; +} + +table#header td.form { + text-align: right; + vertical-align: bottom; + padding-right: 1em; + padding-bottom: 2px; +} + +table#header td.form form, +table#header td.form input, +table#header td.form select { + font-size: 90%; } table#header td.sub { color: #777; border-top: solid 1px #ccc; + padding-left: 10px; } table.tabs { - border-bottom: solid 2px #ccc; + /* border-bottom: solid 2px #ccc; */ border-collapse: collapse; margin-top: 2em; - margin-bottom: 1em; + margin-bottom: 0px; width: 100%; } table.tabs td { - padding: 0px 0.5em; + padding: 0px 1em; vertical-align: bottom; } table.tabs td a { - padding: 2px 1em; - color: #007; + padding: 2px 0.75em; + color: #777; + font-size: 110%; } table.tabs td a.active { color: #000; background-color: #ccc; } -table.tabs td.branch { +table.tabs td.form { text-align: right; } -table.tabs td.branch form { +table.tabs td.form form { padding-bottom: 2px; font-size: 90%; } +table.tabs td.form input, +table.tabs td.form select { + font-size: 90%; +} + div.content { margin: 0px; - padding: 1em; + padding: 2em; + border-top: solid 3px #ccc; + border-bottom: solid 3px #ccc; } table.list { width: 100%; border: none; border-collapse: collapse; } table.list tr { background: white; } table.list tr:hover { background: #eee; } table.list tr.nohover:hover { background: white; } table.list th { - font-weight: normal; - border-bottom: solid 1px #ccc; - padding: 0.1em 0.5em 0.1em 0.5em; + font-weight: bold; + /* color: #888; + border-top: dashed 1px #888; + border-bottom: dashed 1px #888; + */ + padding: 0.1em 0.5em 0.05em 0.5em; vertical-align: baseline; } table.list td { border: none; padding: 0.1em 0.5em 0.1em 0.5em; } table.list td a { color: black; } img { border: none; } @@ -347,43 +377,43 @@ table.diff td div.del { .left { text-align: left; } .right { text-align: right; } table.list td.repogroup { font-style: italic; color: #888; } a.button { font-size: 80%; - color: #aaa; + color: #33c; +/* background-color: #eee; border: solid 1px #aaa; - padding: 0em 0.5em; margin: 0.1em 0.25em; +*/ + padding: 0em 0.5em; } a.button:hover { - text-decoration: none; - color: #333; - background-color: #ccc; + text-decoration: underline; } a.primary { font-size: 100%; } a.secondary { font-size: 90%; } td.toplevel-repo { } table.list td.sublevel-repo { padding-left: 1.5em; diff --git a/ui-repolist.c b/ui-repolist.c index eeeaf3d..9eba222 100644 --- a/ui-repolist.c +++ b/ui-repolist.c @@ -57,33 +57,33 @@ void cgit_print_repolist() cgit_print_docstart(&ctx); cgit_print_pageheader(&ctx); html("<table summary='repository list' class='list nowrap'>"); if (ctx.cfg.index_header) { htmlf("<tr class='nohover'><td colspan='%d' class='include-block'>", columns); html_include(ctx.cfg.index_header); html("</td></tr>"); } html("<tr class='nohover'>" "<th class='left'>Name</th>" "<th class='left'>Description</th>" "<th class='left'>Owner</th>" "<th class='left'>Idle</th>"); if (ctx.cfg.enable_index_links) - html("<th>Links</th>"); + html("<th class='left'>Links</th>"); html("</tr>\n"); for (i=0; i<cgit_repolist.count; i++) { ctx.repo = &cgit_repolist.repos[i]; if ((last_group == NULL && ctx.repo->group != NULL) || (last_group != NULL && ctx.repo->group == NULL) || (last_group != NULL && ctx.repo->group != NULL && strcmp(ctx.repo->group, last_group))) { htmlf("<tr class='nohover'><td colspan='%d' class='repogroup'>", columns); html_txt(ctx.repo->group); html("</td></tr>"); last_group = ctx.repo->group; } htmlf("<tr><td class='%s'>", ctx.repo->group ? "sublevel-repo" : "toplevel-repo"); diff --git a/ui-shared.c b/ui-shared.c index 73e3d4c..782caa7 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -376,33 +376,33 @@ void cgit_print_docstart(struct cgit_context *ctx) html("<head>\n"); html("<title>"); html_txt(ctx->page.title); html("</title>\n"); htmlf("<meta name='generator' content='cgit %s'/>\n", cgit_version); if (ctx->cfg.robots && *ctx->cfg.robots) htmlf("<meta name='robots' content='%s'/>\n", ctx->cfg.robots); html("<link rel='stylesheet' type='text/css' href='"); html_attr(ctx->cfg.css); html("'/>\n"); html("</head>\n"); html("<body>\n"); } void cgit_print_docend() { - html("</td>\n</tr>\n</table>\n</body>\n</html>\n"); + html("</div>\n</body>\n</html>\n"); } int print_branch_option(const char *refname, const unsigned char *sha1, int flags, void *cb_data) { char *name = (char *)refname; html_option(name, name, ctx.qry.head); return 0; } int print_archive_ref(const char *refname, const unsigned char *sha1, int flags, void *cb_data) { struct tag *tag; struct taginfo *info; struct object *obj; @@ -472,72 +472,107 @@ char *hc(struct cgit_cmd *cmd, const char *page) } void cgit_print_pageheader(struct cgit_context *ctx) { struct cgit_cmd *cmd = cgit_get_cmd(ctx); html("<table id='header'>\n"); html("<tr>\n"); html("<td class='logo' rowspan='2'><a href='"); if (ctx->cfg.logo_link) html_attr(ctx->cfg.logo_link); else html_attr(cgit_rooturl()); html("'><img src='"); html_attr(ctx->cfg.logo); html("'/></a></td>\n"); + html("<td class='main'>"); if (ctx->repo) { +/* html("<a href='"); html_attr(cgit_rooturl()); - html("'>index</a> / "); - html_txt(ctx->repo->name); + html("'>index</a> : "); +*/ + reporevlink(NULL, ctx->repo->name, NULL, hc(cmd, "summary"), + ctx->qry.head, NULL, NULL); + html(" : "); + html_txt(ctx->qry.page); + html("</td><td class='form'>"); + 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'/>"); + html("</form>"); } else html_txt(ctx->cfg.root_title); - html("</td></tr>\n"); - html("<tr><td class='sub'>"); - if (ctx->repo) + html("</td>\n"); + + html("<tr><td class='sub'"); + if (ctx->repo) { + html(" colspan='2'>"); html_txt(ctx->repo->desc); - else - html_txt(ctx->cfg.index_info); + } +/* + else if (ctx->cfg.root_subtitle) + html_txt(ctx->cfg.root_subtitle); +*/ + else { + html(">"); + html_txt("a fast webinterface for the git dscm"); + } html("</td></tr>\n"); + + html("</tr>\n"); html("</table>\n"); html("<table class='tabs'><tr><td>\n"); if (ctx->repo) { reporevlink(NULL, "summary", NULL, hc(cmd, "summary"), ctx->qry.head, NULL, NULL); cgit_refs_link("refs", NULL, hc(cmd, "refs"), ctx->qry.head, ctx->qry.sha1, NULL); cgit_log_link("log", NULL, hc(cmd, "log"), ctx->qry.head, NULL, NULL, 0, NULL, NULL); cgit_tree_link("tree", NULL, hc(cmd, "tree"), ctx->qry.head, ctx->qry.sha1, NULL); cgit_commit_link("commit", NULL, hc(cmd, "commit"), ctx->qry.head, ctx->qry.sha1); 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'/>"); + html("</td><td class='form'>"); + html("<form class='right' method='get' action='"); + if (ctx->cfg.virtual_root) + html_attr(cgit_fileurl(ctx->qry.repo, "log", + ctx->qry.path, NULL)); + html("'>\n"); + add_hidden_formfields(1, 0, "log"); + html("<select name='qt'>\n"); + html_option("grep", "log msg", ctx->qry.grep); + html_option("author", "author", ctx->qry.grep); + html_option("committer", "committer", ctx->qry.grep); + html("</select>\n"); + html("<input class='txt' type='text' size='8' name='q' value='"); + html_attr(ctx->qry.search); + html("'/>\n"); + html("<input type='submit' value='search'/>\n"); + html("</form>\n"); } else { html("<a class='active' href='"); html_attr(cgit_rooturl()); html("'>index</a>\n"); } html("</td></tr></table>\n"); html("<div class='content'>"); } void cgit_print_filemode(unsigned short mode) { if (S_ISDIR(mode)) html("d"); else if (S_ISLNK(mode)) html("l"); else if (S_ISGITLINK(mode)) |