about summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-11-03 10:42:37 +0100
committerLars Hjemli <hjemli@gmail.com>2007-11-03 10:42:37 +0100
commit51140311bb3b0d4d0e859d5045ffe4c74478f5fe (patch)
tree6575f174e32abd5f5d1f481e5f7f5978525ae416
parentFix typo in css (diff)
downloadcgit-magenta-51140311bb3b0d4d0e859d5045ffe4c74478f5fe.tar.xz
Add search parameters to cgit_log_link
This makes the [prev] and [next] links work correctly on search results.

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--cgit.h3
-rw-r--r--ui-log.c6
-rw-r--r--ui-repolist.c3
-rw-r--r--ui-shared.c13
-rw-r--r--ui-summary.c2
-rw-r--r--ui-tree.c2
6 files changed, 21 insertions, 8 deletions
diff --git a/cgit.h b/cgit.h

index 42036c3..163f355 100644 --- a/cgit.h +++ b/cgit.h
@@ -238,7 +238,8 @@ extern const char *cgit_repobasename(const char *reponame); extern void cgit_tree_link(char *name, char *title, char *class, char *head, char *rev, char *path); extern void cgit_log_link(char *name, char *title, char *class, char *head, - char *rev, char *path, int ofs); + char *rev, char *path, int ofs, char *grep, + char *pattern); extern void cgit_commit_link(char *name, char *title, char *class, char *head, char *rev); extern void cgit_refs_link(char *name, char *title, char *class, char *head, diff --git a/ui-log.c b/ui-log.c
index e7f7d6f..9f5fdf6 100644 --- a/ui-log.c +++ b/ui-log.c
@@ -118,13 +118,15 @@ void cgit_print_log(const char *tip, int ofs, int cnt, char *grep, char *pattern if (ofs > 0) { cgit_log_link("[prev]", NULL, NULL, cgit_query_head, cgit_query_sha1, cgit_query_path, - ofs - cnt); + ofs - cnt, cgit_query_grep, + cgit_query_search); html("&nbsp;"); } if ((commit = get_revision(&rev)) != NULL) { cgit_log_link("[next]", NULL, NULL, cgit_query_head, cgit_query_sha1, cgit_query_path, - ofs + cnt); + ofs + cnt, cgit_query_grep, + cgit_query_search); } html("</div>"); } diff --git a/ui-repolist.c b/ui-repolist.c
index 4c86543..9aa5c1e 100644 --- a/ui-repolist.c +++ b/ui-repolist.c
@@ -98,7 +98,8 @@ void cgit_print_repolist(struct cacheitem *item) html_link_open(cgit_repourl(cgit_repo->url), NULL, "button"); html("summary</a>"); - cgit_log_link("log", NULL, "button", NULL, NULL, NULL, 0); + cgit_log_link("log", NULL, "button", NULL, NULL, NULL, + 0, NULL, NULL); cgit_tree_link("tree", NULL, "button", NULL, NULL, NULL); html("</td>"); } diff --git a/ui-shared.c b/ui-shared.c
index 1d66940..a03661a 100644 --- a/ui-shared.c +++ b/ui-shared.c
@@ -194,7 +194,7 @@ void cgit_tree_link(char *name, char *title, char *class, char *head, } void cgit_log_link(char *name, char *title, char *class, char *head, - char *rev, char *path, int ofs) + char *rev, char *path, int ofs, char *grep, char *pattern) { char *delim; @@ -205,6 +205,15 @@ void cgit_log_link(char *name, char *title, char *class, char *head, html_attr(rev); delim = "&"; } + if (grep && pattern) { + html(delim); + html("qt="); + html_attr(grep); + delim = "&"; + html(delim); + html("q="); + html_attr(pattern); + } if (ofs > 0) { html(delim); html("ofs="); @@ -461,7 +470,7 @@ void cgit_print_pageheader(char *title, int show_search) reporevlink(NULL, "summary", NULL, "menu", cgit_query_head, NULL, NULL); cgit_log_link("log", NULL, "menu", cgit_query_head, - cgit_query_sha1, cgit_query_path, 0); + cgit_query_sha1, cgit_query_path, 0, NULL, NULL); cgit_tree_link("tree", NULL, "menu", cgit_query_head, cgit_query_sha1, NULL); cgit_commit_link("commit", NULL, "menu", cgit_query_head, diff --git a/ui-summary.c b/ui-summary.c
index 39fe330..c856793 100644 --- a/ui-summary.c +++ b/ui-summary.c
@@ -56,7 +56,7 @@ static int print_branch(struct refinfo *ref) if (!info) return 1; html("<tr><td>"); - cgit_log_link(name, NULL, NULL, name, NULL, NULL, 0); + cgit_log_link(name, NULL, NULL, name, NULL, NULL, 0, NULL, NULL); html("</td><td>"); if (ref->object->type == OBJ_COMMIT) { diff --git a/ui-tree.c b/ui-tree.c
index d6bcec3..c22e30b 100644 --- a/ui-tree.c +++ b/ui-tree.c
@@ -100,7 +100,7 @@ static int ls_item(const unsigned char *sha1, const char *base, int baselen, html("<td>"); cgit_log_link("log", NULL, "button", cgit_query_head, curr_rev, - fullpath, 0); + fullpath, 0, NULL, NULL); html("</td></tr>\n"); free(name); return 0;