author | Lars Hjemli <hjemli@gmail.com> | 2007-10-28 14:23:00 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-10-28 14:23:00 (UTC) |
commit | 68ca032dbe7379f78775fb03ef34a9ad2abc409f (patch) (side-by-side diff) | |
tree | 2209ae312eb932bc61b41ae9c774f6cfcc3dd372 /ui-shared.c | |
parent | 6ec5f36f279a85f59db2851ab476d9acd0015770 (diff) | |
download | cgit-68ca032dbe7379f78775fb03ef34a9ad2abc409f.zip cgit-68ca032dbe7379f78775fb03ef34a9ad2abc409f.tar.gz cgit-68ca032dbe7379f78775fb03ef34a9ad2abc409f.tar.bz2 |
Teach log search about --grep, --author and --committer
This makes the log searching more explicit, using a dropdown box to specify
the commit field to match against.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-shared.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/ui-shared.c b/ui-shared.c index e4bb98f..45105dc 100644 --- a/ui-shared.c +++ b/ui-shared.c @@ -356,84 +356,89 @@ void cgit_print_docstart(char *title, struct cacheitem *item) html("</head>\n"); html("<body>\n"); } void cgit_print_docend() { html("</td></tr></table>"); html("</body>\n</html>\n"); } void cgit_print_pageheader(char *title, int show_search) { html("<table id='layout'>"); html("<tr><td id='header'><a href='"); html_attr(cgit_rooturl()); html("'>"); html_txt(cgit_root_title); html("</a></td><td id='logo'>"); html("<a href='"); html_attr(cgit_logo_link); htmlf("'><img src='%s' alt='logo'/></a>", cgit_logo); html("</td></tr>"); html("<tr><td id='crumb'>"); if (cgit_query_repo) { html_txt(cgit_repo->name); html(" ("); html_txt(cgit_query_head); html(") : "); reporevlink(NULL, "summary", NULL, NULL, cgit_query_head, NULL, NULL); html(" "); cgit_log_link("log", NULL, NULL, cgit_query_head, cgit_query_sha1, cgit_query_path, 0); html(" "); cgit_tree_link("tree", NULL, NULL, cgit_query_head, cgit_query_sha1, NULL); html(" "); cgit_commit_link("commit", NULL, NULL, cgit_query_head, cgit_query_sha1); html(" "); cgit_diff_link("diff", NULL, NULL, cgit_query_head, cgit_query_sha1, cgit_query_sha2, cgit_query_path); } else { html_txt("Index of repositories"); } html("</td>"); html("<td id='search'>"); if (show_search) { html("<form method='get' action='"); html_attr(cgit_currurl()); html("'>"); if (!cgit_virtual_root) { if (cgit_query_repo) html_hidden("r", cgit_query_repo); if (cgit_query_page) html_hidden("p", cgit_query_page); } if (cgit_query_head) html_hidden("h", cgit_query_head); if (cgit_query_sha1) html_hidden("id", cgit_query_sha1); if (cgit_query_sha2) html_hidden("id2", cgit_query_sha2); - html("<input type='text' name='q' value='"); + html("<select name='qt'>"); + html_option("grep", "log msg", cgit_query_grep); + html_option("author", "author", cgit_query_grep); + html_option("committer", "committer", cgit_query_grep); + html("</select>"); + html("<input class='txt' type='text' name='q' value='"); html_attr(cgit_query_search); - html("'/></form>"); + html("'/><input class='btn' type='submit' value='...'/></form>"); } html("</td></tr>"); html("<tr><td id='content' colspan='2'>"); } void cgit_print_snapshot_start(const char *mimetype, const char *filename, struct cacheitem *item) { htmlf("Content-Type: %s\n", mimetype); htmlf("Content-Disposition: inline; filename=\"%s\"\n", filename); htmlf("Last-Modified: %s\n", http_date(item->st.st_mtime)); htmlf("Expires: %s\n", http_date(item->st.st_mtime + ttl_seconds(item->ttl))); html("\n"); } /* vim:set sw=8: */ |