diff options
| author | 2008-05-03 17:37:02 (JST) | |
|---|---|---|
| committer | 2008-05-03 17:37:02 (JST) | |
| commit | 141f1c3eb657470e81bbf998f44f9723f9009def (patch) | |
| tree | a591e720b4a532fc7f53e74d611bb63629c8c5dc | |
| parent | e19683bedebc74593cb4c4518e47a334a5478e1e (diff) | |
| download | cgit-141f1c3eb657470e81bbf998f44f9723f9009def.zip cgit-141f1c3eb657470e81bbf998f44f9723f9009def.tar.gz | |
Add cgit_index_link() function with support for offset
This function will be used to build a pager in ui-repolist.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
| -rw-r--r-- | ui-shared.c | 22 | ||||
| -rw-r--r-- | ui-shared.h | 2 |
2 files changed, 19 insertions, 5 deletions
diff --git a/ui-shared.c b/ui-shared.c index d08ede9..f366354 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
| @@ -114,7 +114,7 @@ char *cgit_currurl() | |||
| 114 | return fmt("%s/", ctx.cfg.virtual_root); | 114 | return fmt("%s/", ctx.cfg.virtual_root); |
| 115 | } | 115 | } |
| 116 | 116 | ||
| 117 | static void site_url(char *page, char *search) | 117 | static void site_url(char *page, char *search, int ofs) |
| 118 | { | 118 | { |
| 119 | char *delim = "?"; | 119 | char *delim = "?"; |
| 120 | 120 | ||
| @@ -133,11 +133,16 @@ static void site_url(char *page, char *search) | |||
| 133 | html(delim); | 133 | html(delim); |
| 134 | html("q="); | 134 | html("q="); |
| 135 | html_attr(search); | 135 | html_attr(search); |
| 136 | delim = "&"; | ||
| 137 | } | ||
| 138 | if (ofs) { | ||
| 139 | html(delim); | ||
| 140 | htmlf("ofs=%d", ofs); | ||
| 136 | } | 141 | } |
| 137 | } | 142 | } |
| 138 | 143 | ||
| 139 | static void site_link(char *page, char *name, char *title, char *class, | 144 | static void site_link(char *page, char *name, char *title, char *class, |
| 140 | char *search) | 145 | char *search, int ofs) |
| 141 | { | 146 | { |
| 142 | html("<a"); | 147 | html("<a"); |
| 143 | if (title) { | 148 | if (title) { |
| @@ -151,12 +156,18 @@ static void site_link(char *page, char *name, char *title, char *class, | |||
| 151 | html("'"); | 156 | html("'"); |
| 152 | } | 157 | } |
| 153 | html(" href='"); | 158 | html(" href='"); |
| 154 | site_url(page, search); | 159 | site_url(page, search, ofs); |
| 155 | html("'>"); | 160 | html("'>"); |
| 156 | html_txt(name); | 161 | html_txt(name); |
| 157 | html("</a>"); | 162 | html("</a>"); |
| 158 | } | 163 | } |
| 159 | 164 | ||
| 165 | void cgit_index_link(char *name, char *title, char *class, char *pattern, | ||
| 166 | int ofs) | ||
| 167 | { | ||
| 168 | site_link(NULL, name, title, class, pattern, ofs); | ||
| 169 | } | ||
| 170 | |||
| 160 | static char *repolink(char *title, char *class, char *page, char *head, | 171 | static char *repolink(char *title, char *class, char *page, char *head, |
| 161 | char *path) | 172 | char *path) |
| 162 | { | 173 | { |
| @@ -596,9 +607,10 @@ void cgit_print_pageheader(struct cgit_context *ctx) | |||
| 596 | html("<input type='submit' value='search'/>\n"); | 607 | html("<input type='submit' value='search'/>\n"); |
| 597 | html("</form>\n"); | 608 | html("</form>\n"); |
| 598 | } else { | 609 | } else { |
| 599 | site_link(NULL, "index", NULL, hc(cmd, "repolist"), NULL); | 610 | site_link(NULL, "index", NULL, hc(cmd, "repolist"), NULL, 0); |
| 600 | if (ctx->cfg.root_readme) | 611 | if (ctx->cfg.root_readme) |
| 601 | site_link("about", "about", NULL, hc(cmd, "about"), NULL); | 612 | site_link("about", "about", NULL, hc(cmd, "about"), |
| 613 | NULL, 0); | ||
| 602 | html("</td><td class='form'>"); | 614 | html("</td><td class='form'>"); |
| 603 | html("<form method='get' action='"); | 615 | html("<form method='get' action='"); |
| 604 | html_attr(cgit_rooturl()); | 616 | html_attr(cgit_rooturl()); |
diff --git a/ui-shared.h b/ui-shared.h index 76c2b1f..3005d30 100644 --- a/ui-shared.h +++ b/ui-shared.h | |||
| @@ -7,6 +7,8 @@ extern char *cgit_fileurl(const char *reponame, const char *pagename, | |||
| 7 | extern char *cgit_pageurl(const char *reponame, const char *pagename, | 7 | extern char *cgit_pageurl(const char *reponame, const char *pagename, |
| 8 | const char *query); | 8 | const char *query); |
| 9 | 9 | ||
| 10 | extern void cgit_index_link(char *name, char *title, char *class, | ||
| 11 | char *pattern, int ofs); | ||
| 10 | extern void cgit_tree_link(char *name, char *title, char *class, char *head, | 12 | extern void cgit_tree_link(char *name, char *title, char *class, char *head, |
| 11 | char *rev, char *path); | 13 | char *rev, char *path); |
| 12 | extern void cgit_log_link(char *name, char *title, char *class, char *head, | 14 | extern void cgit_log_link(char *name, char *title, char *class, char *head, |
