From fb01c9c8cc36ac28c895b6b7daad39038f3d17a2 Mon Sep 17 00:00:00 2001 From: James Moger Date: Mon, 4 Apr 2011 17:47:07 -0400 Subject: Improvements to css and specialized link panels. --- gitblit.properties | 8 + resources/git-favicon.png | Bin 115 -> 0 bytes resources/gitblit.css | 63 ++- resources/gitblt-favicon.png | Bin 0 -> 380 bytes resources/gitweb.css | 604 --------------------- src/com/gitblit/utils/JGitUtils.java | 2 +- src/com/gitblit/wicket/pages/BlobPage.java | 2 +- src/com/gitblit/wicket/pages/ShortLogPage.html | 4 +- src/com/gitblit/wicket/pages/SummaryPage.html | 66 ++- src/com/gitblit/wicket/pages/SummaryPage.java | 49 +- src/com/gitblit/wicket/pages/TagPage.html | 6 +- src/com/gitblit/wicket/pages/TagsPage.html | 6 +- src/com/gitblit/wicket/pages/TagsPage.java | 9 +- src/com/gitblit/wicket/pages/TreePage.html | 2 +- src/com/gitblit/wicket/pages/TreePage.java | 4 +- .../wicket/panels/AnnotatedTagLinksPanel.html | 8 + .../wicket/panels/AnnotatedTagLinksPanel.java | 23 + src/com/gitblit/wicket/panels/PageFooter.html | 3 +- src/com/gitblit/wicket/panels/PageFooter.java | 2 + src/com/gitblit/wicket/panels/PageHeader.html | 2 +- src/com/gitblit/wicket/panels/PageLinksPanel.html | 2 +- src/com/gitblit/wicket/panels/PageLinksPanel.java | 8 + .../gitblit/wicket/panels/TreeBlobLinksPanel.html | 8 + .../gitblit/wicket/panels/TreeBlobLinksPanel.java | 22 + src/com/gitblit/wicket/panels/TreeLinksPanel.html | 2 +- src/com/gitblit/wicket/panels/TreeLinksPanel.java | 12 +- 26 files changed, 227 insertions(+), 690 deletions(-) delete mode 100644 resources/git-favicon.png create mode 100644 resources/gitblt-favicon.png delete mode 100644 resources/gitweb.css create mode 100644 src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.html create mode 100644 src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.java create mode 100644 src/com/gitblit/wicket/panels/TreeBlobLinksPanel.html create mode 100644 src/com/gitblit/wicket/panels/TreeBlobLinksPanel.java diff --git a/gitblit.properties b/gitblit.properties index 7982504c..560515a1 100644 --- a/gitblit.properties +++ b/gitblit.properties @@ -66,6 +66,14 @@ datetimestampLongFormat = EEEE, MMMM d, yyyy h:mm a # This is a real-time graph so generation may be expensive. generateActivityGraph = true +# The number of commits to display on the summary page +# Value must exceed 0 else default of 20 is used +summaryCommitCount = 20 + +# The number of tags/heads to display on the summary page +# Value must exceed 0 else default of 5 is used +summaryRefsCount = 5 + # Registered extensions for google-code-prettify prettyPrintExtensions = c cpp cs css htm html java js php pl prefs properties py rb sh sql xml vb diff --git a/resources/git-favicon.png b/resources/git-favicon.png deleted file mode 100644 index aae35a70..00000000 Binary files a/resources/git-favicon.png and /dev/null differ diff --git a/resources/gitblit.css b/resources/gitblit.css index eebfdabf..21f6ca7c 100644 --- a/resources/gitblit.css +++ b/resources/gitblit.css @@ -51,6 +51,12 @@ img.logo { border-width: 0px; } +img.activityGraph { + float: right; + border-width: 0px; + padding: 8px; +} + div.header { background-color: #D2C3AF; padding: 3px; @@ -74,11 +80,17 @@ div.pager { div.link { padding: 2px 5px; font-family: sans-serif; - font-size: 9px; + font-size: 11px; +} + +div.link span { + font-family: inherit; + font-size: inherit; } div.link a { - font-size: 9px; + font-family: inherit; + font-size: inherit; } div.page_header { @@ -87,7 +99,7 @@ div.page_header { font-family: sans-serif; font-weight: bold; font-size: 150%; - color: #ccc; + color: #bbb; background-color: #ffffff; } @@ -112,6 +124,7 @@ div.page_header a:hover { } div.page_footer { + height: 17px; color: black; background-color: #ffffff; padding: 5px; @@ -120,7 +133,7 @@ div.page_footer { } div.page_nav { - color: #ccc; + color: #ddd; background-color: #000070; padding: 5px; } @@ -195,15 +208,33 @@ table.repositories { } table.repositories th { - background-color:#D3BDA1; - padding: 5px; + background-color:#000070; + padding: 4px; border-bottom: 1px solid #bbb; } +table.repositories td { + padding: 4px; +} + +table.repositories th a { + color:#ddd; + text-decoration: none; + font-weight: normal; +} + +table.repositories th a:hover { + text-decoration: underline; +} + +table.repositories th.wicket_orderDown a, table.repositories th.wicket_orderUp a { + color: yellow; +} + tr th a { padding-right: 15px; background-position: right; background-repeat:no-repeat; } -tr th.wicket_orderDown a {font-weight: bold; background-image: url(arrow_down.png); } -tr th.wicket_orderUp a { font-weight: bold; background-image: url(arrow_up.png); } -tr th.wicket_orderNone a { font-weight: normal; background-image: url(arrow_off.png); } +tr th.wicket_orderDown a {background-image: url(arrow_down.png); } +tr th.wicket_orderUp a { background-image: url(arrow_up.png); } +tr th.wicket_orderNone a { background-image: url(arrow_off.png); } tr.light { background-color: #ffffff; @@ -225,7 +256,14 @@ tr.dark td { /* currently both use the same, but it can change */ tr.light:hover, tr.dark:hover { - background-color: #f6a234; + /*background-color: #0099b7;*/ + background-color: #000070; + color: white; +} + +tr.light:hover a, +tr.dark:hover a { + color: white; } td { @@ -259,6 +297,10 @@ td.size { padding-right:15px; } +td.rightAlign { + text-align: right; +} + span.refs span { padding: 0px 4px; font-family: sans-serif; @@ -267,6 +309,7 @@ span.refs span { border: 1px solid; background-color: #ffaaff; border-color: #ffccff #ff00ee #ff00ee #ffccff; + color: black; } span.refs span a { diff --git a/resources/gitblt-favicon.png b/resources/gitblt-favicon.png new file mode 100644 index 00000000..f6ac1540 Binary files /dev/null and b/resources/gitblt-favicon.png differ diff --git a/resources/gitweb.css b/resources/gitweb.css deleted file mode 100644 index 4bf6e23a..00000000 --- a/resources/gitweb.css +++ /dev/null @@ -1,604 +0,0 @@ -body { - font-family: sans-serif; - font-size: small; - border: solid #d9d8d1; - border-width: 1px; - margin: 10px; - background-color: #ffffff; - color: #000000; -} - -a { - color: #0000cc; -} - -a:hover, a:visited, a:active { - color: #880000; -} - -span.cntrl { - border: dashed #aaaaaa; - border-width: 1px; - padding: 0px 2px 0px 2px; - margin: 0px 2px 0px 2px; -} - -img.logo { - float: right; - border-width: 0px; -} - -img.avatar { - vertical-align: middle; -} - -a.list img.avatar { - border-style: none; -} - -div.page_header { - height: 25px; - padding: 8px; - font-size: 150%; - font-weight: bold; - background-color: #d9d8d1; -} - -div.page_header a:visited, a.header { - color: #0000cc; -} - -div.page_header a:hover { - color: #880000; -} - -div.page_nav { - padding: 8px; -} - -div.page_nav a:visited { - color: #0000cc; -} - -div.page_path { - padding: 8px; - font-weight: bold; - border: solid #d9d8d1; - border-width: 0px 0px 1px; -} - -div.cachetime { - float: left; - margin-right: 10px; - color: #555555; -} - -div.page_footer { - height: 17px; - padding: 4px 8px; - background-color: #d9d8d1; -} - -div.page_footer_text { - float: left; - color: #555555; - font-style: italic; -} - -div#generating_info { - margin: 4px; - font-size: smaller; - text-align: center; - color: #505050; -} - -div.page_body { - padding: 8px; - font-family: monospace; -} - -div.title, a.title { - display: block; - padding: 6px 8px; - font-weight: bold; - background-color: #edece6; - text-decoration: none; - color: #000000; -} - -div.readme { - padding: 8px; -} - -a.title:hover { - background-color: #d9d8d1; -} - -div.title_text { - padding: 6px 0px; - border: solid #d9d8d1; - border-width: 0px 0px 1px; - font-family: monospace; -} - -div.log_body { - padding: 8px 8px 8px 150px; -} - -span.age { - position: relative; - float: left; - width: 142px; - font-style: italic; -} - -span.signoff { - color: #888888; -} - -div.log_link { - padding: 0px 8px; - font-size: 70%; - font-family: sans-serif; - font-style: normal; - position: relative; - float: left; - width: 136px; -} - -div.list_head { - padding: 6px 8px 4px; - border: solid #d9d8d1; - border-width: 1px 0px 0px; - font-style: italic; -} - -.author_date, .author { - font-style: italic; -} - -div.author_date { - padding: 8px; - border: solid #d9d8d1; - border-width: 0px 0px 1px 0px; -} - -a.list { - text-decoration: none; - color: #000000; -} - -a.subject, a.name { - font-weight: bold; -} - -table.tags a.subject { - font-weight: normal; -} - -a.list:hover { - text-decoration: underline; - color: #880000; -} - -a.text { - text-decoration: none; - color: #0000cc; -} - -a.text:visited { - text-decoration: none; - color: #880000; -} - -a.text:hover { - text-decoration: underline; - color: #880000; -} - -table { - padding: 8px 4px; - border-spacing: 0; -} - -table.diff_tree { - font-family: monospace; -} - -table.combined.diff_tree th { - text-align: center; -} - -table.combined.diff_tree td { - padding-right: 24px; -} - -table.combined.diff_tree th.link, -table.combined.diff_tree td.link { - padding: 0px 2px; -} - -table.combined.diff_tree td.nochange a { - color: #6666ff; -} - -table.combined.diff_tree td.nochange a:hover, -table.combined.diff_tree td.nochange a:visited { - color: #d06666; -} - -table.blame { - border-collapse: collapse; -} - -table.blame td { - padding: 0px 5px; - font-size: 100%; - vertical-align: top; -} - -th { - padding: 2px 5px; - font-size: 100%; - text-align: left; -} - -/* do not change row style on hover for 'blame' view */ -tr.light, -table.blame .light:hover { - background-color: #ffffff; -} - -tr.dark, -table.blame .dark:hover { - background-color: #f6f6f0; -} - -/* currently both use the same, but it can change */ -tr.light:hover, -tr.dark:hover { - background-color: #edece6; -} - -/* boundary commits in 'blame' view */ -/* and commits without "previous" */ -tr.boundary td.sha1, -tr.no-previous td.linenr { - font-weight: bold; -} - -/* for 'blame_incremental', during processing */ -tr.color1 { background-color: #f6fff6; } -tr.color2 { background-color: #f6f6ff; } -tr.color3 { background-color: #fff6f6; } - -td { - padding: 2px 5px; - font-size: 100%; - vertical-align: top; -} - -td.link, td.selflink { - padding: 2px 5px; - font-family: sans-serif; - font-size: 70%; -} - -td.selflink { - padding-right: 0px; -} - -td.sha1 { - font-family: monospace; -} - -.error { - color: red; - background-color: yellow; -} - -td.current_head { - text-decoration: underline; -} - -table.diff_tree span.file_status.new { - color: #008000; -} - -table.diff_tree span.file_status.deleted { - color: #c00000; -} - -table.diff_tree span.file_status.moved, -table.diff_tree span.file_status.mode_chnge { - color: #777777; -} - -table.diff_tree span.file_status.copied { - color: #70a070; -} - -/* noage: "No commits" */ -table.project_list td.noage { - color: #808080; - font-style: italic; -} - -/* age2: 60*60*24*2 <= age */ -table.project_list td.age2, table.blame td.age2 { - font-style: italic; -} - -/* age1: 60*60*2 <= age < 60*60*24*2 */ -table.project_list td.age1 { - color: #009900; - font-style: italic; -} - -table.blame td.age1 { - color: #009900; - background: transparent; -} - -/* age0: age < 60*60*2 */ -table.project_list td.age0 { - color: #009900; - font-style: italic; - font-weight: bold; -} - -table.blame td.age0 { - color: #009900; - background: transparent; - font-weight: bold; -} - -td.pre, div.pre, div.diff { - font-family: monospace; - font-size: 12px; - white-space: pre; -} - -td.mode { - font-family: monospace; -} - -/* progress of blame_interactive */ -div#progress_bar { - height: 2px; - margin-bottom: -2px; - background-color: #d8d9d0; -} -div#progress_info { - float: right; - text-align: right; -} - -/* format of (optional) objects size in 'tree' view */ -td.size { - font-family: monospace; - text-align: right; -} - -/* styling of diffs (patchsets): commitdiff and blobdiff views */ -div.diff.header, -div.diff.extended_header { - white-space: normal; -} - -div.diff.header { - font-weight: bold; - - background-color: #edece6; - - margin-top: 4px; - padding: 4px 0px 2px 0px; - border: solid #d9d8d1; - border-width: 1px 0px 1px 0px; -} - -div.diff.header a.path { - text-decoration: underline; -} - -div.diff.extended_header, -div.diff.extended_header a.path, -div.diff.extended_header a.hash { - color: #777777; -} - -div.diff.extended_header .info { - color: #b0b0b0; -} - -div.diff.extended_header { - background-color: #f6f5ee; - padding: 2px 0px 2px 0px; -} - -div.diff a.list, -div.diff a.path, -div.diff a.hash { - text-decoration: none; -} - -div.diff a.list:hover, -div.diff a.path:hover, -div.diff a.hash:hover { - text-decoration: underline; -} - -div.diff.to_file a.path, -div.diff.to_file { - color: #007000; -} - -div.diff.add { - color: #008800; -} - -div.diff.from_file a.path, -div.diff.from_file { - color: #aa0000; -} - -div.diff.rem { - color: #cc0000; -} - -div.diff.chunk_header a, -div.diff.chunk_header { - color: #990099; -} - -div.diff.chunk_header { - border: dotted #ffe0ff; - border-width: 1px 0px 0px 0px; - margin-top: 2px; -} - -div.diff.chunk_header span.chunk_info { - background-color: #ffeeff; -} - -div.diff.chunk_header span.section { - color: #aa22aa; -} - -div.diff.incomplete { - color: #cccccc; -} - -div.diff.nodifferences { - font-weight: bold; - color: #600000; -} - -div.index_include { - border: solid #d9d8d1; - border-width: 0px 0px 1px; - padding: 12px 8px; -} - -div.search { - font-size: 100%; - font-weight: normal; - margin: 4px 8px; - float: right; - top: 56px; - right: 12px -} - -p.projsearch { - text-align: center; -} - -td.linenr { - text-align: right; -} - -a.linenr { - color: #999999; - text-decoration: none -} - -a.rss_logo { - float: right; - padding: 3px 0px; - width: 35px; - line-height: 10px; - border: 1px solid; - border-color: #fcc7a5 #7d3302 #3e1a01 #ff954e; - color: #ffffff; - background-color: #ff6600; - font-weight: bold; - font-family: sans-serif; - font-size: 70%; - text-align: center; - text-decoration: none; -} - -a.rss_logo:hover { - background-color: #ee5500; -} - -a.rss_logo.generic { - background-color: #ff8800; -} - -a.rss_logo.generic:hover { - background-color: #ee7700; -} - -span.refs span { - padding: 0px 4px; - font-size: 70%; - font-weight: normal; - border: 1px solid; - background-color: #ffaaff; - border-color: #ffccff #ff00ee #ff00ee #ffccff; -} - -span.refs span a { - text-decoration: none; - color: inherit; -} - -span.refs span a:hover { - text-decoration: underline; -} - -span.refs span.indirect { - font-style: italic; -} - -span.refs span.ref { - background-color: #aaaaff; - border-color: #ccccff #0033cc #0033cc #ccccff; -} - -span.refs span.tag { - background-color: #ffffaa; - border-color: #ffffcc #ffee00 #ffee00 #ffffcc; -} - -span.refs span.head { - background-color: #aaffaa; - border-color: #ccffcc #00cc33 #00cc33 #ccffcc; -} - -span.atnight { - color: #cc0000; -} - -span.match { - color: #e00000; -} - -div.binary { - font-style: italic; -} - -div.remote { - margin: .5em; - border: 1px solid #d9d8d1; - display: inline-block; -} - -/* Style definition generated by highlight 2.4.5, http://www.andre-simon.de/ */ - -/* Highlighting theme definition: */ - -.num { color:#2928ff; } -.esc { color:#ff00ff; } -.str { color:#ff0000; } -.dstr { color:#818100; } -.slc { color:#838183; font-style:italic; } -.com { color:#838183; font-style:italic; } -.dir { color:#008200; } -.sym { color:#000000; } -.line { color:#555555; } -.kwa { color:#000000; font-weight:bold; } -.kwb { color:#830000; } -.kwc { color:#000000; font-weight:bold; } -.kwd { color:#010181; } diff --git a/src/com/gitblit/utils/JGitUtils.java b/src/com/gitblit/utils/JGitUtils.java index 31b56777..16a0e9bc 100644 --- a/src/com/gitblit/utils/JGitUtils.java +++ b/src/com/gitblit/utils/JGitUtils.java @@ -349,7 +349,7 @@ public class JGitUtils { Collections.sort(list); Collections.reverse(list); if (maxCount > 0 && list.size() > maxCount) { - list = list.subList(0, maxCount); + list = new ArrayList(list.subList(0, maxCount)); } } catch (IOException e) { LOGGER.error("Failed to retrieve " + refs, e); diff --git a/src/com/gitblit/wicket/pages/BlobPage.java b/src/com/gitblit/wicket/pages/BlobPage.java index cfbfaa40..324a74e2 100644 --- a/src/com/gitblit/wicket/pages/BlobPage.java +++ b/src/com/gitblit/wicket/pages/BlobPage.java @@ -29,7 +29,7 @@ public class BlobPage extends RepositoryPage { // blob page links add(new Label("historyLink", "history")); - add(new Label("rawLink", "download")); + add(new Label("rawLink", "raw")); add(new Label("headLink", "HEAD")); add(new LinkPanel("shortlog", "title", commit.getShortMessage(), CommitPage.class, newCommitParameter())); diff --git a/src/com/gitblit/wicket/pages/ShortLogPage.html b/src/com/gitblit/wicket/pages/ShortLogPage.html index 5afc6cdb..ffc0a678 100644 --- a/src/com/gitblit/wicket/pages/ShortLogPage.html +++ b/src/com/gitblit/wicket/pages/ShortLogPage.html @@ -15,8 +15,8 @@
-
- +
+ diff --git a/src/com/gitblit/wicket/pages/SummaryPage.html b/src/com/gitblit/wicket/pages/SummaryPage.html index be001432..9ed69293 100644 --- a/src/com/gitblit/wicket/pages/SummaryPage.html +++ b/src/com/gitblit/wicket/pages/SummaryPage.html @@ -10,7 +10,7 @@
- +
@@ -32,48 +32,46 @@
-
- +
+
- -
-
- - -
- - -
+ +
+ +
- - - - - - - + + + + + +
-
- - - -
- - - - - - - - -
+
+ +
- + +
+ +
+ + + + + + + + + +
+
+
diff --git a/src/com/gitblit/wicket/pages/SummaryPage.java b/src/com/gitblit/wicket/pages/SummaryPage.java index 318e3c95..507ba244 100644 --- a/src/com/gitblit/wicket/pages/SummaryPage.java +++ b/src/com/gitblit/wicket/pages/SummaryPage.java @@ -31,6 +31,7 @@ import com.gitblit.wicket.RepositoryPage; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.models.Metric; import com.gitblit.wicket.models.RefModel; +import com.gitblit.wicket.panels.AnnotatedTagLinksPanel; import com.gitblit.wicket.panels.HeadLinksPanel; import com.gitblit.wicket.panels.RefsPanel; import com.gitblit.wicket.panels.ShortLogLinksPanel; @@ -40,7 +41,20 @@ public class SummaryPage extends RepositoryPage { public SummaryPage(PageParameters params) { super(params, "summary"); + + int numCommitsDef = 20; + int numRefsDef = 5; + + int numberCommits = StoredSettings.getInteger("summaryCommitCount", numCommitsDef); + if (numberCommits <= 0) { + numberCommits = numCommitsDef; + } + int numberRefs = StoredSettings.getInteger("summaryRefsCount", numRefsDef); + if (numberRefs <= 0) { + numberRefs = numRefsDef; + } + Repository r = getRepository(); final Map> allRefs = JGitUtils.getAllRefs(r); @@ -55,12 +69,10 @@ public class SummaryPage extends RepositoryPage { add(new Label("repositoryLastChange", lastchange)); add(new Label("repositoryCloneUrl", cloneurl)); - int summaryCount = 16; - // shortlog add(new LinkPanel("shortlog", "title", "shortlog", ShortLogPage.class, newRepositoryParameter())); - List commits = JGitUtils.getRevLog(r, summaryCount); + List commits = JGitUtils.getRevLog(r, numberCommits); ListDataProvider dp = new ListDataProvider(commits); DataView shortlogView = new DataView("commit", dp) { private static final long serialVersionUID = 1L; @@ -92,10 +104,14 @@ public class SummaryPage extends RepositoryPage { } }; add(shortlogView); - add(new LinkPanel("shortlogMore", "link", "more...", ShortLogPage.class, newRepositoryParameter())); + if (commits.size() < numberCommits) { + add(new Label("shortlogMore", "").setVisible(false)); + } else { + add(new LinkPanel("shortlogMore", "link", "more...", ShortLogPage.class, newRepositoryParameter())); + } // tags - List tags = JGitUtils.getTags(r, summaryCount); + List tags = JGitUtils.getTags(r, numberRefs); add(new LinkPanel("tags", "title", "tags", TagsPage.class, newRepositoryParameter())); ListDataProvider tagsDp = new ListDataProvider(tags); @@ -111,24 +127,28 @@ public class SummaryPage extends RepositoryPage { item.add(new LinkPanel("tagName", "list name", entry.getDisplayName(), CommitPage.class, newCommitParameter(entry.getCommitId().getName()))); if (entry.getCommitId().equals(entry.getObjectId())) { - // lightweight tag on commit object + // simple tag item.add(new Label("tagDescription", "")); + item.add(new TagLinksPanel("tagLinks", repositoryName, entry)); } else { - // tag object + // annotated tag item.add(new LinkPanel("tagDescription", "list subject", entry.getShortLog(), TagPage.class, newCommitParameter(entry.getObjectId().getName()))); + item.add(new AnnotatedTagLinksPanel("tagLinks", repositoryName, entry)); } - item.add(new TagLinksPanel("tagLinks", repositoryName, entry)); - setAlternatingBackground(item, counter); counter++; } }; add(tagView); - add(new LinkPanel("tagsMore", "link", "more...", TagsPage.class, newRepositoryParameter())); + if (tags.size() < numberRefs) { + add(new Label("allTags", "").setVisible(false)); + } else { + add(new LinkPanel("allTags", "link", "all tags...", TagsPage.class, newRepositoryParameter())); + } // heads - List heads = JGitUtils.getHeads(r, summaryCount); + List heads = JGitUtils.getHeads(r, numberRefs); add(new LinkPanel("heads", "title", "heads", HeadsPage.class, newRepositoryParameter())); ListDataProvider headsDp = new ListDataProvider(heads); @@ -150,7 +170,12 @@ public class SummaryPage extends RepositoryPage { } }; add(headsView); - + if (heads.size() < numberRefs) { + add(new Label("allHeads", "").setVisible(false)); + } else { + add(new LinkPanel("allHeads", "link", "all heads...", HeadsPage.class, newRepositoryParameter())); + } + // Display an activity line graph insertActivityGraph(r); diff --git a/src/com/gitblit/wicket/pages/TagPage.html b/src/com/gitblit/wicket/pages/TagPage.html index 60411858..f86becf9 100644 --- a/src/com/gitblit/wicket/pages/TagPage.html +++ b/src/com/gitblit/wicket/pages/TagPage.html @@ -8,17 +8,17 @@
-
+
- +
objectMessage goes here
authorMessage goes here
Message goes here
-
+
diff --git a/src/com/gitblit/wicket/pages/TagsPage.html b/src/com/gitblit/wicket/pages/TagsPage.html index a3f7d399..e5899c52 100644 --- a/src/com/gitblit/wicket/pages/TagsPage.html +++ b/src/com/gitblit/wicket/pages/TagsPage.html @@ -8,14 +8,14 @@
-
- +
+
- +
diff --git a/src/com/gitblit/wicket/pages/TagsPage.java b/src/com/gitblit/wicket/pages/TagsPage.java index 012d712b..5cfd1aff 100644 --- a/src/com/gitblit/wicket/pages/TagsPage.java +++ b/src/com/gitblit/wicket/pages/TagsPage.java @@ -13,6 +13,7 @@ import com.gitblit.utils.JGitUtils; import com.gitblit.wicket.LinkPanel; import com.gitblit.wicket.RepositoryPage; import com.gitblit.wicket.models.RefModel; +import com.gitblit.wicket.panels.AnnotatedTagLinksPanel; import com.gitblit.wicket.panels.TagLinksPanel; @@ -39,15 +40,15 @@ public class TagsPage extends RepositoryPage { item.add(new LinkPanel("tagName", "list name", entry.getDisplayName(), CommitPage.class, newCommitParameter(entry.getObjectId().getName()))); if (entry.getCommitId().equals(entry.getObjectId())) { - // lightweight tag on commit object + // simple tag on commit object item.add(new Label("tagDescription", "")); + item.add(new TagLinksPanel("tagLinks", repositoryName, entry)); } else { - // tag object + // annotated tag item.add(new LinkPanel("tagDescription", "list subject", entry.getShortLog(), TagPage.class, newCommitParameter(entry.getObjectId().getName()))); + item.add(new AnnotatedTagLinksPanel("tagLinks", repositoryName, entry)); } - item.add(new TagLinksPanel("tagLinks", repositoryName, entry)); - setAlternatingBackground(item, counter); counter++; } diff --git a/src/com/gitblit/wicket/pages/TreePage.html b/src/com/gitblit/wicket/pages/TreePage.html index 197ac945..34806bbc 100644 --- a/src/com/gitblit/wicket/pages/TreePage.html +++ b/src/com/gitblit/wicket/pages/TreePage.html @@ -24,7 +24,7 @@ - + diff --git a/src/com/gitblit/wicket/pages/TreePage.java b/src/com/gitblit/wicket/pages/TreePage.java index cce18be2..2ac04b7f 100644 --- a/src/com/gitblit/wicket/pages/TreePage.java +++ b/src/com/gitblit/wicket/pages/TreePage.java @@ -17,6 +17,7 @@ import com.gitblit.wicket.RepositoryPage; import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.models.PathModel; import com.gitblit.wicket.panels.PathBreadcrumbsPanel; +import com.gitblit.wicket.panels.TreeBlobLinksPanel; import com.gitblit.wicket.panels.TreeLinksPanel; @@ -64,12 +65,13 @@ public class TreePage extends RepositoryPage { // folder/tree link item.add(new Label("pathSize", "")); item.add(new LinkPanel("pathName", null, entry.name, TreePage.class, newPathParameter(entry.path))); + item.add(new TreeLinksPanel("treeLinks", repositoryName, entry)); } else { // blob link item.add(new Label("pathSize", byteFormat.format(entry.size))); item.add(new LinkPanel("pathName", "list", entry.name, BlobPage.class, newPathParameter(entry.path))); + item.add(new TreeBlobLinksPanel("treeLinks", repositoryName, entry)); } - item.add(new TreeLinksPanel("treeLinks", repositoryName, entry)); } String clazz = counter % 2 == 0 ? "dark" : "light"; WicketUtils.setCssClass(item, clazz); diff --git a/src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.html b/src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.html new file mode 100644 index 00000000..4b1d5997 --- /dev/null +++ b/src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.html @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.java b/src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.java new file mode 100644 index 00000000..79c6c635 --- /dev/null +++ b/src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.java @@ -0,0 +1,23 @@ +package com.gitblit.wicket.panels; + +import org.apache.wicket.PageParameters; +import org.apache.wicket.markup.html.panel.Panel; + +import com.gitblit.wicket.LinkPanel; +import com.gitblit.wicket.models.RefModel; +import com.gitblit.wicket.pages.CommitPage; +import com.gitblit.wicket.pages.ShortLogPage; +import com.gitblit.wicket.pages.TagPage; + + +public class AnnotatedTagLinksPanel extends Panel { + + private static final long serialVersionUID = 1L; + + public AnnotatedTagLinksPanel(String id, String repositoryName, RefModel tag) { + super(id); + add(new LinkPanel("tag", null, "tag", TagPage.class, new PageParameters("p=" + repositoryName + ",h=" + tag.getObjectId().getName()))); + add(new LinkPanel("commit", null, "commit", CommitPage.class, new PageParameters("p=" + repositoryName + ",h=" + tag.getCommitId().getName()))); + add(new LinkPanel("shortlog", null, "shortlog", ShortLogPage.class, new PageParameters("p=" + repositoryName + ",h=" + tag.getName()))); + } +} \ No newline at end of file diff --git a/src/com/gitblit/wicket/panels/PageFooter.html b/src/com/gitblit/wicket/panels/PageFooter.html index 305b6bce..be1971ce 100644 --- a/src/com/gitblit/wicket/panels/PageFooter.html +++ b/src/com/gitblit/wicket/panels/PageFooter.html @@ -3,9 +3,10 @@ +
\ No newline at end of file diff --git a/src/com/gitblit/wicket/panels/PageFooter.java b/src/com/gitblit/wicket/panels/PageFooter.java index b727408c..b7440e8c 100644 --- a/src/com/gitblit/wicket/panels/PageFooter.java +++ b/src/com/gitblit/wicket/panels/PageFooter.java @@ -3,6 +3,7 @@ package com.gitblit.wicket.panels; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.panel.Panel; +import com.gitblit.Constants; import com.gitblit.StoredSettings; @@ -17,6 +18,7 @@ public class PageFooter extends Panel { public PageFooter(String id, String description) { super(id); add(new Label("footerText", description)); + add(new Label("gbVersion", "v" + Constants.VERSION)); if (StoredSettings.getBoolean("aggressiveGC", false)) { System.gc(); } diff --git a/src/com/gitblit/wicket/panels/PageHeader.html b/src/com/gitblit/wicket/panels/PageHeader.html index 982a897c..827adb40 100644 --- a/src/com/gitblit/wicket/panels/PageHeader.html +++ b/src/com/gitblit/wicket/panels/PageHeader.html @@ -4,7 +4,7 @@ Message goes here - +