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. --- 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 +--- 21 files changed, 166 insertions(+), 76 deletions(-) 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 (limited to 'src') 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 - +