Revision: 6733
http://sourceforge.net/p/squirrel-sql/code/6733
Author: gerdwagner
Date: 2013-01-08 12:23:22 +0000 (Tue, 08 Jan 2013)
Log Message:
-----------
Introduced keyboard shortcut Ctrl+Shift+Enter to rerun SQL results.
Thanks to Johnathan James for re-working and drawing attention to the patch hosted at
http://muzso.hu/2011/06/04/patch-for-squirrel-sql-client-v3.2.1-adds-keyboard-shortcut-for-sql-query-rerun-re-execut
See also bug #1057.
Modified Paths:
--------------
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/action/ActionCollection.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/mainframe/MainFrameMenuBar.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/ResultTab.java
trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/resources/squirrel.properties
trunk/sql12/doc/src/main/resources/changes.txt
Added Paths:
-----------
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/action/RerunCurrentSQLResultTabAction.java
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/action/ActionCollection.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/action/ActionCollection.java 2013-01-08 11:16:13 UTC (rev 6732)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/action/ActionCollection.java 2013-01-08 12:23:22 UTC (rev 6733)
@@ -488,6 +488,7 @@
add(new FormatSQLAction(_app));
add(new RenameSessionAction(_app));
+ add(new RerunCurrentSQLResultTabAction(_app));
}
}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/mainframe/MainFrameMenuBar.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/mainframe/MainFrameMenuBar.java 2013-01-08 11:16:13 UTC (rev 6732)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/mainframe/MainFrameMenuBar.java 2013-01-08 12:23:22 UTC (rev 6733)
@@ -305,6 +305,7 @@
addToMenu(rsrc, GotoPreviousResultsTabAction.class, menu);
addToMenu(rsrc, GotoNextResultsTabAction.class, menu);
addToMenu(rsrc, ToggleCurrentSQLResultTabStickyAction.class, menu);
+ addToMenu(rsrc, RerunCurrentSQLResultTabAction.class, menu);
menu.addSeparator();
addToMenu(rsrc, ShowNativeSQLAction.class, menu);
menu.addSeparator();
Added: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/action/RerunCurrentSQLResultTabAction.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/action/RerunCurrentSQLResultTabAction.java (rev 0)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/action/RerunCurrentSQLResultTabAction.java 2013-01-08 12:23:22 UTC (rev 6733)
@@ -0,0 +1,80 @@
+package net.sourceforge.squirrel_sql.client.session.action;
+
+import net.sourceforge.squirrel_sql.client.IApplication;
+import net.sourceforge.squirrel_sql.client.action.SquirrelAction;
+import net.sourceforge.squirrel_sql.client.session.ISQLPanelAPI;
+import net.sourceforge.squirrel_sql.client.session.mainpanel.IResultTab;
+import net.sourceforge.squirrel_sql.client.session.mainpanel.ISQLResultExecuter;
+import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
+import net.sourceforge.squirrel_sql.fw.util.log.LoggerController;
+
+import java.awt.event.ActionEvent;
+
+public class RerunCurrentSQLResultTabAction extends SquirrelAction implements ISQLPanelAction
+{
+
+ /** Current panel. */
+ private ISQLPanelAPI _panel;
+
+ /** Logger for this class. */
+ private static final ILogger s_log =
+ LoggerController.createLogger(RerunCurrentSQLResultTabAction.class);
+
+ /**
+ * Ctor specifying Application API.
+ *
+ * @param app Application API.
+ */
+ public RerunCurrentSQLResultTabAction(IApplication app)
+ {
+ super(app);
+ if (app == null)
+ {
+ s_log.warn("RerunCurrentSQLResultTabAction(): IApplication == null");
+ }
+ }
+
+ public void setSQLPanel(ISQLPanelAPI panel)
+ {
+ if (panel == null)
+ {
+ s_log.warn("setSQLPanel(): ISQLPanelAPI == null");
+ }
+ _panel = panel;
+ setEnabled(_panel != null);
+ }
+
+ /**
+ * Close the current result tab
+ *
+ * @param evt Event being executed.
+ */
+ public synchronized void actionPerformed(ActionEvent evt)
+ {
+ if (_panel != null)
+ {
+ ISQLResultExecuter sqlResultExecuter = _panel.getSQLResultExecuter();
+ if (sqlResultExecuter != null)
+ {
+ IResultTab selectedResultTab = sqlResultExecuter.getSelectedResultTab();
+ if (selectedResultTab != null)
+ {
+ selectedResultTab.reRunSQL();
+ }
+ else
+ {
+ s_log.warn("actionPerformed(): IResultTab == null");
+ }
+ }
+ else
+ {
+ s_log.warn("actionPerformed(): ISQLResultExecuter == null");
+ }
+ }
+ else
+ {
+ s_log.warn("actionPerformed(): ISQLPanelAPI == null");
+ }
+ }
+}
+
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/ResultTab.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/ResultTab.java 2013-01-08 11:16:13 UTC (rev 6732)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/mainpanel/ResultTab.java 2013-01-08 12:23:22 UTC (rev 6733)
@@ -29,25 +29,40 @@
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
-import javax.swing.*;
+import javax.swing.BorderFactory;
+import javax.swing.JOptionPane;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTabbedPane;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
-import net.sourceforge.squirrel_sql.client.session.*;
+import net.sourceforge.squirrel_sql.client.IApplication;
+import net.sourceforge.squirrel_sql.client.action.SquirrelAction;
+import net.sourceforge.squirrel_sql.client.gui.builders.UIFactory;
+import net.sourceforge.squirrel_sql.client.session.DefaultDataModelImplementationDetails;
+import net.sourceforge.squirrel_sql.client.session.EditableSqlCheck;
+import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.client.session.SQLExecutionInfo;
+import net.sourceforge.squirrel_sql.client.session.action.RerunCurrentSQLResultTabAction;
import net.sourceforge.squirrel_sql.client.session.mainpanel.overview.OverviewCtrl;
-import net.sourceforge.squirrel_sql.fw.datasetviewer.*;
+import net.sourceforge.squirrel_sql.client.session.properties.SessionProperties;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.BaseDataSetViewerDestination;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.ContinueReadChannel;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetException;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.DataSetUpdateableTableModelListener;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.IDataSetUpdateableTableModel;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.IDataSetViewer;
import net.sourceforge.squirrel_sql.fw.datasetviewer.ReadMoreResultsHandlerListener;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.ResultSetDataSet;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.ResultSetMetaDataDataSet;
+import net.sourceforge.squirrel_sql.fw.datasetviewer.TableState;
import net.sourceforge.squirrel_sql.fw.datasetviewer.tablefind.DataSetViewerFindDecorator;
import net.sourceforge.squirrel_sql.fw.id.IHasIdentifier;
import net.sourceforge.squirrel_sql.fw.id.IIdentifier;
import net.sourceforge.squirrel_sql.fw.util.StringManager;
import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
import net.sourceforge.squirrel_sql.fw.util.StringUtilities;
-
-import net.sourceforge.squirrel_sql.client.IApplication;
-import net.sourceforge.squirrel_sql.client.action.SquirrelAction;
-import net.sourceforge.squirrel_sql.client.gui.builders.UIFactory;
-import net.sourceforge.squirrel_sql.client.session.properties.SessionProperties;
import net.sourceforge.squirrel_sql.fw.util.log.ILogger;
import net.sourceforge.squirrel_sql.fw.util.log.LoggerController;
@@ -524,8 +539,7 @@
panel2.setLayout(new GridLayout(1, 3, 0, 0));
panel2.add(_readMoreResultsHandler.getLoadingLabel());
-
- panel2.add(new TabButton(new RerunAction(_session.getApplication())));
+ panel2.add(new TabButton(getRerunCurrentSQLResultTabAction()));
panel2.add(new TabButton(new FindInResultAction(_session.getApplication())));
panel2.add(new TabButton(new CreateResultTabFrameAction(_session.getApplication())));
panel2.add(new TabButton(new CloseAction()));
@@ -565,6 +579,15 @@
}
+ private RerunCurrentSQLResultTabAction getRerunCurrentSQLResultTabAction()
+ {
+ RerunCurrentSQLResultTabAction rtn = new RerunCurrentSQLResultTabAction(_session.getApplication());
+
+ rtn.setSQLPanel( _session.getSQLPanelAPIOfActiveSessionWindow() );
+
+ return rtn;
+ }
+
private void reInitOverview()
{
if(OverviewCtrl.isOverviewPanel(_tabResultTabs.getComponentAt(_tabResultTabs.getTabCount()-1)))
Modified: trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/resources/squirrel.properties
===================================================================
--- trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/resources/squirrel.properties 2013-01-08 11:16:13 UTC (rev 6732)
+++ trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/resources/squirrel.properties 2013-01-08 12:23:22 UTC (rev 6733)
@@ -589,6 +589,10 @@
action.net.sourceforge.squirrel_sql.client.session.action.OpenSqlHistoryAction.name=Open SQL History
action.net.sourceforge.squirrel_sql.client.session.action.OpenSqlHistoryAction.tooltip=Open SQL History
+action.net.sourceforge.squirrel_sql.client.session.action.RerunCurrentSQLResultTabAction.image=eclipse/active/run_exc.gif
+action.net.sourceforge.squirrel_sql.client.session.action.RerunCurrentSQLResultTabAction.name=Rerun the current tab's SQL Query
+action.net.sourceforge.squirrel_sql.client.session.action.RerunCurrentSQLResultTabAction.tooltip=Rerun the current tab's SQL Query
+
#Rename session properties
action.net.sourceforge.squirrel_sql.client.session.action.RenameSessionAction.name=Rename Session/Tab
action.net.sourceforge.squirrel_sql.client.session.action.RenameSessionAction.tooltip=Change name of session/tab
@@ -919,3 +923,5 @@
menuitem.net.sourceforge.squirrel_sql.client.session.action.FormatSQLAction.accelerator=control alt F
menuitem.net.sourceforge.squirrel_sql.client.session.action.FormatSQLAction.mnemonic=F
+menuitem.net.sourceforge.squirrel_sql.client.session.action.RerunCurrentSQLResultTabAction.accelerator=control shift ENTER
+menuitem.net.sourceforge.squirrel_sql.client.session.action.RerunCurrentSQLResultTabAction.mnemonic=r
Modified: trunk/sql12/doc/src/main/resources/changes.txt
===================================================================
--- trunk/sql12/doc/src/main/resources/changes.txt 2013-01-08 11:16:13 UTC (rev 6732)
+++ trunk/sql12/doc/src/main/resources/changes.txt 2013-01-08 12:23:22 UTC (rev 6733)
@@ -8,6 +8,11 @@
Enhancements:
+Introduced keyboard shortcut Ctrl+Shift+Enter to rerun SQL results.
+ Thanks to Johnathan James for re-working and drawing attention to the patch hosted at
+ http://muzso.hu/2011/06/04/patch-for-squirrel-sql-client-v3.2.1-adds-keyboard-shortcut-for-sql-query-rerun-re-execut
+ See also bug #1057.
+
1609223: New option to enables SQL result tables to read more query results when the user scrolls to the end of the table.
This option can be switched on in Session Properties and on top of the SQL-Editor just at the place where the
"Limit tows" check box is.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|