Accelerator keys added in chat window.

cusax-fix
Yana Stamcheva 20 years ago
parent f48ebfccb6
commit 6bd1dc76b1

@ -12,6 +12,8 @@
import java.awt.Image;
import java.awt.Point;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
@ -31,7 +33,8 @@
*
* @author Yana Stamcheva
*/
public class SIPCommSelectorBox extends JLabel implements MouseListener {
public class SIPCommSelectorBox extends JLabel
implements MouseListener {
private JPopupMenu popup;
@ -141,4 +144,8 @@ public void setSelectedObject(Object o) {
public Object getSelectedObject() {
return this.selectedObject;
}
public JPopupMenu getPopup() {
return popup;
}
}

@ -23,6 +23,7 @@
import javax.swing.JButton;
import javax.swing.JEditorPane;
import javax.swing.JPanel;
import javax.swing.JPopupMenu;
import javax.swing.JSplitPane;
import javax.swing.JTabbedPane;
import javax.swing.JViewport;
@ -33,6 +34,7 @@
import javax.swing.text.Element;
import javax.swing.text.html.HTMLDocument;
import net.java.sip.communicator.impl.gui.main.customcontrols.SIPCommSelectorBox;
import net.java.sip.communicator.service.contactlist.MetaContact;
import net.java.sip.communicator.service.protocol.Contact;
import net.java.sip.communicator.service.protocol.OperationSetBasicInstantMessaging;
@ -511,4 +513,16 @@ public void setCaretToEnd(){
//Scroll to the last inserted text in the document.
this.conversationPanel.setCarretToEnd();
}
public void openProtocolSelectorBox() {
SIPCommSelectorBox contactSelector
= this.sendPanel.getContactSelectorBox();
JPopupMenu popup
= contactSelector.getPopup();
if (!popup.isVisible()) {
popup.setLocation(contactSelector.calculatePopupLocation());
popup.setVisible(true);
}
}
}

@ -218,4 +218,8 @@ public void actionPerformed(ActionEvent e) {
}
}
}
public SIPCommSelectorBox getContactSelectorBox() {
return contactSelectorBox;
}
}

@ -13,8 +13,6 @@
import java.awt.event.MouseEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.util.Date;
import java.util.Enumeration;
import java.util.Hashtable;
@ -36,9 +34,7 @@
import net.java.sip.communicator.impl.gui.utils.ImageLoader;
import net.java.sip.communicator.service.contactlist.MetaContact;
import net.java.sip.communicator.service.protocol.Contact;
import net.java.sip.communicator.service.protocol.OperationSetBasicInstantMessaging;
import net.java.sip.communicator.service.protocol.PresenceStatus;
import net.java.sip.communicator.service.protocol.ProtocolProviderService;
/**
* The chat window is the place, where users can write and send messages, view
@ -90,6 +86,10 @@ public ChatWindow(MainFrame mainFrame) {
.put("changeTabBackword", new BackwordTabAction());
getRootPane().getActionMap()
.put("sendMessage", new SendMessageAction());
getRootPane().getActionMap()
.put("openSmilies", new OpenSmilyAction());
getRootPane().getActionMap()
.put("changeProtocol", new ChangeProtocolAction());
getRootPane().getActionMap().put("copy", new CopyAction());
getRootPane().getActionMap().put("paste", new PasteAction());
@ -108,6 +108,10 @@ public ChatWindow(MainFrame mainFrame) {
KeyEvent.SHIFT_DOWN_MASK), "paste");
imap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER,
KeyEvent.CTRL_DOWN_MASK), "sendMessage");
imap.put(KeyStroke.getKeyStroke(KeyEvent.VK_S,
KeyEvent.ALT_DOWN_MASK), "openSmilies");
imap.put(KeyStroke.getKeyStroke(KeyEvent.VK_P,
KeyEvent.ALT_DOWN_MASK), "changeProtocol");
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
@ -509,4 +513,16 @@ public void actionPerformed(ActionEvent e) {
chatPanel.sendMessage();
}
}
private class OpenSmilyAction extends AbstractAction {
public void actionPerformed(ActionEvent e) {
menusPanel.getMainToolBar().getSmileyButton().doClick();
}
}
private class ChangeProtocolAction extends AbstractAction {
public void actionPerformed(ActionEvent e) {
getCurrentChatPanel().openProtocolSelectorBox();
}
}
}

@ -56,4 +56,8 @@ public MenusPanel(ChatWindow parentWindow) {
public void addToolBar(JToolBar toolBar) {
this.add(toolBar);
}
public MainToolBar getMainToolBar() {
return mainToolBar;
}
}

@ -68,9 +68,6 @@ public class MainToolBar extends SIPCommToolBar implements ActionListener {
private MsgToolbarButton fontButton = new MsgToolbarButton(ImageLoader
.getImage(ImageLoader.FONT_ICON));
private JLabel toolbarDivider = new JLabel(new ImageIcon(ImageLoader
.getImage(ImageLoader.TOOLBAR_DIVIDER)));
private ChatWindow messageWindow;
/**
@ -229,4 +226,8 @@ else if (buttonText.equalsIgnoreCase("smiley")) {
}
}
public MsgToolbarButton getSmileyButton() {
return smileyButton;
}
}

Loading…
Cancel
Save