# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: /home/hmichel/projetos/netbeans/main/db.sql.editor/src/org/netbeans/modules/db/sql/editor/ui/actions # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: ConnectionAction.java --- ConnectionAction.java Base (BASE) +++ ConnectionAction.java Locally Modified (Based On LOCAL) @@ -43,6 +43,8 @@ import java.awt.BorderLayout; import java.awt.Component; +import java.awt.Container; +import java.awt.DefaultFocusTraversalPolicy; import java.awt.Dimension; import java.awt.event.ItemEvent; import java.awt.event.ItemListener; @@ -56,6 +58,7 @@ import javax.swing.ComboBoxModel; import javax.swing.DefaultListCellRenderer; import javax.swing.JComboBox; +import javax.swing.JEditorPane; import javax.swing.JLabel; import javax.swing.JList; import javax.swing.JPanel; @@ -65,6 +68,7 @@ import org.netbeans.api.db.explorer.DatabaseConnection; import org.netbeans.modules.db.api.sql.execute.SQLExecution; import org.openide.awt.Mnemonics; +import org.openide.cookies.EditorCookie; import org.openide.util.Lookup; import org.openide.util.Mutex; import org.openide.util.NbBundle; @@ -91,15 +95,17 @@ private static final class ConnectionContextAwareDelegate extends ContextAwareDelegate { + private final Lookup actionContext; private ToolbarPresenter toolbarPresenter; public ConnectionContextAwareDelegate(ConnectionAction parent, Lookup actionContext) { super(parent, actionContext); + this.actionContext = actionContext; } @Override public Component getToolbarPresenter() { - toolbarPresenter = new ToolbarPresenter(); + toolbarPresenter = new ToolbarPresenter(actionContext); toolbarPresenter.setSQLExecution(getSQLExecution()); return toolbarPresenter; } @@ -129,12 +135,14 @@ private static final class ToolbarPresenter extends JPanel { + private final Lookup actionContext; private JComboBox combo; private JLabel comboLabel; private DatabaseConnectionModel model; - public ToolbarPresenter() { + public ToolbarPresenter(final Lookup actionContext) { initComponents(); + this.actionContext = actionContext; } @Override @@ -151,7 +159,27 @@ setLayout(new BorderLayout(4, 0)); setBorder(new EmptyBorder(0, 2, 0, 8)); setOpaque(false); + setFocusTraversalPolicyProvider(true); + setFocusTraversalPolicy(new DefaultFocusTraversalPolicy() { + @Override + public Component getDefaultComponent(Container aContainer) { + final EditorCookie ec = actionContext.lookup( + EditorCookie.class); + if (ec != null) { + JEditorPane[] panes = ec.getOpenedPanes(); + if (panes != null) { + for (JEditorPane pane : panes) { + if (pane.isShowing()) { + return pane; + } + } + } + } + return null; + } + }); + combo = new JComboBox(); combo.addItemListener(new ItemListener() { public void itemStateChanged(ItemEvent e) {