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;
+ }
+ }
}