From 4a0047cd0934d8a3543c9830fd9f82b57d4d02bb Mon Sep 17 00:00:00 2001 From: Yana Stamcheva Date: Tue, 17 Apr 2007 15:34:20 +0000 Subject: [PATCH] In the accounts menu, instead of storing the accountID, we store the ProtocolProviderService. --- .../contactlist/GroupRightButtonMenu.java | 36 +++++++++++++++---- 1 file changed, 29 insertions(+), 7 deletions(-) diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/GroupRightButtonMenu.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/GroupRightButtonMenu.java index 4b0089d63..97f5d12a2 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/GroupRightButtonMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/GroupRightButtonMenu.java @@ -83,8 +83,7 @@ public GroupRightButtonMenu(MainFrame mainFrame, String protocolName = pps.getProtocolName(); - JMenuItem menuItem = new JMenuItem(pps.getAccountID() - .getUserID(), + AccountMenuItem menuItem = new AccountMenuItem(pps, new ImageIcon(createAccountStatusImage(pps))); menuItem.setName(protocolName); @@ -146,12 +145,13 @@ public void actionPerformed(ActionEvent e) { String itemText = item.getText(); String itemName = item.getName(); - if(itemName.equals("removeGroup")) { - + if(itemName.equals("removeGroup")) + { if(group != null) new RemoveGroupThread(group).start(); } - else if(itemName.equals("renameGroup")) { + else if(itemName.equals("renameGroup")) + { RenameGroupDialog dialog = new RenameGroupDialog( mainFrame, group); @@ -167,9 +167,10 @@ else if(itemName.equals("renameGroup")) { dialog.requestFocusInFiled(); } - else if(mainFrame.getProtocolProviderForAccount(itemText) != null) { + else if(item instanceof AccountMenuItem) + { ProtocolProviderService pps - = mainFrame.getProtocolProviderForAccount(itemText); + = ((AccountMenuItem)item).getProtocolProvider(); AddContactDialog dialog = new AddContactDialog( mainFrame, group, pps); @@ -303,4 +304,25 @@ else if (pps.isRegistered()) } return img; } + + /** + * The AccountMenuItem is a JMenuItem that stores a + * ProtocolProviderService in it. + */ + private class AccountMenuItem extends JMenuItem + { + private ProtocolProviderService pps; + + public AccountMenuItem(ProtocolProviderService pps, Icon icon) + { + super(pps.getAccountID().getUserID(), icon); + + this.pps = pps; + } + + public ProtocolProviderService getProtocolProvider() + { + return pps; + } + } }