author | Lars Hjemli <hjemli@gmail.com> | 2007-06-26 15:32:03 (UTC) |
---|---|---|
committer | Lars Hjemli <hjemli@gmail.com> | 2007-06-26 15:32:08 (UTC) |
commit | 42e459bb1f209df8278f4f4f0ee3f4bcfae80da8 (patch) (unidiff) | |
tree | 1f5acb9111aef704d2d62009bd2f2dac416d84d3 | |
parent | 0d05bca502f4a5347fa629045aca97ba9b404acc (diff) | |
download | cgit-42e459bb1f209df8278f4f4f0ee3f4bcfae80da8.zip cgit-42e459bb1f209df8278f4f4f0ee3f4bcfae80da8.tar.gz cgit-42e459bb1f209df8278f4f4f0ee3f4bcfae80da8.tar.bz2 |
Do not include current path in the "tree" menu link
When generating the menu links on repo pages the tree link included the
current path. This made the link pretty useless whenever the current path
was set so this commit just passes NULL instead.
Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r-- | ui-shared.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ui-shared.c b/ui-shared.c index a198cf2..64c237f 100644 --- a/ui-shared.c +++ b/ui-shared.c | |||
@@ -180,175 +180,175 @@ void cgit_commit_link(char *name, char *title, char *class, char *head, | |||
180 | reporevlink("commit", name, title, class, head, rev, NULL); | 180 | reporevlink("commit", name, title, class, head, rev, NULL); |
181 | } | 181 | } |
182 | 182 | ||
183 | void cgit_diff_link(char *name, char *title, char *class, char *head, | 183 | void cgit_diff_link(char *name, char *title, char *class, char *head, |
184 | char *new_rev, char *old_rev, char *path) | 184 | char *new_rev, char *old_rev, char *path) |
185 | { | 185 | { |
186 | char *delim; | 186 | char *delim; |
187 | 187 | ||
188 | delim = repolink(title, class, "diff", head, path); | 188 | delim = repolink(title, class, "diff", head, path); |
189 | if (new_rev && strcmp(new_rev, cgit_query_head)) { | 189 | if (new_rev && strcmp(new_rev, cgit_query_head)) { |
190 | html(delim); | 190 | html(delim); |
191 | html("id="); | 191 | html("id="); |
192 | html_attr(new_rev); | 192 | html_attr(new_rev); |
193 | delim = "&"; | 193 | delim = "&"; |
194 | } | 194 | } |
195 | if (old_rev) { | 195 | if (old_rev) { |
196 | html(delim); | 196 | html(delim); |
197 | html("id2="); | 197 | html("id2="); |
198 | html_attr(old_rev); | 198 | html_attr(old_rev); |
199 | } | 199 | } |
200 | html("'>"); | 200 | html("'>"); |
201 | html_txt(name); | 201 | html_txt(name); |
202 | html("</a>"); | 202 | html("</a>"); |
203 | } | 203 | } |
204 | 204 | ||
205 | void cgit_print_date(time_t secs, char *format) | 205 | void cgit_print_date(time_t secs, char *format) |
206 | { | 206 | { |
207 | char buf[64]; | 207 | char buf[64]; |
208 | struct tm *time; | 208 | struct tm *time; |
209 | 209 | ||
210 | time = gmtime(&secs); | 210 | time = gmtime(&secs); |
211 | strftime(buf, sizeof(buf)-1, format, time); | 211 | strftime(buf, sizeof(buf)-1, format, time); |
212 | html_txt(buf); | 212 | html_txt(buf); |
213 | } | 213 | } |
214 | 214 | ||
215 | void cgit_print_age(time_t t, time_t max_relative, char *format) | 215 | void cgit_print_age(time_t t, time_t max_relative, char *format) |
216 | { | 216 | { |
217 | time_t now, secs; | 217 | time_t now, secs; |
218 | 218 | ||
219 | time(&now); | 219 | time(&now); |
220 | secs = now - t; | 220 | secs = now - t; |
221 | 221 | ||
222 | if (secs > max_relative && max_relative >= 0) { | 222 | if (secs > max_relative && max_relative >= 0) { |
223 | cgit_print_date(t, format); | 223 | cgit_print_date(t, format); |
224 | return; | 224 | return; |
225 | } | 225 | } |
226 | 226 | ||
227 | if (secs < TM_HOUR * 2) { | 227 | if (secs < TM_HOUR * 2) { |
228 | htmlf("<span class='age-mins'>%.0f min.</span>", | 228 | htmlf("<span class='age-mins'>%.0f min.</span>", |
229 | secs * 1.0 / TM_MIN); | 229 | secs * 1.0 / TM_MIN); |
230 | return; | 230 | return; |
231 | } | 231 | } |
232 | if (secs < TM_DAY * 2) { | 232 | if (secs < TM_DAY * 2) { |
233 | htmlf("<span class='age-hours'>%.0f hours</span>", | 233 | htmlf("<span class='age-hours'>%.0f hours</span>", |
234 | secs * 1.0 / TM_HOUR); | 234 | secs * 1.0 / TM_HOUR); |
235 | return; | 235 | return; |
236 | } | 236 | } |
237 | if (secs < TM_WEEK * 2) { | 237 | if (secs < TM_WEEK * 2) { |
238 | htmlf("<span class='age-days'>%.0f days</span>", | 238 | htmlf("<span class='age-days'>%.0f days</span>", |
239 | secs * 1.0 / TM_DAY); | 239 | secs * 1.0 / TM_DAY); |
240 | return; | 240 | return; |
241 | } | 241 | } |
242 | if (secs < TM_MONTH * 2) { | 242 | if (secs < TM_MONTH * 2) { |
243 | htmlf("<span class='age-weeks'>%.0f weeks</span>", | 243 | htmlf("<span class='age-weeks'>%.0f weeks</span>", |
244 | secs * 1.0 / TM_WEEK); | 244 | secs * 1.0 / TM_WEEK); |
245 | return; | 245 | return; |
246 | } | 246 | } |
247 | if (secs < TM_YEAR * 2) { | 247 | if (secs < TM_YEAR * 2) { |
248 | htmlf("<span class='age-months'>%.0f months</span>", | 248 | htmlf("<span class='age-months'>%.0f months</span>", |
249 | secs * 1.0 / TM_MONTH); | 249 | secs * 1.0 / TM_MONTH); |
250 | return; | 250 | return; |
251 | } | 251 | } |
252 | htmlf("<span class='age-years'>%.0f years</span>", | 252 | htmlf("<span class='age-years'>%.0f years</span>", |
253 | secs * 1.0 / TM_YEAR); | 253 | secs * 1.0 / TM_YEAR); |
254 | } | 254 | } |
255 | 255 | ||
256 | void cgit_print_docstart(char *title, struct cacheitem *item) | 256 | void cgit_print_docstart(char *title, struct cacheitem *item) |
257 | { | 257 | { |
258 | html("Content-Type: text/html; charset=utf-8\n"); | 258 | html("Content-Type: text/html; charset=utf-8\n"); |
259 | htmlf("Last-Modified: %s\n", http_date(item->st.st_mtime)); | 259 | htmlf("Last-Modified: %s\n", http_date(item->st.st_mtime)); |
260 | htmlf("Expires: %s\n", http_date(item->st.st_mtime + | 260 | htmlf("Expires: %s\n", http_date(item->st.st_mtime + |
261 | ttl_seconds(item->ttl))); | 261 | ttl_seconds(item->ttl))); |
262 | html("\n"); | 262 | html("\n"); |
263 | html(cgit_doctype); | 263 | html(cgit_doctype); |
264 | html("<html>\n"); | 264 | html("<html>\n"); |
265 | html("<head>\n"); | 265 | html("<head>\n"); |
266 | html("<title>"); | 266 | html("<title>"); |
267 | html_txt(title); | 267 | html_txt(title); |
268 | html("</title>\n"); | 268 | html("</title>\n"); |
269 | htmlf("<meta name='generator' content='cgit v%s'/>\n", cgit_version); | 269 | htmlf("<meta name='generator' content='cgit v%s'/>\n", cgit_version); |
270 | html("<link rel='stylesheet' type='text/css' href='"); | 270 | html("<link rel='stylesheet' type='text/css' href='"); |
271 | html_attr(cgit_css); | 271 | html_attr(cgit_css); |
272 | html("'/>\n"); | 272 | html("'/>\n"); |
273 | html("</head>\n"); | 273 | html("</head>\n"); |
274 | html("<body>\n"); | 274 | html("<body>\n"); |
275 | } | 275 | } |
276 | 276 | ||
277 | void cgit_print_docend() | 277 | void cgit_print_docend() |
278 | { | 278 | { |
279 | html("</td></tr></table>"); | 279 | html("</td></tr></table>"); |
280 | html("</body>\n</html>\n"); | 280 | html("</body>\n</html>\n"); |
281 | } | 281 | } |
282 | 282 | ||
283 | void cgit_print_pageheader(char *title, int show_search) | 283 | void cgit_print_pageheader(char *title, int show_search) |
284 | { | 284 | { |
285 | html("<table id='layout'>"); | 285 | html("<table id='layout'>"); |
286 | html("<tr><td id='header'><a href='"); | 286 | html("<tr><td id='header'><a href='"); |
287 | html_attr(cgit_rooturl()); | 287 | html_attr(cgit_rooturl()); |
288 | html("'>"); | 288 | html("'>"); |
289 | html_txt(cgit_root_title); | 289 | html_txt(cgit_root_title); |
290 | html("</a></td><td id='logo'>"); | 290 | html("</a></td><td id='logo'>"); |
291 | html("<a href='"); | 291 | html("<a href='"); |
292 | html_attr(cgit_logo_link); | 292 | html_attr(cgit_logo_link); |
293 | htmlf("'><img src='%s' alt='logo'/></a>", cgit_logo); | 293 | htmlf("'><img src='%s' alt='logo'/></a>", cgit_logo); |
294 | html("</td></tr>"); | 294 | html("</td></tr>"); |
295 | html("<tr><td id='crumb'>"); | 295 | html("<tr><td id='crumb'>"); |
296 | if (cgit_query_repo) { | 296 | if (cgit_query_repo) { |
297 | html_txt(cgit_repo->name); | 297 | html_txt(cgit_repo->name); |
298 | html(" ("); | 298 | html(" ("); |
299 | html_txt(cgit_query_head); | 299 | html_txt(cgit_query_head); |
300 | html(") : "); | 300 | html(") : "); |
301 | reporevlink(NULL, "summary", NULL, NULL, cgit_query_head, | 301 | reporevlink(NULL, "summary", NULL, NULL, cgit_query_head, |
302 | NULL, NULL); | 302 | NULL, NULL); |
303 | html(" "); | 303 | html(" "); |
304 | cgit_log_link("log", NULL, NULL, cgit_query_head, | 304 | cgit_log_link("log", NULL, NULL, cgit_query_head, |
305 | cgit_query_sha1, cgit_query_path); | 305 | cgit_query_sha1, cgit_query_path); |
306 | html(" "); | 306 | html(" "); |
307 | cgit_tree_link("tree", NULL, NULL, cgit_query_head, | 307 | cgit_tree_link("tree", NULL, NULL, cgit_query_head, |
308 | cgit_query_sha1, cgit_query_path); | 308 | cgit_query_sha1, NULL); |
309 | html(" "); | 309 | html(" "); |
310 | cgit_commit_link("commit", NULL, NULL, cgit_query_head, | 310 | cgit_commit_link("commit", NULL, NULL, cgit_query_head, |
311 | cgit_query_sha1); | 311 | cgit_query_sha1); |
312 | html(" "); | 312 | html(" "); |
313 | cgit_diff_link("diff", NULL, NULL, cgit_query_head, | 313 | cgit_diff_link("diff", NULL, NULL, cgit_query_head, |
314 | cgit_query_sha1, cgit_query_sha2, | 314 | cgit_query_sha1, cgit_query_sha2, |
315 | cgit_query_path); | 315 | cgit_query_path); |
316 | } else { | 316 | } else { |
317 | html_txt("Index of repositories"); | 317 | html_txt("Index of repositories"); |
318 | } | 318 | } |
319 | html("</td>"); | 319 | html("</td>"); |
320 | html("<td id='search'>"); | 320 | html("<td id='search'>"); |
321 | if (show_search) { | 321 | if (show_search) { |
322 | html("<form method='get' action='"); | 322 | html("<form method='get' action='"); |
323 | html_attr(cgit_currurl()); | 323 | html_attr(cgit_currurl()); |
324 | html("'>"); | 324 | html("'>"); |
325 | if (!cgit_virtual_root) { | 325 | if (!cgit_virtual_root) { |
326 | if (cgit_query_repo) | 326 | if (cgit_query_repo) |
327 | html_hidden("r", cgit_query_repo); | 327 | html_hidden("r", cgit_query_repo); |
328 | if (cgit_query_page) | 328 | if (cgit_query_page) |
329 | html_hidden("p", cgit_query_page); | 329 | html_hidden("p", cgit_query_page); |
330 | } | 330 | } |
331 | if (cgit_query_head) | 331 | if (cgit_query_head) |
332 | html_hidden("h", cgit_query_head); | 332 | html_hidden("h", cgit_query_head); |
333 | if (cgit_query_sha1) | 333 | if (cgit_query_sha1) |
334 | html_hidden("id", cgit_query_sha1); | 334 | html_hidden("id", cgit_query_sha1); |
335 | if (cgit_query_sha2) | 335 | if (cgit_query_sha2) |
336 | html_hidden("id2", cgit_query_sha2); | 336 | html_hidden("id2", cgit_query_sha2); |
337 | html("<input type='text' name='q' value='"); | 337 | html("<input type='text' name='q' value='"); |
338 | html_attr(cgit_query_search); | 338 | html_attr(cgit_query_search); |
339 | html("'/></form>"); | 339 | html("'/></form>"); |
340 | } | 340 | } |
341 | html("</td></tr>"); | 341 | html("</td></tr>"); |
342 | html("<tr><td id='content' colspan='2'>"); | 342 | html("<tr><td id='content' colspan='2'>"); |
343 | } | 343 | } |
344 | 344 | ||
345 | void cgit_print_snapshot_start(const char *mimetype, const char *filename, | 345 | void cgit_print_snapshot_start(const char *mimetype, const char *filename, |
346 | struct cacheitem *item) | 346 | struct cacheitem *item) |
347 | { | 347 | { |
348 | htmlf("Content-Type: %s\n", mimetype); | 348 | htmlf("Content-Type: %s\n", mimetype); |
349 | htmlf("Content-Disposition: inline; filename=\"%s\"\n", filename); | 349 | htmlf("Content-Disposition: inline; filename=\"%s\"\n", filename); |
350 | htmlf("Last-Modified: %s\n", http_date(item->st.st_mtime)); | 350 | htmlf("Last-Modified: %s\n", http_date(item->st.st_mtime)); |
351 | htmlf("Expires: %s\n", http_date(item->st.st_mtime + | 351 | htmlf("Expires: %s\n", http_date(item->st.st_mtime + |
352 | ttl_seconds(item->ttl))); | 352 | ttl_seconds(item->ttl))); |
353 | html("\n"); | 353 | html("\n"); |
354 | } | 354 | } |