summaryrefslogtreecommitdiffabout
authorLars Hjemli <hjemli@gmail.com>2008-08-06 09:07:13 (UTC)
committer Lars Hjemli <hjemli@gmail.com>2008-08-06 09:21:30 (UTC)
commit65b7b876aaaf50fc15060533359d6561f4f1819a (patch) (side-by-side diff)
treec5cfe73456cf31afb13bcb12c5331fa711f89d71
parente5da4bca54574522b28f88cab0dc8ebad9e35a73 (diff)
downloadcgit-65b7b876aaaf50fc15060533359d6561f4f1819a.zip
cgit-65b7b876aaaf50fc15060533359d6561f4f1819a.tar.gz
cgit-65b7b876aaaf50fc15060533359d6561f4f1819a.tar.bz2
ui-tree: link to plain view instead of blob view
The urls for plain view makes it possible to download blobs without knowing their SHA1, but the function needs to be promoted and the link from tree view seems like a perfect fit. PS: Although hidden, the blob view still is nice for direct blob access so there's no point in removing it. Signed-off-by: Lars Hjemli <hjemli@gmail.com>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ui-shared.c6
-rw-r--r--ui-shared.h2
-rw-r--r--ui-tree.c8
3 files changed, 12 insertions, 4 deletions
diff --git a/ui-shared.c b/ui-shared.c
index 4408969..a2e0dd2 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -234,24 +234,30 @@ static void reporevlink(char *page, char *name, char *title, char *class,
}
html("'>");
html_txt(name);
html("</a>");
}
void cgit_tree_link(char *name, char *title, char *class, char *head,
char *rev, char *path)
{
reporevlink("tree", name, title, class, head, rev, path);
}
+void cgit_plain_link(char *name, char *title, char *class, char *head,
+ char *rev, char *path)
+{
+ reporevlink("plain", name, title, class, head, rev, path);
+}
+
void cgit_log_link(char *name, char *title, char *class, char *head,
char *rev, char *path, int ofs, char *grep, char *pattern)
{
char *delim;
delim = repolink(title, class, "log", head, path);
if (rev && strcmp(rev, ctx.qry.head)) {
html(delim);
html("id=");
html_attr(rev);
delim = "&";
}
diff --git a/ui-shared.h b/ui-shared.h
index 07da4b4..c5ce056 100644
--- a/ui-shared.h
+++ b/ui-shared.h
@@ -2,24 +2,26 @@
#define UI_SHARED_H
extern char *cgit_repourl(const char *reponame);
extern char *cgit_fileurl(const char *reponame, const char *pagename,
const char *filename, const char *query);
extern char *cgit_pageurl(const char *reponame, const char *pagename,
const char *query);
extern void cgit_index_link(char *name, char *title, char *class,
char *pattern, int ofs);
extern void cgit_tree_link(char *name, char *title, char *class, char *head,
char *rev, char *path);
+extern void cgit_plain_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 *grep,
char *pattern);
extern void cgit_commit_link(char *name, char *title, char *class, char *head,
char *rev);
extern void cgit_patch_link(char *name, char *title, char *class, char *head,
char *rev);
extern void cgit_refs_link(char *name, char *title, char *class, char *head,
char *rev, char *path);
extern void cgit_snapshot_link(char *name, char *title, char *class,
char *head, char *rev, char *archivename);
extern void cgit_diff_link(char *name, char *title, char *class, char *head,
diff --git a/ui-tree.c b/ui-tree.c
index 9a837e2..79332fc 100644
--- a/ui-tree.c
+++ b/ui-tree.c
@@ -26,28 +26,28 @@ static void print_object(const unsigned char *sha1, char *path)
cgit_print_error(fmt("Bad object name: %s",
sha1_to_hex(sha1)));
return;
}
buf = read_sha1_file(sha1, &type, &size);
if (!buf) {
cgit_print_error(fmt("Error reading object %s",
sha1_to_hex(sha1)));
return;
}
- html(" blob: <a href='");
- html_attr(cgit_pageurl(ctx.qry.repo, "blob",
- fmt("id=%s&path=%s", sha1_to_hex(sha1), path)));
- htmlf("'>%s</a>",sha1_to_hex(sha1));
+ html(" (");
+ cgit_plain_link("plain", NULL, NULL, ctx.qry.head,
+ curr_rev, path);
+ htmlf(")<br/>blob: %s", sha1_to_hex(sha1));
html("<table summary='blob content' class='blob'>\n");
idx = 0;
start = 0;
lineno = 0;
while(idx < size) {
if (buf[idx] == '\n') {
buf[idx] = '\0';
htmlf(linefmt, ++lineno);
html_txt(buf + start);
html("</td></tr>\n");
start = idx + 1;