diff --git a/src/net/java/sip/communicator/impl/gui/main/MainFrame.java b/src/net/java/sip/communicator/impl/gui/main/MainFrame.java index a30762c19..ac7ced0a9 100644 --- a/src/net/java/sip/communicator/impl/gui/main/MainFrame.java +++ b/src/net/java/sip/communicator/impl/gui/main/MainFrame.java @@ -13,7 +13,6 @@ import java.util.List; import javax.swing.*; -import javax.swing.event.*; import javax.swing.tree.*; import net.java.sip.communicator.impl.gui.*; @@ -228,6 +227,12 @@ private void init() this.addKeybindingAction("main-rename", new RenameAction()); + // Remove the default escape key mapping as its a special + // one for the main frame and the contactlist + getRootPane().getInputMap( + JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT) + .remove(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0)); + TransparentPanel northPanel = new TransparentPanel(new BorderLayout(0, 0)); diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/ChatWindow.java b/src/net/java/sip/communicator/impl/gui/main/chat/ChatWindow.java index 2d7f01f3c..96a4659db 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/ChatWindow.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/ChatWindow.java @@ -165,16 +165,6 @@ public void stateChanged(ChangeEvent evt) this.addKeybindingAction( "chat-close", new CloseAction()); - // simple fix adding meta+w on macosx - if (OSUtils.IS_MAC) - { - this.getRootPane().getInputMap( - JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put( - KeyStroke.getKeyStroke( - KeyEvent.VK_W, InputEvent.META_DOWN_MASK), - "chat-close"); - } - this.addWindowListener(new ChatWindowAdapter()); int width = GuiActivator.getResources() diff --git a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java index f2ad8901d..68113b5b8 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java +++ b/src/net/java/sip/communicator/impl/gui/main/chatroomslist/ChatRoomTableDialog.java @@ -447,6 +447,9 @@ public Component getListCellRendererComponent(JList list, Object value, { ChatRoomProviderWrapper provider = (ChatRoomProviderWrapper)value; + if(provider == null) + return this; + if (isSelected) { setBackground(list.getSelectionBackground()); diff --git a/src/net/java/sip/communicator/plugin/branding/AboutWindow.java b/src/net/java/sip/communicator/plugin/branding/AboutWindow.java index 455422267..31031d027 100644 --- a/src/net/java/sip/communicator/plugin/branding/AboutWindow.java +++ b/src/net/java/sip/communicator/plugin/branding/AboutWindow.java @@ -199,6 +199,23 @@ public AboutWindow(Frame owner) this.setResizable(false); setLocationRelativeTo(getParent()); + + this.getRootPane().getActionMap().put("close", new CloseAction()); + + InputMap imap = this.getRootPane().getInputMap( + JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + + imap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "close"); + + if(OSUtils.IS_MAC) + { + imap.put( + KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.META_DOWN_MASK), + "close"); + imap.put( + KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.CTRL_DOWN_MASK), + "close"); + } } /** @@ -326,4 +343,16 @@ public Object getSource() * Implementation of {@link ExportedWindow#setParams(Object[])}. */ public void setParams(Object[] windowParams) {} + + /** + * The action invoked when user presses Escape key. + */ + private class CloseAction extends UIAction + { + public void actionPerformed(ActionEvent e) + { + setVisible(false); + dispose(); + } + } } diff --git a/src/net/java/sip/communicator/plugin/globalproxyconfig/GlobalProxyConfigForm.java b/src/net/java/sip/communicator/plugin/globalproxyconfig/GlobalProxyConfigForm.java index 4473913e4..c14a22386 100644 --- a/src/net/java/sip/communicator/plugin/globalproxyconfig/GlobalProxyConfigForm.java +++ b/src/net/java/sip/communicator/plugin/globalproxyconfig/GlobalProxyConfigForm.java @@ -151,6 +151,10 @@ private void init() table.setContentType("text/html"); table.setEditable(false); table.setOpaque(false); + + table.putClientProperty( + JEditorPane.HONOR_DISPLAY_PROPERTIES, Boolean.TRUE); + table.setText(Resources.getString( "plugin.globalproxy.PROTOCOL_SUPPORT")); centerPanel.add( @@ -159,7 +163,7 @@ private void init() add(centerPanel, BorderLayout.NORTH); } - + /** * Loading the values stored onto configuration form */ diff --git a/src/net/java/sip/communicator/util/swing/SIPCommDialog.java b/src/net/java/sip/communicator/util/swing/SIPCommDialog.java index 771e692c8..0eb584c55 100644 --- a/src/net/java/sip/communicator/util/swing/SIPCommDialog.java +++ b/src/net/java/sip/communicator/util/swing/SIPCommDialog.java @@ -144,8 +144,19 @@ private void initInputMap() JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); imap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "close"); + + // put the defaults for macosx + if(OSUtils.IS_MAC) + { + imap.put( + KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.META_DOWN_MASK), + "close"); + imap.put( + KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.CTRL_DOWN_MASK), + "close"); + } } - + /** * The action invoked when user presses Escape key. */ diff --git a/src/net/java/sip/communicator/util/swing/SIPCommFrame.java b/src/net/java/sip/communicator/util/swing/SIPCommFrame.java index fc8949b51..31c4e6c38 100644 --- a/src/net/java/sip/communicator/util/swing/SIPCommFrame.java +++ b/src/net/java/sip/communicator/util/swing/SIPCommFrame.java @@ -84,6 +84,19 @@ public SIPCommFrame() imap = rootPane.getInputMap( JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); + + imap.put(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), "close"); + + // put the defaults for macosx + if(OSUtils.IS_MAC) + { + imap.put( + KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.META_DOWN_MASK), + "close"); + imap.put( + KeyStroke.getKeyStroke(KeyEvent.VK_W, InputEvent.CTRL_DOWN_MASK), + "close"); + } } /**