Пример #1
0
  /**
   * 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"));
  }
Пример #2
0
  private void initSmiliesSelectorBox() {
    this.smileysBox = new SmileysSelectorBox();

    this.smileysBox.setName("smiley");
    this.smileysBox.setToolTipText(
        GuiActivator.getResources().getI18NString("service.gui.INSERT_SMILEY") + " Ctrl-M");

    SIPCommMenuBar smileyMenuBar = new SIPCommMenuBar();
    smileyMenuBar.setOpaque(false);
    smileyMenuBar.setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
    smileyMenuBar.add(smileysBox);

    this.add(smileyMenuBar);
  }
Пример #3
0
  /** Initializes this component. */
  protected void init() {
    this.setLayout(new FlowLayout(FlowLayout.LEFT, 3, 0));
    this.setOpaque(false);

    this.add(inviteButton);

    // if we leave a chat room when we close the window
    // there is no need for this button
    if (!ConfigurationUtils.isLeaveChatRoomOnWindowCloseEnabled()) this.add(leaveChatRoomButton);

    this.add(callButton);
    this.add(callVideoButton);
    this.add(desktopSharingButton);
    this.add(sendFileButton);

    ChatPanel chatPanel = chatContainer.getCurrentChat();
    if (chatPanel == null || !(chatPanel.getChatSession() instanceof MetaContactChatSession))
      sendFileButton.setEnabled(false);

    this.addSeparator();

    this.add(historyButton);
    this.add(previousButton);
    this.add(nextButton);

    // We only add the options button if the property SHOW_OPTIONS_WINDOW
    // specifies so or if it's not set.
    Boolean showOptionsProp =
        GuiActivator.getConfigurationService()
            .getBoolean(ConfigurationFrame.SHOW_OPTIONS_WINDOW_PROPERTY, false);

    if (showOptionsProp.booleanValue()) {
      this.add(optionsButton);
    }

    this.addSeparator();

    if (ConfigurationUtils.isFontSupportEnabled()) {
      this.add(fontButton);
      fontButton.setName("font");
      fontButton.setToolTipText(
          GuiActivator.getResources().getI18NString("service.gui.CHANGE_FONT"));
      fontButton.addActionListener(this);
    }

    initSmiliesSelectorBox();

    this.addSeparator();

    this.inviteButton.setName("invite");
    this.inviteButton.setToolTipText(
        GuiActivator.getResources().getI18NString("service.gui.INVITE"));

    this.leaveChatRoomButton.setName("leave");
    this.leaveChatRoomButton.setToolTipText(
        GuiActivator.getResources().getI18NString("service.gui.LEAVE"));

    this.callButton.setName("call");
    this.callButton.setToolTipText(
        GuiActivator.getResources().getI18NString("service.gui.CALL_CONTACT"));

    this.callVideoButton.setName("callVideo");
    this.callVideoButton.setToolTipText(
        GuiActivator.getResources().getI18NString("service.gui.CALL_CONTACT"));

    this.desktopSharingButton.setName("desktop");
    this.desktopSharingButton.setToolTipText(
        GuiActivator.getResources().getI18NString("service.gui.SHARE_DESKTOP_WITH_CONTACT"));

    this.historyButton.setName("history");
    this.historyButton.setToolTipText(
        GuiActivator.getResources().getI18NString("service.gui.HISTORY") + " Ctrl-H");

    optionsButton.setName("options");
    optionsButton.setToolTipText(GuiActivator.getResources().getI18NString("service.gui.OPTIONS"));

    this.sendFileButton.setName("sendFile");
    this.sendFileButton.setToolTipText(
        GuiActivator.getResources().getI18NString("service.gui.SEND_FILE"));

    this.previousButton.setName("previous");
    this.previousButton.setToolTipText(
        GuiActivator.getResources().getI18NString("service.gui.PREVIOUS"));

    this.nextButton.setName("next");
    this.nextButton.setToolTipText(GuiActivator.getResources().getI18NString("service.gui.NEXT"));

    inviteButton.addActionListener(this);
    leaveChatRoomButton.addActionListener(this);
    callButton.addActionListener(this);
    callVideoButton.addActionListener(this);
    desktopSharingButton.addActionListener(this);
    historyButton.addActionListener(this);
    optionsButton.addActionListener(this);
    sendFileButton.addActionListener(this);
    previousButton.addActionListener(this);
    nextButton.addActionListener(this);
  }
Пример #4
0
/**
 * 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();
    }
  }
}