diff --git a/src/net/java/sip/communicator/impl/gui/main/call/CallListCellRenderer.java b/src/net/java/sip/communicator/impl/gui/main/call/CallListCellRenderer.java index 72e4ca128..cee9789a4 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/CallListCellRenderer.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/CallListCellRenderer.java @@ -59,6 +59,8 @@ public CallListCellRenderer() { this.setOpaque(true); this.dataPanel.setOpaque(false); + + this.setBorder(BorderFactory.createEmptyBorder(3, 3, 3, 3)); this.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); diff --git a/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java b/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java index 3c059771a..e22a1d0c2 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java @@ -78,7 +78,7 @@ public class CallManager private boolean isCallMetaContact; - private Timer removeCallTimer; + private Hashtable removeCallTimers = new Hashtable(); /** * Creates an instance of CallManager. @@ -139,7 +139,7 @@ public void actionPerformed(ActionEvent evt) { JButton button = (JButton) evt.getSource(); String buttonName = button.getName(); - + if (buttonName.equals("call")) { Object o = mainFrame.getContactListPanel().getContactList() @@ -210,9 +210,10 @@ else if(!phoneNumberCombo.isComboFieldEmpty()) { } } else if (buttonName.equalsIgnoreCase("hangup")) { + Component selectedPanel = this.mainFrame.getSelectedPanel(); - if(selectedPanel != null && selectedPanel instanceof CallPanel) { + if(selectedPanel != null && selectedPanel instanceof CallPanel) { CallPanel callPanel = (CallPanel) selectedPanel; @@ -220,10 +221,12 @@ else if (buttonName.equalsIgnoreCase("hangup")) { if(activeCalls.get(call) != null) { - if(removeCallTimer != null && removeCallTimer.isRunning()) - removeCallTimer.stop(); + if(removeCallTimers.containsKey(callPanel)) { + ((Timer)removeCallTimers.get(callPanel)).stop(); + removeCallTimers.remove(callPanel); + } - mainFrame.removeCallPanel(callPanel); + removeCallPanel(callPanel); ProtocolProviderService pps = call.getProtocolProvider(); @@ -369,10 +372,12 @@ public void outgoingCallCreated(CallEvent event) */ public void removeCallPanelWait(CallPanel callPanel) { - removeCallTimer = new Timer(5000, new RemoveCallPanelListener(callPanel)); + Timer timer = new Timer(5000, new RemoveCallPanelListener(callPanel)); + + this.removeCallTimers.put(callPanel, timer); - removeCallTimer.setRepeats(false); - removeCallTimer.start(); + timer.setRepeats(false); + timer.start(); } /** @@ -398,7 +403,7 @@ public RemoveCallPanelListener(CallPanel callPanel) } public void actionPerformed(ActionEvent e) - { + { removeCallPanel(callPanel); } }