8000 add "clear screen" preference, set worksheet state to "saved" (not di… · marcusgram/utPLSQL-SQLDeveloper@6f53860 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6f53860

Browse files
add "clear screen" preference, set worksheet state to "saved" (not dirty)
1 parent 99c8777 commit 6f53860

File tree

5 files changed

+22
-4
lines changed

5 files changed

+22
-4
lines changed

sqldev/src/main/java/org/utplsql/sqldev/PreferencePanel.xtend

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import org.utplsql.sqldev.resources.UtplsqlResources
2626
class PreferencePanel extends DefaultTraversablePanel {
2727
val JCheckBox unsharedWorksheetCheckBox = new JCheckBox
2828
val JCheckBox resetPackageCheckBox = new JCheckBox
29+
val JCheckBox clearScreenCheckBox = new JCheckBox
2930
val JCheckBox autoExecuteCheckBox = new JCheckBox
3031

3132
new() {
@@ -41,6 +42,9 @@ class PreferencePanel extends DefaultTraversablePanel {
4142
builder.add(
4243
builder.field.label.withText(UtplsqlResources.getString("PREF_RESET_PACKAGE_LABEL")).component(
4344
resetPackageCheckBox))
45+
builder.add(
46+
builder.field.label.withText(UtplsqlResources.getString("PREF_CLEAR_SCREEN_LABEL")).component(
47+
clearScreenCheckBox))
4448
builder.add(
4549
builder.field.label.withText(UtplsqlResources.getString("PREF_AUTO_EXECUTE_LABEL")).component(
4650
autoExecuteCheckBox))
@@ -51,6 +55,7 @@ class PreferencePanel extends DefaultTraversablePanel {
5155
var PreferenceModel info = traversableContext.userInformation
5256
unsharedWorksheetCheckBox.selected = info.unsharedWorksheet
5357
resetPackageCheckBox.selected = info.resetPackage
58+
clearScreenCheckBox.selected = info.clearScreen
5459
autoExecuteCheckBox.selected = info.autoExecute
5560
super.onEntry(traversableContext)
5661
}
@@ -59,6 +64,7 @@ class PreferencePanel extends DefaultTraversablePanel {
5964
var PreferenceModel info = traversableContext.userInformation
6065
info.unsharedWorksheet = unsharedWorksheetCheckBox.selected
6166
info.resetPackage = resetPackageCheckBox.selected
67+
info.clearScreen = clearScreenCheckBox.selected
6268
info.autoExecute = autoExecuteCheckBox.selected
6369
super.onExit(traversableContext)
6470
}

sqldev/src/main/java/org/utplsql/sqldev/editor/menu/UtplsqlEditorController.xtend

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,13 @@
1414
*/
1515
package org.utplsql.sqldev.editor.menu
1616

17-
import java.awt.Dimension
1817
import java.util.logging.Logger
1918
import javax.swing.JEditorPane
2019
import javax.swing.JSplitPane
2120
import oracle.dbtools.raptor.navigator.impl.DatabaseSourceNode
2221
import oracle.dbtools.raptor.utils.Connections
2322
import oracle.dbtools.worksheet.editor.OpenWorksheetWizard
2423
import oracle.dbtools.worksheet.editor.Worksheet
25-
import oracle.dbtools.worksheet.editor.WorksheetGUI
2624
import oracle.dbtools.worksheet.utils.WorksheetUtil
2725
import oracle.ide.Context
2826
import oracle.ide.Ide
@@ -96,14 +94,17 @@ class UtplsqlEditorController implements Controller {
9694
EXECUTE dbms_session.reset_package;
9795
«ENDIF»
9896
SET SERVEROUTPUT ON SIZE 1000000
99-
CLEAR SCREEN
97+
«IF preferences.clearScreen»
98+
CLEAR SCREEN
99+
«ENDIF»
100100
EXECUTE ut.run('«parser.getPathAt(position)»');
101101
'''
102102
val worksheet = OpenWorksheetWizard.openNewTempWorksheet(connectionName, code) as Worksheet
103103
if (connectionName === null) {
104104
worksheet.comboConnection = null
105105
}
106106
WorksheetUtil.setWorksheetTabName(worksheet.context.node.URL, UtplsqlResources.getString("WORKSHEET_TITLE"));
107+
worksheet.context.node.markDirty(false);
107108
if (preferences.autoExecute) {
108109
Thread.sleep(100) // give worksheet time to initialize
109110
val action = Ide.getIdeActionMap.get(Ide.findCmdID("Worksheet.RunScript")) as IdeAction

sqldev/src/main/java/org/utplsql/sqldev/model/preference/PreferenceModel.xtend

Lines changed: 9 additions & 0 deletions
6D40
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ class PreferenceModel extends HashStructureAdapter {
3333

3434
static final String KEY_UNSHARED_WORKSHEET = "unsharedWorksheet"
3535
static final String KEY_RESET_PACKAGE = "resetPackage"
36+
static final String KEY_CLEAR_SCREEN = "clearScreen"
3637
static final String KEY_AUTO_EXECUTE = "autoExecute"
3738

3839
def isUnsharedWorksheet() {
@@ -50,6 +51,14 @@ class PreferenceModel extends HashStructureAdapter {
5051
def setResetPackage(boolean resetPackage) {
5152
getHashStructure.putBoolean(PreferenceModel.KEY_RESET_PACKAGE, resetPackage)
5253
}
54+
55+
def isClearScreen() {
56+
return getHashStructure.getBoolean(PreferenceModel.KEY_CLEAR_SCREEN, false)
57+
}
58+
59+
def setClearScreen(boolean clearScreen) {
60+
getHashStructure.putBoolean(PreferenceModel.KEY_CLEAR_SCREEN, clearScreen)
61+
}
5362

5463
def isAutoExecute() {
5564
return getHashStructure.getBoolean(PreferenceModel.KEY_AUTO_EXECUTE, true)

sqldev/src/main/resources/org/utplsql/sqldev/resources/UtplsqlResources.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,9 @@ MIN_SQLDEV_VERSION=12.2.19.0.7
99

1010
# Translatable text
1111
PREF_LABEL=utPLSQL
12+
PREF_UNSHARED_WORKSHEET_LABEL=Open an unshared worksheet?
1213
PREF_RESET_PACKAGE_LABEL=Reset package before running utPLSQL?
14+
PREF_CLEAR_SCREEN_LABEL=Clear script output panel before running utPLSQL?
1315
PREF_AUTO_EXECUTE_LABEL=Execute unit test automatically?
14-
PREF_UNSHARED_WORKSHEET_LABEL=Open an unshared worksheet for utPLSQL execution?
1516
MENU_RUN_TEST_LABEL=Run utPLSQL test
1617
WORKSHEET_TITLE=utPLSQL

sqldev/src/test/java/org/utplsql/sqldev/preferences/tests/PreferenceModelTest.xtend

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ class PreferenceModelTest {
2626
val PreferenceModel model = PreferenceModel.getInstance(null)
2727
Assert.assertTrue(model.unsharedWorksheet)
2828
Assert.assertFalse(model.resetPackage)
29+
Assert.assertFalse(model.clearScreen)
2930
Assert.assertTrue(model.autoExecute)
3031
}
3132
}

0 commit comments

Comments
 (0)
0