@@ -20,6 +20,7 @@ import java.awt.event.ActionListener
20
20
import java.util.Map
21
21
import javax.swing.JButton
22
22
import javax.swing.JCheckBox
23
+ import javax.swing.JOptionPane
23
24
import javax.swing.JPanel
24
25
import javax.swing.JSpinner
25
26
import javax.swing.JTabbedPane
@@ -33,6 +34,7 @@ import oracle.ide.panels.TraversalException
33
34
import oracle.javatools.ui.layout.FieldLayoutBuilder
34
35
import org.utplsql.sqldev.model.preference.PreferenceModel
35
36
import org.utplsql.sqldev.resources.UtplsqlResources
37
+ import org.utplsql.sqldev.snippet.SnippetMerger
36
38
import org.utplsql.sqldev.ui.common.DirectoryChooser
37
39
38
40
class PreferencePanel extends DefaultTraversablePanel {
@@ -43,6 +45,7 @@ class PreferencePanel extends DefaultTraversablePanel {
43
45
val JCheckBox clearScreenCheckBox = new JCheckBox
44
46
val JCheckBox autoExecuteCheckBox = new JCheckBox
45
47
val JCheckBox checkRunUtplsqlTestCheckBox = new JCheckBox
48
+ val JButton importSnippetsButton = new JButton (UtplsqlResources . getString(" PREF_IMPORT_SNIPPETS_BUTTON_LABEL" ))
46
49
val JPanel realtimeReporterPanel = new JPanel
47
50
val SpinnerNumberModel numberOfRunsInHistoryModel = new SpinnerNumberModel (1 , 1 , 100 , 1 );
48
51
val JSpinner numberOfRunsInHistorySpinner = new JSpinner (numberOfRunsInHistoryModel);
@@ -101,6 +104,7 @@ class PreferencePanel extends DefaultTraversablePanel {
101
104
runTab. add(
102
105
runTab. field. label. withText(UtplsqlResources . getString(" PREF_CHECK_RUN_UTPLSQL_TEST_LABEL" )). component(
103
106
checkRunUtplsqlTestCheckBox))
107
+ runTab. addRow(importSnippetsButton)
104
108
runTab. addVerticalSpring
105
109
106
110
// realtime reporter group
@@ -200,6 +204,13 @@ class PreferencePanel extends DefaultTraversablePanel {
200
204
builder. addVerticalField(" " , tabbedPane)
201
205
builder. addVerticalSpring
202
206
207
+ // register action listener for import snippets button
208
+ importSnippetsButton. addActionListener(new ActionListener () {
209
+ override actionPerformed(ActionEvent event) {
210
+ importSnippets
211
+ }
212
+ })
213
+
203
214
// register action listener for create code template button
204
215
createCodeTemplatesButton. addActionListener(new ActionListener () {
205
216
override actionPerformed(ActionEvent event) {
@@ -216,6 +227,15 @@ class PreferencePanel extends DefaultTraversablePanel {
216
227
})
217
228
}
218
229
230
+ private def importSnippets () {
231
+ val snippetMerger = new SnippetMerger
232
+ snippetMerger. merge
233
+ val file = snippetMerger. file. absolutePath
234
+ val message = String . format(UtplsqlResources . getString(" PREF_CONFIRM_IMPORT_MESSAGE" ), file)
235
+ JOptionPane . showMessageDialog(null , message, UtplsqlResources . getString(" PREF_CONFIRM_IMPORT_TITLE" ),
236
+ JOptionPane . INFORMATION_MESSAGE );
237
+ }
238
+
219
239
private def loadCodeTemplates () {
220
240
val Map<String , String > map = CodeTemplateUtil . loadFiles()
221
241
for (key : map. keySet) {
0 commit comments