From cb285cbfddfc0b633d6b8cdb4dc0d2bd2b8b51ef Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 05 Jan 2012 17:34:05 -0500 Subject: [PATCH] Fixed bug in receive hook for repositories in subfolders --- src/com/gitblit/client/DateCellRenderer.java | 34 +++++++++++++++++++++++++++++++--- 1 files changed, 31 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/client/DateCellRenderer.java b/src/com/gitblit/client/DateCellRenderer.java index 591926b..3d0ab15 100644 --- a/src/com/gitblit/client/DateCellRenderer.java +++ b/src/com/gitblit/client/DateCellRenderer.java @@ -15,29 +15,57 @@ */ package com.gitblit.client; +import java.awt.Color; import java.awt.Component; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.JTable; +import javax.swing.SwingConstants; import javax.swing.table.DefaultTableCellRenderer; +import com.gitblit.utils.TimeUtils; + +/** + * Time ago cell renderer with real date tooltip. + * + * @author James Moger + * + */ public class DateCellRenderer extends DefaultTableCellRenderer { private static final long serialVersionUID = 1L; private final String pattern; - public DateCellRenderer(String pattern) { + public DateCellRenderer(String pattern, Color foreground) { this.pattern = (pattern == null ? "yyyy-MM-dd HH:mm" : pattern); + setForeground(foreground); + setHorizontalAlignment(SwingConstants.CENTER); } public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); if (value instanceof Date) { - String strDate = new SimpleDateFormat(pattern).format((Date) value); - this.setText(strDate); + Date date = (Date) value; + String title; + String dateString; + if (date.getTime() == 0) { + title = "--"; + dateString = "never"; + } else { + title = TimeUtils.timeAgo(date); + dateString = new SimpleDateFormat(pattern).format((Date) value); + } + + if ((System.currentTimeMillis() - date.getTime()) > 10 * 24 * 60 * 60 * 1000L) { + String tmp = dateString; + dateString = title; + title = tmp; + } + this.setText(title); + this.setToolTipText(dateString); } return this; } -- Gitblit v1.9.1