From e43bd9db1ba0401c94282e91bb20dcdc4e031a0b Mon Sep 17 00:00:00 2001 From: Damian Minkov Date: Wed, 3 Apr 2013 15:13:30 +0000 Subject: [PATCH] Fixes some re-initializations for custom action buttons for UIGroups. --- .../ContactListTreeCellRenderer.java | 30 ++++++++++++++++++- .../contactsource/ExternalContactSource.java | 2 +- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java index 5f0b162ac..f0ba39c93 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/ContactListTreeCellRenderer.java @@ -484,6 +484,9 @@ else if (value instanceof GroupNode) clearCustomActionButtons(); + statusIcon = expanded + ? openedGroupIcon + : closedGroupIcon; this.statusLabel.setIcon( expanded ? openedGroupIcon @@ -884,7 +887,9 @@ private void initButtonsPanel(UIGroup uiGroup) if (!isSelected) return; - int x = LEFT_BORDER + H_GAP; + int x = (statusIcon == null ? 0 : statusIcon.getIconWidth()) + + LEFT_BORDER + + H_GAP; int gridX = 0; // The list of the actions @@ -1245,6 +1250,16 @@ public void resetRolloverState() button.getModel().setRollover(false); } } + + if (customActionButtonsUIGroup != null) + { + Iterator buttonsIter = customActionButtonsUIGroup.iterator(); + while (buttonsIter.hasNext()) + { + JButton button = buttonsIter.next(); + button.getModel().setRollover(false); + } + } } /** @@ -1281,6 +1296,19 @@ public void resetRolloverState(Component excludeComponent) button.getModel().setRollover(false); } } + + if (customActionButtonsUIGroup != null) + { + Iterator buttonsIter = + customActionButtonsUIGroup.iterator(); + while (buttonsIter.hasNext()) + { + JButton button = buttonsIter.next(); + + if (!button.equals(excludeComponent)) + button.getModel().setRollover(false); + } + } } /** diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/contactsource/ExternalContactSource.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/contactsource/ExternalContactSource.java index e9a10159f..fce317992 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/contactsource/ExternalContactSource.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/contactsource/ExternalContactSource.java @@ -63,7 +63,7 @@ public class ExternalContactSource /** * The list of action buttons for this source service. */ - private static Map, SIPCommButton> + private Map, SIPCommButton> customServiceActionButtons; private final JTree contactListTree;