Makes conference related menu items available from the chat window too. Makes the "Add new account" menu also available through chat File menu.

cusax-fix
Yana Stamcheva 14 years ago
parent 66e39e2832
commit cfb8e1e091

@ -15,8 +15,6 @@
import net.java.sip.communicator.impl.gui.main.chat.history.*;
import net.java.sip.communicator.impl.gui.main.chatroomslist.*;
import net.java.sip.communicator.impl.gui.utils.*;
import net.java.sip.communicator.plugin.desktoputil.*;
import net.java.sip.communicator.util.*;
import net.java.sip.communicator.util.skin.*;
/**
@ -26,15 +24,11 @@
* @author Yana Stamcheva
* @author Adam Netocny
*/
public class FileMenu
extends SIPCommMenu
public class ChatFileMenu
extends net.java.sip.communicator.impl.gui.main.menus.FileMenu
implements ActionListener,
Skinnable
{
private JMenuItem myChatRoomsItem = new JMenuItem(
GuiActivator.getResources().getI18NString("service.gui.MY_CHAT_ROOMS"),
new ImageIcon(ImageLoader.getImage(ImageLoader.CHAT_ROOM_16x16_ICON)));
private JMenuItem historyItem = new JMenuItem(
GuiActivator.getResources().getI18NString("service.gui.HISTORY"),
new ImageIcon(ImageLoader.getImage(ImageLoader.HISTORY_16x16_ICON)));
@ -43,42 +37,34 @@ public class FileMenu
GuiActivator.getResources().getI18NString("service.gui.CLOSE"),
new ImageIcon(ImageLoader.getImage(ImageLoader.CLOSE_ICON)));
private ChatWindow parentWindow;
private ChatWindow chatWindow;
/**
* Creates an instance of <tt>FileMenu</tt>.
* @param parentWindow The parent <tt>ChatWindow</tt>.
*
* @param chatWindow The parent <tt>ChatWindow</tt>.
*/
public FileMenu(ChatWindow parentWindow)
public ChatFileMenu(ChatWindow chatWindow)
{
super(GuiActivator.getResources().getI18NString("service.gui.FILE"));
super(chatWindow, true);
this.parentWindow = parentWindow;
this.chatWindow = chatWindow;
this.setMnemonic(
GuiActivator.getResources().getI18nMnemonic("service.gui.FILE"));
if (!ConfigurationUtils.isGoToChatroomDisabled())
{
this.add(myChatRoomsItem);
}
this.add(historyItem);
this.addSeparator();
this.add(closeMenuItem);
this.myChatRoomsItem.setName("myChatRooms");
this.historyItem.setName("history");
this.closeMenuItem.setName("close");
this.myChatRoomsItem.addActionListener(this);
this.historyItem.addActionListener(this);
this.closeMenuItem.addActionListener(this);
this.myChatRoomsItem.setMnemonic(
GuiActivator.getResources()
.getI18nMnemonic("service.gui.MY_CHAT_ROOMS"));
this.historyItem.setMnemonic(
GuiActivator.getResources().getI18nMnemonic("service.gui.HISTORY"));
this.closeMenuItem.setMnemonic(
@ -92,6 +78,8 @@ public FileMenu(ChatWindow parentWindow)
*/
public void actionPerformed(ActionEvent e)
{
super.actionPerformed(e);
JMenuItem menuItem = (JMenuItem) e.getSource();
String itemText = menuItem.getName();
@ -106,7 +94,7 @@ else if (itemText.equals("history"))
HistoryWindowManager historyWindowManager
= GuiActivator.getUIService().getHistoryWindowManager();
ChatPanel chatPanel = this.parentWindow.getCurrentChat();
ChatPanel chatPanel = this.chatWindow.getCurrentChat();
ChatSession chatSession = chatPanel.getChatSession();
if(historyWindowManager
@ -133,8 +121,8 @@ else if (itemText.equals("history"))
}
else if (itemText.equalsIgnoreCase("close"))
{
this.parentWindow.setVisible(false);
this.parentWindow.dispose();
this.chatWindow.setVisible(false);
this.chatWindow.dispose();
}
}
@ -143,13 +131,14 @@ else if (itemText.equalsIgnoreCase("close"))
*/
public void loadSkin()
{
myChatRoomsItem.setIcon(new ImageIcon(
ImageLoader.getImage(ImageLoader.CHAT_ROOM_16x16_ICON)));
super.loadSkin();
historyItem.setIcon(new ImageIcon(
ImageLoader.getImage(ImageLoader.HISTORY_ICON)));
if (historyItem != null)
historyItem.setIcon(new ImageIcon(
ImageLoader.getImage(ImageLoader.HISTORY_ICON)));
closeMenuItem.setIcon(new ImageIcon(
ImageLoader.getImage(ImageLoader.CLOSE_ICON)));
if (closeMenuItem != null)
closeMenuItem.setIcon(new ImageIcon(
ImageLoader.getImage(ImageLoader.CLOSE_ICON)));
}
}

@ -14,7 +14,7 @@
import net.java.sip.communicator.impl.gui.*;
import net.java.sip.communicator.impl.gui.main.chat.*;
import net.java.sip.communicator.plugin.desktoputil.*;
import net.java.sip.communicator.impl.gui.main.menus.*;
import net.java.sip.communicator.util.*;
/**
* The <tt>OptionMenu</tt> is a menu in the chat window menu bar.
@ -22,8 +22,8 @@
* @author Damien Roth
* @author Yana Stamcheva
*/
public class OptionsMenu
extends SIPCommMenu
public class ChatToolsMenu
extends ToolsMenu
implements ActionListener
{
private ChatWindow chatWindow = null;
@ -46,14 +46,18 @@ public class OptionsMenu
* Creates an instance of <tt>HelpMenu</tt>.
* @param chatWindow The parent <tt>MainFrame</tt>.
*/
public OptionsMenu(ChatWindow chatWindow)
public ChatToolsMenu(ChatWindow chatWindow)
{
super(GuiActivator.getResources().getI18NString("service.gui.TOOLS"));
super(true);
this.chatWindow = chatWindow;
this.setMnemonic(
GuiActivator.getResources().getI18nMnemonic("service.gui.TOOLS"));
// Add a separator before adding the specific chat items.
this.addSeparator();
this.viewToolBar.setActionCommand(ACTCMD_VIEW_TOOLBAR);
this.viewToolBar.addActionListener(this);
this.add(viewToolBar);
@ -91,6 +95,8 @@ private void initValues()
*/
public void actionPerformed(ActionEvent e)
{
super.actionPerformed(e);
String action = e.getActionCommand();
if (action.equals(ACTCMD_VIEW_TOOLBAR))

@ -29,11 +29,11 @@
public class MessageWindowMenuBar
extends SIPCommWindowMenuBar
{
private final FileMenu fileMenu;
private final ChatFileMenu fileMenu;
private final EditMenu editMenu;
private final OptionsMenu optionsMenu;
private final ChatToolsMenu optionsMenu;
private final HelpMenu helpMenu;
@ -53,9 +53,9 @@ public MessageWindowMenuBar(ChatWindow parentWindow)
{
super("service.gui.CHAT_MENU_FOREGROUND");
fileMenu = new FileMenu(parentWindow);
fileMenu = new ChatFileMenu(parentWindow);
editMenu = new EditMenu(parentWindow);
optionsMenu = new OptionsMenu(parentWindow);
optionsMenu = new ChatToolsMenu(parentWindow);
helpMenu = new HelpMenu(parentWindow);
this.init();

@ -24,6 +24,7 @@
import net.java.sip.communicator.service.gui.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.util.*;
import net.java.sip.communicator.util.account.*;
import net.java.sip.communicator.util.skin.*;
/**
@ -70,8 +71,6 @@ public class AddContactDialog
private final JButton cancelButton = new JButton(
GuiActivator.getResources().getI18NString("service.gui.CANCEL"));
private final MainFrame mainFrame;
private MetaContact metaContact;
/**
@ -83,13 +82,11 @@ public class AddContactDialog
* Creates an instance of <tt>AddContactDialog</tt> that represents a dialog
* that adds a new contact to an already existing meta contact.
*
* @param mainFrame The <tt>MainFrame</tt> parent window.
* @param parentWindow the parent window of this dialog
*/
public AddContactDialog(MainFrame mainFrame)
public AddContactDialog(Frame parentWindow)
{
super(mainFrame);
this.mainFrame = mainFrame;
super(parentWindow);
this.setTitle(GuiActivator.getResources()
.getI18NString("service.gui.ADD_CONTACT"));
@ -105,7 +102,7 @@ public AddContactDialog(MainFrame mainFrame)
* @param parentWindow the parent window
* @param metaContact the meta contact, to which to add the new contact
*/
public AddContactDialog(MainFrame parentWindow, MetaContact metaContact)
public AddContactDialog(Frame parentWindow, MetaContact metaContact)
{
this(parentWindow);
@ -268,7 +265,7 @@ private Container createButtonsPanel()
private void initAccountCombo()
{
Iterator<ProtocolProviderService> providers
= mainFrame.getProtocolProviders();
= AccountUtils.getRegisteredProviders().iterator();
accountCombo.addItem(GuiActivator.getResources()
.getI18NString("service.gui.SELECT_ACCOUNT"));

@ -6,13 +6,13 @@
*/
package net.java.sip.communicator.impl.gui.main.menus;
import java.awt.*;
import java.awt.event.*;
import java.lang.reflect.*;
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.account.*;
import net.java.sip.communicator.impl.gui.main.chatroomslist.*;
import net.java.sip.communicator.impl.gui.main.contactlist.*;
@ -44,7 +44,7 @@ public class FileMenu
*/
private static final Logger logger = Logger.getLogger(FileMenu.class);
private final MainFrame parentWindow;
private final Frame parentWindow;
/**
* Add new account menu item.
@ -71,14 +71,34 @@ public class FileMenu
*/
private JMenuItem closeMenuItem;
/**
* Indicates if this menu is shown for the chat window or the contact list
* window.
*/
private boolean isChatMenu;
/**
* Creates an instance of <tt>FileMenu</tt>.
* @param parentWindow The parent <tt>ChatWindow</tt>.
*/
public FileMenu(Frame parentWindow)
{
this(parentWindow, false);
}
/**
* Creates an instance of <tt>FileMenu</tt>.
*
* @param parentWindow The parent <tt>ChatWindow</tt>.
* @param isChatMenu indicates if this menu would be shown for a chat
* window
*/
public FileMenu(MainFrame parentWindow)
public FileMenu(Frame parentWindow, boolean isChatMenu)
{
super(GuiActivator.getResources().getI18NString("service.gui.FILE"));
this.isChatMenu = isChatMenu;
ResourceManagementService resources = GuiActivator.getResources();
createGroupItem = new JMenuItem(
resources.getI18NString("service.gui.CREATE_GROUP"));
@ -114,7 +134,7 @@ public FileMenu(MainFrame parentWindow)
}
}
if (!ConfigurationUtils.isAddContactDisabled())
if (!isChatMenu && !ConfigurationUtils.isAddContactDisabled())
{
addContactItem = new JMenuItem(
resources.getI18NString("service.gui.ADD_CONTACT") + "...");
@ -140,7 +160,7 @@ public FileMenu(MainFrame parentWindow)
endsWithSeparator = false;
}
if (!ConfigurationUtils.isCreateGroupDisabled())
if (!isChatMenu && !ConfigurationUtils.isCreateGroupDisabled())
{
this.add(createGroupItem);
@ -334,11 +354,14 @@ private void registerCloseMenuItemNonMacOSX(boolean addSeparator)
if(addSeparator)
this.addSeparator();
this.add(closeMenuItem);
closeMenuItem.setName("close");
closeMenuItem.addActionListener(this);
closeMenuItem.setMnemonic(GuiActivator.getResources()
.getI18nMnemonic("service.gui.QUIT"));
if (!isChatMenu)
{
this.add(closeMenuItem);
closeMenuItem.setName("close");
closeMenuItem.addActionListener(this);
closeMenuItem.setMnemonic(GuiActivator.getResources()
.getI18nMnemonic("service.gui.QUIT"));
}
}
}

@ -36,7 +36,7 @@ public MainMenu(MainFrame mainFrame)
super("service.gui.MAIN_MENU_FOREGROUND");
addMenu(new FileMenu(mainFrame), "service.gui.FILE");
addMenu(new ToolsMenu(mainFrame), "service.gui.TOOLS");
addMenu(new ToolsMenu(), "service.gui.TOOLS");
addMenu(new HelpMenu(mainFrame), "service.gui.HELP");
}

@ -16,7 +16,6 @@
import net.java.sip.communicator.impl.gui.*;
import net.java.sip.communicator.impl.gui.event.*;
import net.java.sip.communicator.impl.gui.main.*;
import net.java.sip.communicator.impl.gui.main.call.*;
import net.java.sip.communicator.impl.gui.main.call.conference.*;
import net.java.sip.communicator.impl.gui.main.configforms.*;
@ -108,12 +107,31 @@ public class ToolsMenu
*/
private MenuListener videoBridgeMenuListener;
/**
* Indicates if this menu is shown for the chat window or the contact list
* window.
*/
private boolean isChatMenu;
/**
* Creates an instance of <tt>FileMenu</tt>.
* @param parentWindow The parent <tt>ChatWindow</tt>.
*/
public ToolsMenu(MainFrame parentWindow)
public ToolsMenu()
{
this(false);
}
/**
* Creates an instance of <tt>FileMenu</tt>, by specifying if this menu
* would be shown for a chat window.
*
* @param isChatMenu indicates if this menu would be shown for a chat
* window
*/
public ToolsMenu(boolean isChatMenu)
{
this.isChatMenu = isChatMenu;
ResourceManagementService r = GuiActivator.getResources();
setText(r.getI18NString("service.gui.TOOLS"));
@ -373,11 +391,15 @@ private void registerMenuItems()
? "service.gui.HIDE_OFFLINE_CONTACTS"
: "service.gui.SHOW_OFFLINE_CONTACTS";
hideOfflineMenuItem = new JMenuItem(r.getI18NString(offlineTextKey));
hideOfflineMenuItem.setMnemonic(r.getI18nMnemonic(offlineTextKey));
hideOfflineMenuItem.setName("showHideOffline");
hideOfflineMenuItem.addActionListener(this);
this.add(hideOfflineMenuItem);
// The hide offline menu item only makes sense in the contact list.
if (!isChatMenu)
{
hideOfflineMenuItem = new JMenuItem(r.getI18NString(offlineTextKey));
hideOfflineMenuItem.setMnemonic(r.getI18nMnemonic(offlineTextKey));
hideOfflineMenuItem.setName("showHideOffline");
hideOfflineMenuItem.addActionListener(this);
this.add(hideOfflineMenuItem);
}
// Sound on/off menu item.
String soundTextKey
@ -675,8 +697,13 @@ public void loadSkin()
configMenuItem.setIcon(
r.getImage("service.gui.icons.CONFIGURE_ICON"));
}
hideOfflineMenuItem.setIcon(
r.getImage("service.gui.icons.SHOW_HIDE_OFFLINE_ICON"));
// The hide offline menu item could be null if the parent window of this
// menu is a chat window.
if (hideOfflineMenuItem != null)
hideOfflineMenuItem.setIcon(
r.getImage("service.gui.icons.SHOW_HIDE_OFFLINE_ICON"));
soundMenuItem.setIcon(
r.getImage("service.gui.icons.SOUND_MENU_ICON"));
if (videoBridgeMenuItem != null)

Loading…
Cancel
Save