/** * Creates an instance of <tt>FileMenu</tt>. * * @param parentWindow The parent <tt>ChatWindow</tt>. */ public FileMenu(ChatWindow parentWindow) { super(GuiActivator.getResources().getI18NString("service.gui.FILE")); this.setOpaque(false); this.parentWindow = parentWindow; this.setMnemonic(GuiActivator.getResources().getI18nMnemonic("service.gui.FILE")); 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( GuiActivator.getResources().getI18nMnemonic("service.gui.CLOSE")); }
/** * Handles the <tt>ActionEvent</tt> when one of the menu items is selected. * * @param e the <tt>ActionEvent</tt> that notified us */ public void actionPerformed(ActionEvent e) { JMenuItem menuItem = (JMenuItem) e.getSource(); String itemText = menuItem.getName(); if (itemText.equalsIgnoreCase("myChatRooms")) { ChatRoomTableDialog.showChatRoomTableDialog(); } else if (itemText.equals("history")) { HistoryWindow history; HistoryWindowManager historyWindowManager = GuiActivator.getUIService().getHistoryWindowManager(); ChatPanel chatPanel = this.parentWindow.getCurrentChatPanel(); ChatSession chatSession = chatPanel.getChatSession(); if (historyWindowManager.containsHistoryWindowForContact(chatSession.getDescriptor())) { history = historyWindowManager.getHistoryWindowForContact(chatSession.getDescriptor()); if (history.getState() == JFrame.ICONIFIED) history.setState(JFrame.NORMAL); history.toFront(); } else { history = new HistoryWindow(chatPanel.getChatSession().getDescriptor()); history.setVisible(true); historyWindowManager.addHistoryWindowForContact(chatSession.getDescriptor(), history); } } else if (itemText.equalsIgnoreCase("close")) { this.parentWindow.setVisible(false); this.parentWindow.dispose(); } }
/** * The <tt>FileMenu</tt> is the menu in the chat window menu bar that contains save, print and * close. * * @author Yana Stamcheva */ public class FileMenu extends SIPCommMenu implements ActionListener { 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_ICON))); private JMenuItem closeMenuItem = new JMenuItem( GuiActivator.getResources().getI18NString("service.gui.CLOSE"), new ImageIcon(ImageLoader.getImage(ImageLoader.CLOSE_ICON))); private ChatWindow parentWindow; /** * Creates an instance of <tt>FileMenu</tt>. * * @param parentWindow The parent <tt>ChatWindow</tt>. */ public FileMenu(ChatWindow parentWindow) { super(GuiActivator.getResources().getI18NString("service.gui.FILE")); this.setOpaque(false); this.parentWindow = parentWindow; this.setMnemonic(GuiActivator.getResources().getI18nMnemonic("service.gui.FILE")); 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( GuiActivator.getResources().getI18nMnemonic("service.gui.CLOSE")); } /** * Handles the <tt>ActionEvent</tt> when one of the menu items is selected. * * @param e the <tt>ActionEvent</tt> that notified us */ public void actionPerformed(ActionEvent e) { JMenuItem menuItem = (JMenuItem) e.getSource(); String itemText = menuItem.getName(); if (itemText.equalsIgnoreCase("myChatRooms")) { ChatRoomTableDialog.showChatRoomTableDialog(); } else if (itemText.equals("history")) { HistoryWindow history; HistoryWindowManager historyWindowManager = GuiActivator.getUIService().getHistoryWindowManager(); ChatPanel chatPanel = this.parentWindow.getCurrentChatPanel(); ChatSession chatSession = chatPanel.getChatSession(); if (historyWindowManager.containsHistoryWindowForContact(chatSession.getDescriptor())) { history = historyWindowManager.getHistoryWindowForContact(chatSession.getDescriptor()); if (history.getState() == JFrame.ICONIFIED) history.setState(JFrame.NORMAL); history.toFront(); } else { history = new HistoryWindow(chatPanel.getChatSession().getDescriptor()); history.setVisible(true); historyWindowManager.addHistoryWindowForContact(chatSession.getDescriptor(), history); } } else if (itemText.equalsIgnoreCase("close")) { this.parentWindow.setVisible(false); this.parentWindow.dispose(); } } }