Skip to content

Commit 1f124cc

Browse files
add import snippets button
1 parent cb1551c commit 1f124cc

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

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

+20
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import java.awt.event.ActionListener
2020
import java.util.Map
2121
import javax.swing.JButton
2222
import javax.swing.JCheckBox
23+
import javax.swing.JOptionPane
2324
import javax.swing.JPanel
2425
import javax.swing.JSpinner
2526
import javax.swing.JTabbedPane
@@ -33,6 +34,7 @@ import oracle.ide.panels.TraversalException
3334
import oracle.javatools.ui.layout.FieldLayoutBuilder
3435
import org.utplsql.sqldev.model.preference.PreferenceModel
3536
import org.utplsql.sqldev.resources.UtplsqlResources
37+
import org.utplsql.sqldev.snippet.SnippetMerger
3638
import org.utplsql.sqldev.ui.common.DirectoryChooser
3739

3840
class PreferencePanel extends DefaultTraversablePanel {
@@ -43,6 +45,7 @@ class PreferencePanel extends DefaultTraversablePanel {
4345
val JCheckBox clearScreenCheckBox = new JCheckBox
4446
val JCheckBox autoExecuteCheckBox = new JCheckBox
4547
val JCheckBox checkRunUtplsqlTestCheckBox = new JCheckBox
48+
val JButton importSnippetsButton = new JButton(UtplsqlResources.getString("PREF_IMPORT_SNIPPETS_BUTTON_LABEL"))
4649
val JPanel realtimeReporterPanel = new JPanel
4750
val SpinnerNumberModel numberOfRunsInHistoryModel = new SpinnerNumberModel(1, 1, 100, 1);
4851
val JSpinner numberOfRunsInHistorySpinner = new JSpinner(numberOfRunsInHistoryModel);
@@ -101,6 +104,7 @@ class PreferencePanel extends DefaultTraversablePanel {
101104
runTab.add(
102105
runTab.field.label.withText(UtplsqlResources.getString("PREF_CHECK_RUN_UTPLSQL_TEST_LABEL")).component(
103106
checkRunUtplsqlTestCheckBox))
107+
runTab.addRow(importSnippetsButton)
104108
runTab.addVerticalSpring
105109

106110
// realtime reporter group
@@ -200,6 +204,13 @@ class PreferencePanel extends DefaultTraversablePanel {
200204
builder.addVerticalField("", tabbedPane)
201205
builder.addVerticalSpring
202206

207+
// register action listener for import snippets button
208+
importSnippetsButton.addActionListener(new ActionListener() {
209+
override actionPerformed(ActionEvent event) {
210+
importSnippets
211+
}
212+
})
213+
203214
// register action listener for create code template button
204215
createCodeTemplatesButton.addActionListener(new ActionListener() {
205216
override actionPerformed(ActionEvent event) {
@@ -216,6 +227,15 @@ class PreferencePanel extends DefaultTraversablePanel {
216227
})
217228
}
218229

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+
219239
private def loadCodeTemplates() {
220240
val Map<String, String> map = CodeTemplateUtil.loadFiles()
221241
for (key : map.keySet) {

0 commit comments

Comments
 (0)