From fb01c9c8cc36ac28c895b6b7daad39038f3d17a2 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 04 Apr 2011 17:47:07 -0400 Subject: [PATCH] Improvements to css and specialized link panels. --- src/com/gitblit/wicket/pages/TagsPage.java | 9 src/com/gitblit/wicket/panels/TreeLinksPanel.html | 2 src/com/gitblit/wicket/pages/TagPage.html | 6 src/com/gitblit/wicket/panels/PageLinksPanel.html | 2 src/com/gitblit/wicket/panels/TreeBlobLinksPanel.html | 8 resources/gitblt-favicon.png | 0 src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.html | 8 src/com/gitblit/wicket/pages/ShortLogPage.html | 4 gitblit.properties | 8 src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.java | 23 + src/com/gitblit/wicket/panels/TreeLinksPanel.java | 12 src/com/gitblit/wicket/panels/TreeBlobLinksPanel.java | 22 + src/com/gitblit/wicket/pages/BlobPage.java | 2 src/com/gitblit/utils/JGitUtils.java | 2 src/com/gitblit/wicket/pages/SummaryPage.html | 66 ++-- src/com/gitblit/wicket/pages/TreePage.java | 4 src/com/gitblit/wicket/panels/PageFooter.java | 2 src/com/gitblit/wicket/panels/PageHeader.html | 2 src/com/gitblit/wicket/pages/TreePage.html | 2 /dev/null | 604 ------------------------------------- src/com/gitblit/wicket/panels/PageLinksPanel.java | 8 src/com/gitblit/wicket/pages/TagsPage.html | 6 src/com/gitblit/wicket/panels/PageFooter.html | 3 resources/gitblit.css | 63 +++ src/com/gitblit/wicket/pages/SummaryPage.java | 49 ++ 25 files changed, 227 insertions(+), 690 deletions(-) diff --git a/gitblit.properties b/gitblit.properties index 7982504..560515a 100644 --- a/gitblit.properties +++ b/gitblit.properties @@ -66,6 +66,14 @@ # 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 aae35a7..0000000 --- a/resources/git-favicon.png +++ /dev/null Binary files differ diff --git a/resources/gitblit.css b/resources/gitblit.css index eebfdab..21f6ca7 100644 --- a/resources/gitblit.css +++ b/resources/gitblit.css @@ -51,6 +51,12 @@ border-width: 0px; } +img.activityGraph { + float: right; + border-width: 0px; + padding: 8px; +} + div.header { background-color: #D2C3AF; padding: 3px; @@ -74,11 +80,17 @@ 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 @@ font-family: sans-serif; font-weight: bold; font-size: 150%; - color: #ccc; + color: #bbb; background-color: #ffffff; } @@ -112,6 +124,7 @@ } div.page_footer { + height: 17px; color: black; background-color: #ffffff; padding: 5px; @@ -120,7 +133,7 @@ } div.page_nav { - color: #ccc; + color: #ddd; background-color: #000070; padding: 5px; } @@ -195,15 +208,33 @@ } 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 @@ /* 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 @@ padding-right:15px; } +td.rightAlign { + text-align: right; +} + span.refs span { padding: 0px 4px; font-family: sans-serif; @@ -267,6 +309,7 @@ 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 0000000..f6ac154 --- /dev/null +++ b/resources/gitblt-favicon.png Binary files differ diff --git a/resources/gitweb.css b/resources/gitweb.css deleted file mode 100644 index 4bf6e23..0000000 --- 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 31b5677..16a0e9b 100644 --- a/src/com/gitblit/utils/JGitUtils.java +++ b/src/com/gitblit/utils/JGitUtils.java @@ -349,7 +349,7 @@ Collections.sort(list); Collections.reverse(list); if (maxCount > 0 && list.size() > maxCount) { - list = list.subList(0, maxCount); + list = new ArrayList<RefModel>(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 cfbfaa4..324a74e 100644 --- a/src/com/gitblit/wicket/pages/BlobPage.java +++ b/src/com/gitblit/wicket/pages/BlobPage.java @@ -29,7 +29,7 @@ // 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 5afc6cd..ffc0a67 100644 --- a/src/com/gitblit/wicket/pages/ShortLogPage.html +++ b/src/com/gitblit/wicket/pages/ShortLogPage.html @@ -15,8 +15,8 @@ <td class="date"><span wicket:id="commitDate"></span></td> <td class="author"><span wicket:id="commitAuthor"></span></td> <td><div wicket:id="commitShortMessage"></div></td> - <td><div wicket:id="commitRefs"></div></td> - <td><span wicket:id="commitLinks"></span></td> + <td class="rightAlign"><div wicket:id="commitRefs"></div></td> + <td class="rightAlign"><span wicket:id="commitLinks"></span></td> </tr> </tbody> </table> diff --git a/src/com/gitblit/wicket/pages/SummaryPage.html b/src/com/gitblit/wicket/pages/SummaryPage.html index be00143..9ed6929 100644 --- a/src/com/gitblit/wicket/pages/SummaryPage.html +++ b/src/com/gitblit/wicket/pages/SummaryPage.html @@ -10,7 +10,7 @@ <div> <!-- Repository Activity Chart --> <div style="width:50%;float:right;"> - <img style="padding-top:8px;" wicket:id="commitsChart" /> + <img class="activityGraph" wicket:id="commitsChart" /> </div> <!-- Repository info --> @@ -32,48 +32,46 @@ <td class="date"><span wicket:id="commitDate"></span></td> <td class="author"><span wicket:id="commitAuthor"></span></td> <td><div wicket:id="commitShortMessage"></div></td> - <td><div wicket:id="commitRefs"></div></td> - <td><span wicket:id="commitLinks"></span></td> + <td class="rightAlign"><div wicket:id="commitRefs"></div></td> + <td class="rightAlign"><span wicket:id="commitLinks"></span></td> </tr> </tbody> </table> <div class="pager" wicket:id="shortlogMore"></div> - <!-- Open additional graphs body --> - <div style="width:25%;float:right;"> - </div> - - <!-- Open Tags and Heads body --> - <div style="width:65%"> - - <!-- tags --> - <div class="header" wicket:id="tags"></div> + <!-- Open Heads Body --> + <div style="width:34%;float:right;"> + <!-- heads --> + <div class="header" wicket:id="heads"></div> <table style="width:100%" class="pretty"> <tbody> - <tr wicket:id="tag"> - <td class="date"><span wicket:id="tagDate"></span></td> - <td><b><div wicket:id="tagName"></div></b></td> - <td><div wicket:id="tagDescription"></div></td> - <td><span wicket:id="tagLinks"></span></td> - </tr> - </tbody> + <tr wicket:id="head"> + <td class="date"><span wicket:id="headDate"></span></td> + <td><div wicket:id="headName"></div></td> + <td class="rightAlign"><span wicket:id="headLinks"></span></td> + </tr> + </tbody> </table> - <div class="pager" wicket:id="tagsMore"></div> - - - <!-- heads --> - <div class="header" wicket:id="heads"></div> - <table style="width:100%" class="pretty"> - <tbody> - <tr wicket:id="head"> - <td class="date"><span wicket:id="headDate"></span></td> - <td><div wicket:id="headName"></div></td> - <td><span wicket:id="headLinks"></span></td> - </tr> - </tbody> - </table> + <div class="pager" wicket:id="allHeads"></div> + <!-- Close Heads Body --> + </div> - <!-- Close Tags and Heads Body --> + <!-- Open Tags body --> + <div style="width:65%"> + <!-- tags --> + <div class="header" wicket:id="tags"></div> + <table style="width:100%" class="pretty"> + <tbody> + <tr wicket:id="tag"> + <td class="date"><span wicket:id="tagDate"></span></td> + <td><b><div wicket:id="tagName"></div></b></td> + <td><div wicket:id="tagDescription"></div></td> + <td class="rightAlign"><span wicket:id="tagLinks"></span></td> + </tr> + </tbody> + </table> + <div class="pager" wicket:id="allTags"></div> + <!-- Close Tags Body --> </div> <!-- footer --> diff --git a/src/com/gitblit/wicket/pages/SummaryPage.java b/src/com/gitblit/wicket/pages/SummaryPage.java index 318e3c9..507ba24 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.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 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<ObjectId, List<String>> allRefs = JGitUtils.getAllRefs(r); @@ -55,12 +69,10 @@ add(new Label("repositoryLastChange", lastchange)); add(new Label("repositoryCloneUrl", cloneurl)); - int summaryCount = 16; - // shortlog add(new LinkPanel("shortlog", "title", "shortlog", ShortLogPage.class, newRepositoryParameter())); - List<RevCommit> commits = JGitUtils.getRevLog(r, summaryCount); + List<RevCommit> commits = JGitUtils.getRevLog(r, numberCommits); ListDataProvider<RevCommit> dp = new ListDataProvider<RevCommit>(commits); DataView<RevCommit> shortlogView = new DataView<RevCommit>("commit", dp) { private static final long serialVersionUID = 1L; @@ -92,10 +104,14 @@ } }; 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<RefModel> tags = JGitUtils.getTags(r, summaryCount); + List<RefModel> tags = JGitUtils.getTags(r, numberRefs); add(new LinkPanel("tags", "title", "tags", TagsPage.class, newRepositoryParameter())); ListDataProvider<RefModel> tagsDp = new ListDataProvider<RefModel>(tags); @@ -111,24 +127,28 @@ 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<RefModel> heads = JGitUtils.getHeads(r, summaryCount); + List<RefModel> heads = JGitUtils.getHeads(r, numberRefs); add(new LinkPanel("heads", "title", "heads", HeadsPage.class, newRepositoryParameter())); ListDataProvider<RefModel> headsDp = new ListDataProvider<RefModel>(heads); @@ -150,7 +170,12 @@ } }; 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 6041185..f86becf 100644 --- a/src/com/gitblit/wicket/pages/TagPage.html +++ b/src/com/gitblit/wicket/pages/TagPage.html @@ -8,17 +8,17 @@ <div wicket:id="pageLinks"></div> <!-- summary header --> - <div class="header" wicket:id="commit"></div> + <div style="padding-top: 5px;" class="header" wicket:id="commit"></div> <!-- commit info --> - <table> + <table class="plain"> <tr><th>object</th><td><span wicket:id="tagId">Message goes here</span></td></tr> <tr><th>author</th><td><span wicket:id="tagAuthor">Message goes here</span></td></tr> <tr><th></th><td><span wicket:id="tagDate">Message goes here</span></td></tr> </table> <!-- full message --> - <div class="commit_message" wicket:id="fullMessage"></div> + <div style="border-bottom:0px;" class="commit_message" wicket:id="fullMessage"></div> <!-- footer --> <div wicket:id="pageFooter"></div> diff --git a/src/com/gitblit/wicket/pages/TagsPage.html b/src/com/gitblit/wicket/pages/TagsPage.html index a3f7d39..e5899c5 100644 --- a/src/com/gitblit/wicket/pages/TagsPage.html +++ b/src/com/gitblit/wicket/pages/TagsPage.html @@ -8,14 +8,14 @@ <div wicket:id="pageLinks"></div> <!-- shortlog --> - <div class="header" wicket:id="summary"></div> - <table> + <div style="margin-top:5px;" class="header" wicket:id="summary"></div> + <table class="pretty"> <tbody> <tr wicket:id="tag"> <td class="date"><span wicket:id="tagDate"></span></td> <td><b><div wicket:id="tagName"></div></b></td> <td><div wicket:id="tagDescription"></div></td> - <td><span wicket:id="tagLinks"></span></td> + <td class="rightAlign"><span wicket:id="tagLinks"></span></td> </tr> </tbody> </table> diff --git a/src/com/gitblit/wicket/pages/TagsPage.java b/src/com/gitblit/wicket/pages/TagsPage.java index 012d712..5cfd1af 100644 --- a/src/com/gitblit/wicket/pages/TagsPage.java +++ b/src/com/gitblit/wicket/pages/TagsPage.java @@ -13,6 +13,7 @@ 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,14 +40,14 @@ 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 197ac94..34806bb 100644 --- a/src/com/gitblit/wicket/pages/TreePage.html +++ b/src/com/gitblit/wicket/pages/TreePage.html @@ -24,7 +24,7 @@ <td><span wicket:id="pathName"></span></td> <td class="size"><span wicket:id="pathSize"></span></td> <td class="mode"><span wicket:id="pathPermissions"></span></td> - <td><span wicket:id="treeLinks"></span></td> + <td class="rightAlign"><span wicket:id="treeLinks"></span></td> </tr> </table> diff --git a/src/com/gitblit/wicket/pages/TreePage.java b/src/com/gitblit/wicket/pages/TreePage.java index cce18be..2ac04b7 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.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 @@ // 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 0000000..4b1d599 --- /dev/null +++ b/src/com/gitblit/wicket/panels/AnnotatedTagLinksPanel.html @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> +<wicket:panel> + <div class="link"> + <span wicket:id="tag"></span> | <span wicket:id="commit"></span> | <span wicket:id="shortlog"></span> + </div> +</wicket:panel> +</html> \ 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 0000000..79c6c63 --- /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 305b6bc..be1971c 100644 --- a/src/com/gitblit/wicket/panels/PageFooter.html +++ b/src/com/gitblit/wicket/panels/PageFooter.html @@ -3,9 +3,10 @@ <wicket:panel> <div class="page_footer"> <div style="float:right"> + <span wicket:id="gbVersion"></span> | <a title="about git:blit" href="about">About Git:Blit</a> </div> <div wicket:id="footerText"></div> - </div> + </div> </wicket:panel> </html> \ 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 b727408..b7440e8 100644 --- a/src/com/gitblit/wicket/panels/PageFooter.java +++ b/src/com/gitblit/wicket/panels/PageFooter.java @@ -3,6 +3,7 @@ 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 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 982a897..827adb4 100644 --- a/src/com/gitblit/wicket/panels/PageHeader.html +++ b/src/com/gitblit/wicket/panels/PageHeader.html @@ -4,7 +4,7 @@ <head> <title wicket:id="title">Message goes here</title> <link rel="stylesheet" type="text/css" href="gitblit.css"/> - <link rel="shortcut icon" href="git-favicon.png" type="image/png" /> + <link rel="shortcut icon" href="gitblt-favicon.png" type="image/png" /> </head> <div class="page_header"> diff --git a/src/com/gitblit/wicket/panels/PageLinksPanel.html b/src/com/gitblit/wicket/panels/PageLinksPanel.html index 18e271e..5a2f8ec 100644 --- a/src/com/gitblit/wicket/panels/PageLinksPanel.html +++ b/src/com/gitblit/wicket/panels/PageLinksPanel.html @@ -3,7 +3,7 @@ <wicket:panel> <!-- page nav links --> <div class="page_nav"> - <span wicket:id="summary"></span> | <span wicket:id="shortlog"></span> | <span wicket:id="commit"></span> | <span wicket:id="commitdiff"></span> | <span wicket:id="tree"></span> + <span wicket:id="summary"></span> | <span wicket:id="shortlog"></span> | <span wicket:id="tags"></span> | <span wicket:id="commit"></span> | <span wicket:id="commitdiff"></span> | <span wicket:id="tree"></span> </div> </wicket:panel> </html> \ No newline at end of file diff --git a/src/com/gitblit/wicket/panels/PageLinksPanel.java b/src/com/gitblit/wicket/panels/PageLinksPanel.java index 7447e76..02491bc 100644 --- a/src/com/gitblit/wicket/panels/PageLinksPanel.java +++ b/src/com/gitblit/wicket/panels/PageLinksPanel.java @@ -8,6 +8,7 @@ import com.gitblit.wicket.pages.CommitPage; import com.gitblit.wicket.pages.ShortLogPage; import com.gitblit.wicket.pages.SummaryPage; +import com.gitblit.wicket.pages.TagsPage; import com.gitblit.wicket.pages.TreePage; @@ -30,6 +31,13 @@ } else { add(new LinkPanel("shortlog", null, "shortlog", ShortLogPage.class, new PageParameters("p=" + repositoryName))); } + + // tags + if (pageName.equals("tags")) { + add(new Label("tags", pageName)); + } else { + add(new LinkPanel("tags", null, "tags", TagsPage.class, new PageParameters("p=" + repositoryName))); + } // commit if (pageName.equals("commit")) { diff --git a/src/com/gitblit/wicket/panels/TreeBlobLinksPanel.html b/src/com/gitblit/wicket/panels/TreeBlobLinksPanel.html new file mode 100644 index 0000000..14a064f --- /dev/null +++ b/src/com/gitblit/wicket/panels/TreeBlobLinksPanel.html @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> +<wicket:panel> + <div class="link"> + <span wicket:id="link"></span> | <span wicket:id="raw"></span> | <span wicket:id="history"></span> + </div> +</wicket:panel> +</html> \ No newline at end of file diff --git a/src/com/gitblit/wicket/panels/TreeBlobLinksPanel.java b/src/com/gitblit/wicket/panels/TreeBlobLinksPanel.java new file mode 100644 index 0000000..9c7eb58 --- /dev/null +++ b/src/com/gitblit/wicket/panels/TreeBlobLinksPanel.java @@ -0,0 +1,22 @@ +package com.gitblit.wicket.panels; + +import org.apache.wicket.PageParameters; +import org.apache.wicket.markup.html.basic.Label; +import org.apache.wicket.markup.html.panel.Panel; + +import com.gitblit.wicket.LinkPanel; +import com.gitblit.wicket.models.PathModel; +import com.gitblit.wicket.pages.BlobPage; + + +public class TreeBlobLinksPanel extends Panel { + + private static final long serialVersionUID = 1L; + + public TreeBlobLinksPanel(String id, String repositoryName, PathModel path) { + super(id); + add(new LinkPanel("link", null, "view", BlobPage.class, new PageParameters("p=" + repositoryName + ",h=" + path.commitId + ",f=" + path.path))); + add(new Label("raw", "raw")); + add(new Label("history", "history")); + } +} \ No newline at end of file diff --git a/src/com/gitblit/wicket/panels/TreeLinksPanel.html b/src/com/gitblit/wicket/panels/TreeLinksPanel.html index d0c3b7f..00d8131 100644 --- a/src/com/gitblit/wicket/panels/TreeLinksPanel.html +++ b/src/com/gitblit/wicket/panels/TreeLinksPanel.html @@ -2,7 +2,7 @@ <html xmlns="http://www.w3.org/1999/xhtml" xmlns:wicket="http://wicket.apache.org/dtds.data/wicket-xhtml1.4-strict.dtd"> <wicket:panel> <div class="link"> - <span wicket:id="link"></span> | <span wicket:id="history"></span> | <span wicket:id="raw"></span> + <span wicket:id="link"></span> | <span wicket:id="history"></span> </div> </wicket:panel> </html> \ No newline at end of file diff --git a/src/com/gitblit/wicket/panels/TreeLinksPanel.java b/src/com/gitblit/wicket/panels/TreeLinksPanel.java index ce918b9..af4bbb1 100644 --- a/src/com/gitblit/wicket/panels/TreeLinksPanel.java +++ b/src/com/gitblit/wicket/panels/TreeLinksPanel.java @@ -6,7 +6,6 @@ import com.gitblit.wicket.LinkPanel; import com.gitblit.wicket.models.PathModel; -import com.gitblit.wicket.pages.BlobPage; import com.gitblit.wicket.pages.TreePage; @@ -16,14 +15,7 @@ public TreeLinksPanel(String id, String repositoryName, PathModel path) { super(id); - if (path.isTree()) { - add(new LinkPanel("link", null, "tree", TreePage.class, new PageParameters("p=" + repositoryName + ",h=" + path.commitId + ",f=" + path.path))); - add(new Label("history", "history")); - add(new Label("raw", "")); - } else { - add(new LinkPanel("link", null, "view", BlobPage.class, new PageParameters("p=" + repositoryName + ",h=" + path.commitId + ",f=" + path.path))); - add(new Label("history", "history")); - add(new Label("raw", "download")); - } + add(new LinkPanel("link", null, "tree", TreePage.class, new PageParameters("p=" + repositoryName + ",h=" + path.commitId + ",f=" + path.path))); + add(new Label("history", "history")); } } \ No newline at end of file -- Gitblit v1.9.1