Revision: 6600
http://squirrel-sql.svn.sourceforge.net/squirrel-sql/?rev=6600&view=rev
Author: gerdwagner
Date: 2012-03-15 19:05:46 +0000 (Thu, 15 Mar 2012)
Log Message:
-----------
3463374: Ability to rename SQL Worksheet Tabs through Session menu or shortcut shift F6
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/ISession.java
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/Session.java
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/session/action/I18NStrings.properties
trunk/sql12/doc/src/main/resources/changes.txt
Added Paths:
-----------
trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/action/RenameSessionAction.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 2012-03-12 21:35:28 UTC (rev 6599)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/action/ActionCollection.java 2012-03-15 19:05:46 UTC (rev 6600)
@@ -484,6 +484,8 @@
add(new NextSqlAction(_app));
add(new SelectSqlAction(_app));
add(new OpenSqlHistoryAction(_app));
+
+ add(new RenameSessionAction(_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 2012-03-12 21:35:28 UTC (rev 6599)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/gui/mainframe/MainFrameMenuBar.java 2012-03-15 19:05:46 UTC (rev 6600)
@@ -311,6 +311,7 @@
addToMenu(rsrc, ReconnectAction.class, menu);
addToMenu(rsrc, CloseSessionWindowAction.class, menu);
addToMenu(rsrc, CloseSessionAction.class, menu);
+ addToMenu(rsrc, RenameSessionAction.class, menu);
menu.add(createSQLResultsCloseMenu(rsrc));
menu.addSeparator();
addToMenu(rsrc, PreviousSessionAction.class, menu);
@@ -324,8 +325,8 @@
menu.addSeparator();
addToMenu(rsrc, NewSQLWorksheetAction.class, menu);
addToMenu(rsrc, NewObjectTreeAction.class, menu);
- menu.addSeparator();
-
+ menu.addSeparator();
+
menu.setEnabled(false);
return menu;
}
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/ISession.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/ISession.java 2012-03-12 21:35:28 UTC (rev 6599)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/ISession.java 2012-03-15 19:05:46 UTC (rev 6600)
@@ -227,6 +227,12 @@
/**
+ * Changes the title of this session to the new one.
+ * @param New title of this session.
+ */
+ public void setTitle(String newTitle);
+
+ /**
* Add the passed action to the toolbar of the sessions main window.
*
* @param action Action to be added.
Modified: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/Session.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/Session.java 2012-03-12 21:35:28 UTC (rev 6599)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/Session.java 2012-03-15 19:05:46 UTC (rev 6600)
@@ -725,7 +725,11 @@
return _title;
}
-
+ public void setTitle(String newTitle)
+ {
+ _title = newTitle;
+ }
+
public String toString()
{
return getTitle();
Added: trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/action/RenameSessionAction.java
===================================================================
--- trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/action/RenameSessionAction.java (rev 0)
+++ trunk/sql12/app/src/main/java/net/sourceforge/squirrel_sql/client/session/action/RenameSessionAction.java 2012-03-15 19:05:46 UTC (rev 6600)
@@ -0,0 +1,85 @@
+package net.sourceforge.squirrel_sql.client.session.action;
+
+import java.awt.event.ActionEvent;
+
+import javax.swing.JOptionPane;
+
+import net.sourceforge.squirrel_sql.client.IApplication;
+import net.sourceforge.squirrel_sql.client.action.SquirrelAction;
+import net.sourceforge.squirrel_sql.client.gui.desktopcontainer.ISessionWidget;
+import net.sourceforge.squirrel_sql.client.gui.session.SessionPanel;
+import net.sourceforge.squirrel_sql.client.session.ISession;
+import net.sourceforge.squirrel_sql.fw.util.StringManager;
+import net.sourceforge.squirrel_sql.fw.util.StringManagerFactory;
+
+/**
+ * Class responsible for renaming selected session title.
+ * When it is invoked on main session tab, the session itself with all session tabs are renamed.
+ * When is is invoked on the second, third, ... tab, only selected tab is renamed.
+ * If one session tab is renamed and then the session itself is renamed, all tabs including the renamed one are renamed.
+ * @author Vladislav Vavra
+ */
+public class RenameSessionAction extends SquirrelAction
+ implements ISessionAction
+{
+
+ private ISession _session;
+
+ private static final StringManager s_stringMgr =
+ StringManagerFactory.getStringManager(RenameSessionAction.class);
+
+ public RenameSessionAction(IApplication app)
+ {
+ super(app);
+ }
+
+ public void setSession(ISession session)
+ {
+ _session = session;
+ }
+
+ /**
+ * Method for renaming a session.
+ */
+ public void actionPerformed(ActionEvent evt)
+ {
+ setSession(_app.getSessionManager().getActiveSession());
+
+ String newTitle = JOptionPane.showInputDialog(_app.getMainFrame(),
+ s_stringMgr.getString("RenameSessionAction.label"),
+ s_stringMgr.getString("RenameSessionAction.title"),
+ JOptionPane.QUESTION_MESSAGE);
+
+
+ if(null == newTitle)
+ {
+ // Dialog was canceled.
+ return;
+ }
+
+
+ if(!_session.getActiveSessionWindow().equals(_app.getWindowManager().getAllFramesOfSession(_session.getIdentifier())[0]))
+ {
+ _session.getActiveSessionWindow().setTitle(newTitle);
+ }
+ else
+ {
+ _session.setTitle(newTitle);
+ updateGui();
+ }
+ }
+
+ /**
+ * Method for propagating new session title into gui.
+ */
+ private void updateGui() {
+ _app.getMainFrame().repaint();
+ ISessionWidget[] sessionSheets = _app.getWindowManager().getAllFramesOfSession(_session.getIdentifier());
+ if(sessionSheets.length==0) return;
+
+ sessionSheets[0].setTitle(_session.getTitle());
+ for(int i=1;i<sessionSheets.length;i++) {
+ sessionSheets[i].setTitle(_session.getTitle()+" (" + (i + 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 2012-03-12 21:35:28 UTC (rev 6599)
+++ trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/resources/squirrel.properties 2012-03-15 19:05:46 UTC (rev 6600)
@@ -560,6 +560,11 @@
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
+#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
+menuitem.net.sourceforge.squirrel_sql.client.session.action.RenameSessionAction.accelerator=shift F6
+menuitem.net.sourceforge.squirrel_sql.client.session.action.RenameSessionAction.mnemonic=R
########
@@ -729,7 +734,7 @@
menuitem.net.sourceforge.squirrel_sql.client.mainframe.action.ViewHelpAction.accelerator= F1
menuitem.net.sourceforge.squirrel_sql.client.mainframe.action.ViewHelpAction.mnemonic=H
-menuitem.net.sourceforge.squirrel_sql.client.mainframe.action.ViewLogsAction.accelerator
+menuitem.net.sourceforge.squirrel_sql.client.mainframe.action.ViewLogsAction.accelerator=
menuitem.net.sourceforge.squirrel_sql.client.mainframe.action.ViewLogsAction.mnemonic=L
menuitem.net.sourceforge.squirrel_sql.client.session.action.SessionPropertiesAction.accelerator=
Modified: trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/session/action/I18NStrings.properties
===================================================================
--- trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/session/action/I18NStrings.properties 2012-03-12 21:35:28 UTC (rev 6599)
+++ trunk/sql12/app/src/main/resources/net/sourceforge/squirrel_sql/client/session/action/I18NStrings.properties 2012-03-15 19:05:46 UTC (rev 6600)
@@ -1,4 +1,3 @@
-
DeleteSelectedTablesAction.title=Deleting from table(s)/view(s)
DeleteSelectedTablesAction.message=Do you really want to delete all records in the selected table(s)?\n Warning: This operation might also delete records in dependent tables
@@ -15,3 +14,5 @@
SQLFilterAction.singleObjectMessage=You must have a single table or view selected to activate the SQL Filter
+RenameSessionAction.title=Session/Tab Rename
+RenameSessionAction.label=Enter new session/tab label:
Modified: trunk/sql12/doc/src/main/resources/changes.txt
===================================================================
--- trunk/sql12/doc/src/main/resources/changes.txt 2012-03-12 21:35:28 UTC (rev 6599)
+++ trunk/sql12/doc/src/main/resources/changes.txt 2012-03-15 19:05:46 UTC (rev 6600)
@@ -9,6 +9,8 @@
Enhancements:
+3463374: Ability to rename SQL Worksheet Tabs through Session menu or shortcut shift F6
+
Hibernate Plugin:
- Support of hql results that return plain values instead of mapped objects. Mixes of plain values mapped objects are supported, too.
- Support of data changing hql statements.
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|