From dfc4ece4083bbbb98f55291d05e7d2b1513464b7 Mon Sep 17 00:00:00 2001 From: Thomas Pummer <dev@nullpointer.at> Date: Fri, 22 Feb 2013 11:10:11 -0500 Subject: [PATCH] the display-name in web.xml now shows the actual version of Gitblit --- src/com/gitblit/client/RegistrantPermissionsPanel.java | 36 ++++++++++++++++++++++++++++++++---- 1 files changed, 32 insertions(+), 4 deletions(-) diff --git a/src/com/gitblit/client/RegistrantPermissionsPanel.java b/src/com/gitblit/client/RegistrantPermissionsPanel.java index 8ae23e9..98dbfb7 100644 --- a/src/com/gitblit/client/RegistrantPermissionsPanel.java +++ b/src/com/gitblit/client/RegistrantPermissionsPanel.java @@ -16,11 +16,14 @@ package com.gitblit.client; import java.awt.BorderLayout; +import java.awt.Color; +import java.awt.Component; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.text.MessageFormat; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import javax.swing.DefaultCellEditor; @@ -36,6 +39,7 @@ import com.gitblit.Constants.AccessPermission; import com.gitblit.Constants.PermissionType; import com.gitblit.Constants.RegistrantType; +import com.gitblit.client.Utils.RowRenderer; import com.gitblit.models.RegistrantAccessPermission; import com.gitblit.utils.StringUtils; @@ -60,7 +64,23 @@ public RegistrantPermissionsPanel(final RegistrantType registrantType) { super(new BorderLayout(5, 5)); tableModel = new RegistrantPermissionsTableModel(); - permissionsTable = Utils.newTable(tableModel, Utils.DATE_FORMAT); + permissionsTable = Utils.newTable(tableModel, Utils.DATE_FORMAT, new RowRenderer() { + Color clear = new Color(0, 0, 0, 0); + Color iceGray = new Color(0xf0, 0xf0, 0xf0); + + @Override + public void prepareRow(Component c, boolean isSelected, int row, int column) { + if (isSelected) { + c.setBackground(permissionsTable.getSelectionBackground()); + } else { + if (tableModel.permissions.get(row).mutable) { + c.setBackground(clear); + } else { + c.setBackground(iceGray); + } + } + } + }); permissionsTable.setModel(tableModel); permissionsTable.setPreferredScrollableViewportSize(new Dimension(400, 150)); JScrollPane jsp = new JScrollPane(permissionsTable); @@ -91,11 +111,14 @@ rp.permission = (AccessPermission) permissionSelector.getSelectedItem(); if (StringUtils.findInvalidCharacter(rp.registrant) != null) { rp.permissionType = PermissionType.REGEX; + rp.source = rp.registrant; } else { rp.permissionType = PermissionType.EXPLICIT; } tableModel.permissions.add(rp); + // resort permissions after insert to convey idea of eval order + Collections.sort(tableModel.permissions); registrantModel.removeElement(rp.registrant); registrantSelector.setSelectedIndex(-1); @@ -133,7 +156,7 @@ permissions = new ArrayList<RegistrantAccessPermission>(); } for (RegistrantAccessPermission rp : permissions) { - if (rp.isEditable) { + if (rp.mutable) { // only remove editable duplicates // this allows for specifying an explicit permission filtered.remove(rp.registrant); @@ -198,8 +221,13 @@ setToolTipText(MessageFormat.format(Translation.get("gb.regexPermission"), ap.source)); break; default: - setText(""); - setToolTipText(null); + if (ap.isMissing()) { + setText(Translation.get("gb.missing")); + setToolTipText(Translation.get("gb.missingPermission")); + } else { + setText(""); + setToolTipText(null); + } break; } } -- Gitblit v1.9.1