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 9576c5de8..f66956ad0 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
@@ -103,47 +103,12 @@ public void actionPerformed(ActionEvent e) {
String itemName = item.getName();
if(itemName.equals("removeGroup")) {
- if(group != null) {
- if(Constants.REMOVE_CONTACT_ASK) {
- String message = "Are you sure you want to remove "
- + this.group.getGroupName()
- + "
from your contact list?";
-
- MessageDialog dialog = new MessageDialog(this.mainFrame,
- message, Messages.getString("remove"));
-
- int returnCode = dialog.showDialog();
-
- if (returnCode == MessageDialog.OK_RETURN_CODE) {
- new Thread() {
- public void run() {
- mainFrame.getContactList()
- .removeMetaContactGroup(group);
- }
- }.start();
- }
- else if (returnCode == MessageDialog.OK_DONT_ASK_CODE) {
- new Thread() {
- public void run() {
- mainFrame.getContactList()
- .removeMetaContactGroup(group);
- }
- }.start();
-
- Constants.REMOVE_CONTACT_ASK = false;
- }
- }
- else {
- new Thread() {
- public void run() {
- mainFrame.getContactList()
- .removeMetaContactGroup(group);
- }
- }.start();
- }
- }
+
+ if(group != null)
+ new RemoveGroupThread(group).start();
}
else if(itemName.equals("renameGroup")) {
+
RenameGroupDialog dialog = new RenameGroupDialog(
mainFrame.getContactList(), group);
@@ -175,4 +140,42 @@ else if(mainFrame.getProtocolProviderForAccount(itemText) != null) {
dialog.setVisible(true);
}
}
+
+ /**
+ * Removes a group from the contact list in a separate thread.
+ */
+ private class RemoveGroupThread extends Thread
+ {
+ private MetaContactGroup group;
+
+ public RemoveGroupThread(MetaContactGroup group) {
+ this.group = group;
+ }
+ public void run() {
+ if(Constants.REMOVE_CONTACT_ASK) {
+ String message = "Are you sure you want to remove "
+ + this.group.getGroupName()
+ + "
from your contact list?";
+
+ MessageDialog dialog = new MessageDialog(mainFrame,
+ message, Messages.getString("remove"));
+
+ int returnCode = dialog.showDialog();
+
+ if (returnCode == MessageDialog.OK_RETURN_CODE) {
+ mainFrame.getContactList()
+ .removeMetaContactGroup(group);
+ }
+ else if (returnCode == MessageDialog.OK_DONT_ASK_CODE) {
+ mainFrame.getContactList()
+ .removeMetaContactGroup(group);
+
+ Constants.REMOVE_CONTACT_ASK = false;
+ }
+ }
+ else {
+ mainFrame.getContactList().removeMetaContactGroup(group);
+ }
+ }
+ }
}