/*
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package net.java.sip.communicator.impl.gui.main.contactlist;
import java.awt.event.*;
import javax.swing.*;
import net.java.sip.communicator.impl.gui.*;
import net.java.sip.communicator.impl.gui.main.*;
import net.java.sip.communicator.impl.gui.main.contactlist.addgroup.*;
import net.java.sip.communicator.impl.gui.utils.*;
import net.java.sip.communicator.util.skin.*;
import net.java.sip.communicator.util.swing.*;
/**
* The GroupRightButtonMenu is the menu, opened when user clicks with the
* right mouse button on a group in the contact list. Through this menu the
* user could add a contact to a group.
*
* @author Yana Stamcheva
* @author Adam Netocny
*/
public class CommonRightButtonMenu
extends SIPCommPopupMenu
implements ActionListener,
Skinnable
{
private final JMenuItem addContactItem = new JMenuItem(
GuiActivator.getResources()
.getI18NString("service.gui.ADD_CONTACT") + "...");
private final JMenuItem createGroupItem = new JMenuItem(
GuiActivator.getResources().getI18NString("service.gui.CREATE_GROUP"));
private MainFrame mainFrame;
/**
* Creates an instance of GroupRightButtonMenu.
*
* @param mainFrame The parent MainFrame window.
*/
public CommonRightButtonMenu(MainFrame mainFrame)
{
this.mainFrame = mainFrame;
if (!ConfigurationManager.isAddContactDisabled())
this.add(addContactItem);
if (!ConfigurationManager.isCreateGroupDisabled())
this.add(createGroupItem);
this.addContactItem.setMnemonic(GuiActivator.getResources()
.getI18nMnemonic("service.gui.ADD_CONTACT"));
this.createGroupItem.setMnemonic(GuiActivator.getResources()
.getI18nMnemonic("service.gui.CREATE_GROUP"));
this.addContactItem.addActionListener(this);
this.createGroupItem.addActionListener(this);
loadSkin();
}
/**
* Handles the ActionEvent. The chosen menu item should correspond
* to an account, where the new contact will be added. We obtain here the
* protocol provider corresponding to the chosen account and show the
* dialog, where the user could add the contact.
* @param e the ActionEvent, which notified us
*/
public void actionPerformed(ActionEvent e)
{
JMenuItem item = (JMenuItem) e.getSource();
if(item.equals(createGroupItem))
{
CreateGroupDialog dialog = new CreateGroupDialog(mainFrame);
dialog.setVisible(true);
}
else if(item.equals(addContactItem))
{
AddContactDialog dialog = new AddContactDialog(mainFrame);
dialog.setVisible(true);
}
}
/**
* Reloads icons.
*/
public void loadSkin()
{
addContactItem.setIcon(new ImageIcon(
ImageLoader.getImage(ImageLoader.ADD_CONTACT_16x16_ICON)));
createGroupItem.setIcon(new ImageIcon(
ImageLoader.getImage(ImageLoader.GROUPS_16x16_ICON)));
}
}