From 8d8d77fa11696b194c590c3391aa1a9164443612 Mon Sep 17 00:00:00 2001 From: Denny Sheirer Date: Fri, 13 Dec 2019 05:18:30 -0500 Subject: [PATCH] Resolves #610. P25P2 Editor Doesn't accept scramble parameter values. (#611) --- .../decode/p25/phase2/P25P2DecoderEditor.java | 55 +++++++++++-------- 1 file changed, 31 insertions(+), 24 deletions(-) diff --git a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2DecoderEditor.java b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2DecoderEditor.java index 6e3f1ccc..7d69fb6d 100644 --- a/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2DecoderEditor.java +++ b/src/main/java/io/github/dsheirer/module/decode/p25/phase2/P25P2DecoderEditor.java @@ -41,6 +41,8 @@ import javax.swing.JCheckBox; import javax.swing.JFormattedTextField; import javax.swing.JLabel; import javax.swing.JOptionPane; +import javax.swing.event.DocumentEvent; +import javax.swing.event.DocumentListener; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; @@ -83,46 +85,27 @@ public class P25P2DecoderEditor extends ValidatingEditor add(new JLabel(" ")); add(mAutoDetectCheckBox); + DocumentModificationListener documentModificationListener = new DocumentModificationListener(); + add(new JLabel("WACN:")); mWacnText = new JFormattedTextField(); mWacnText.setToolTipText("Wide Area Communications Network (WACN) value in range: 0 - 1,048,575. Set to 0 for auto-detect"); mWacnText.setValue(Integer.valueOf(0)); - mWacnText.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - setModified(true); - } - }); + mWacnText.getDocument().addDocumentListener(documentModificationListener); add(mWacnText); add(new JLabel("SYSTEM:")); mSystemText = new JFormattedTextField(); mSystemText.setToolTipText("System code in range: 0 - 4,095. Set to 0 for auto-detect"); mSystemText.setValue(Integer.valueOf(0)); - mSystemText.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - setModified(true); - } - }); + mSystemText.getDocument().addDocumentListener(documentModificationListener); add(mSystemText); add(new JLabel("NAC:")); mNacText = new JFormattedTextField(); mSystemText.setToolTipText("Network Access Code (NAC): 0 - 4,095. Set to 0 for auto-detect"); mNacText.setValue(Integer.valueOf(0)); - mNacText.addActionListener(new ActionListener() - { - @Override - public void actionPerformed(ActionEvent e) - { - setModified(true); - } - }); + mNacText.getDocument().addDocumentListener(documentModificationListener); add(mNacText); } @@ -273,4 +256,28 @@ public class P25P2DecoderEditor extends ValidatingEditor setControlsEnabled(false); } } + + /** + * Document change listener that sets the editor to modified (true) on any change to the document. + */ + public class DocumentModificationListener implements DocumentListener + { + @Override + public void insertUpdate(DocumentEvent e) + { + setModified(true); + } + + @Override + public void removeUpdate(DocumentEvent e) + { + setModified(true); + } + + @Override + public void changedUpdate(DocumentEvent e) + { + setModified(true); + } + } }