config panel: add support for password fields
This commit is contained in:
@@ -44,4 +44,6 @@ public @interface ConfigItem
|
|||||||
boolean hidden() default false;
|
boolean hidden() default false;
|
||||||
|
|
||||||
String warning() default "";
|
String warning() default "";
|
||||||
|
|
||||||
|
boolean secret() default false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,6 +56,7 @@ import javax.swing.JFrame;
|
|||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JPasswordField;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
import javax.swing.JSpinner;
|
import javax.swing.JSpinner;
|
||||||
import javax.swing.JTextArea;
|
import javax.swing.JTextArea;
|
||||||
@@ -66,6 +67,7 @@ import javax.swing.border.EmptyBorder;
|
|||||||
import javax.swing.event.ChangeListener;
|
import javax.swing.event.ChangeListener;
|
||||||
import javax.swing.event.DocumentEvent;
|
import javax.swing.event.DocumentEvent;
|
||||||
import javax.swing.event.DocumentListener;
|
import javax.swing.event.DocumentListener;
|
||||||
|
import javax.swing.text.JTextComponent;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.client.config.ChatColorConfig;
|
import net.runelite.client.config.ChatColorConfig;
|
||||||
import net.runelite.client.config.Config;
|
import net.runelite.client.config.Config;
|
||||||
@@ -351,9 +353,20 @@ public class ConfigPanel extends PluginPanel
|
|||||||
|
|
||||||
if (cid.getType() == String.class)
|
if (cid.getType() == String.class)
|
||||||
{
|
{
|
||||||
JTextArea textField = new JTextArea();
|
JTextComponent textField;
|
||||||
textField.setLineWrap(true);
|
|
||||||
textField.setWrapStyleWord(true);
|
if (cid.getItem().secret())
|
||||||
|
{
|
||||||
|
textField = new JPasswordField();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
final JTextArea textArea = new JTextArea();
|
||||||
|
textArea.setLineWrap(true);
|
||||||
|
textArea.setWrapStyleWord(true);
|
||||||
|
textField = textArea;
|
||||||
|
}
|
||||||
|
|
||||||
textField.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
|
textField.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
|
||||||
textField.setText(configManager.getConfiguration(cd.getGroup().value(), cid.getItem().keyName()));
|
textField.setText(configManager.getConfiguration(cd.getGroup().value(), cid.getItem().keyName()));
|
||||||
|
|
||||||
@@ -548,9 +561,9 @@ public class ConfigPanel extends PluginPanel
|
|||||||
JSpinner spinner = (JSpinner) component;
|
JSpinner spinner = (JSpinner) component;
|
||||||
configManager.setConfiguration(cd.getGroup().value(), cid.getItem().keyName(), "" + spinner.getValue());
|
configManager.setConfiguration(cd.getGroup().value(), cid.getItem().keyName(), "" + spinner.getValue());
|
||||||
}
|
}
|
||||||
else if (component instanceof JTextArea)
|
else if (component instanceof JTextComponent)
|
||||||
{
|
{
|
||||||
JTextArea textField = (JTextArea) component;
|
JTextComponent textField = (JTextComponent) component;
|
||||||
configManager.setConfiguration(cd.getGroup().value(), cid.getItem().keyName(), textField.getText());
|
configManager.setConfiguration(cd.getGroup().value(), cid.getItem().keyName(), textField.getText());
|
||||||
}
|
}
|
||||||
else if (component instanceof JColorChooser)
|
else if (component instanceof JColorChooser)
|
||||||
|
|||||||
Reference in New Issue
Block a user