Thread: [Squirrel-sql-commits] sql12/app/src/net/sourceforge/squirrel_sql/client/session SQLPanelAPI.java,1.
A Java SQL client for any JDBC compliant database
Brought to you by:
colbell,
gerdwagner
From: Rob M. <man...@us...> - 2006-01-29 22:07:37
|
Update of /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/session In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6850/sql12/app/src/net/sourceforge/squirrel_sql/client/session Modified Files: SQLPanelAPI.java Log Message: fix bug with unsaved edit checking that occurs when the user doesn't open a file but saves to a new file. Index: SQLPanelAPI.java =================================================================== RCS file: /cvsroot/squirrel-sql/sql12/app/src/net/sourceforge/squirrel_sql/client/session/SQLPanelAPI.java,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** SQLPanelAPI.java 23 Jan 2006 04:02:34 -0000 1.24 --- SQLPanelAPI.java 29 Jan 2006 22:07:26 -0000 1.25 *************** *** 62,65 **** --- 62,66 ---- private boolean fileOpened = false; + private boolean fileSaved = false; private boolean unsavedEdits = false; *************** *** 116,119 **** --- 117,121 ---- { if (_fileManager.save()) { + fileSaved = true; unsavedEdits = false; getSession().getActiveSessionWindow().setUnsavedEdits(false); *************** *** 124,127 **** --- 126,130 ---- { if (_fileManager.saveAs()) { + fileSaved = true; unsavedEdits = false; getSession().getActiveSessionWindow().setUnsavedEdits(false); *************** *** 131,138 **** public void fileOpen() { ! if (_fileManager.open()) { ! fileOpened = true; ! unsavedEdits = false; ! } } --- 134,145 ---- public void fileOpen() { ! if (unsavedEdits) { ! showConfirmSaveDialog(); ! } ! if (_fileManager.open()) { ! fileOpened = true; ! fileSaved = false; ! unsavedEdits = false; ! } } *************** *** 592,595 **** --- 599,619 ---- } + private void showConfirmSaveDialog() + { + String msg = s_stringMgr.getString("SQLPanelAPI.unsavedchanges"); + String title = + s_stringMgr.getString("SQLPanelAPI.unsavedchangestitle"); + + JFrame f = getSession().getApplication().getMainFrame(); + int option = + JOptionPane.showConfirmDialog(f, + msg, + title, + JOptionPane.YES_NO_OPTION); + if (option == JOptionPane.YES_OPTION) { + fileSaveAs(); + } + } + /** * A class to listen for events that indicate that the content in the *************** *** 602,606 **** */ public void undoableEditHappened(UndoableEditEvent e) { ! if (fileOpened) { unsavedEdits = true; getSession().getActiveSessionWindow().setUnsavedEdits(true); --- 626,630 ---- */ public void undoableEditHappened(UndoableEditEvent e) { ! if (fileOpened || fileSaved) { unsavedEdits = true; getSession().getActiveSessionWindow().setUnsavedEdits(true); *************** *** 623,647 **** && unsavedEdits) { ! String msg = s_stringMgr.getString("SQLPanelAPI.unsavedchanges"); ! String title = ! s_stringMgr.getString("SQLPanelAPI.unsavedchangestitle"); ! showConfirmSaveDialog(msg, title); ! } ! } ! ! private void showConfirmSaveDialog(final String message, ! final String title) ! { ! JFrame f = getSession().getApplication().getMainFrame(); ! int option = ! JOptionPane.showConfirmDialog(f, ! message, ! title, ! JOptionPane.YES_NO_OPTION); ! if (option == JOptionPane.YES_OPTION) { ! fileSaveAs(); } ! } ! } --- 647,653 ---- && unsavedEdits) { ! showConfirmSaveDialog(); } ! } } |