Commit 3556e591 authored by Skylot's avatar Skylot

gui: hide deobf options if not enabled (#281)

parent 8fdb473d
...@@ -10,6 +10,8 @@ import java.awt.event.ItemEvent; ...@@ -10,6 +10,8 @@ import java.awt.event.ItemEvent;
import java.awt.event.ItemListener; import java.awt.event.ItemListener;
import java.awt.event.MouseAdapter; import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent; import java.awt.event.MouseEvent;
import java.util.Arrays;
import java.util.Collection;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
...@@ -160,9 +162,17 @@ public class JadxSettingsWindow extends JDialog { ...@@ -160,9 +162,17 @@ public class JadxSettingsWindow extends JDialog {
deobfGroup.addRow(NLS.str("preferences.deobfuscation_max_len"), maxLen); deobfGroup.addRow(NLS.str("preferences.deobfuscation_max_len"), maxLen);
deobfGroup.addRow(NLS.str("preferences.deobfuscation_source_alias"), deobfSourceAlias); deobfGroup.addRow(NLS.str("preferences.deobfuscation_source_alias"), deobfSourceAlias);
deobfGroup.end(); deobfGroup.end();
Collection<JComponent> connectedComponents = Arrays.asList(deobfForce, minLen, maxLen, deobfSourceAlias);
deobfOn.addItemListener(e -> enableComponentList(connectedComponents, e.getStateChange() == ItemEvent.SELECTED));
enableComponentList(connectedComponents, settings.isDeobfuscationOn());
return deobfGroup; return deobfGroup;
} }
private void enableComponentList(Collection<JComponent> connectedComponents, boolean enabled) {
connectedComponents.forEach(comp -> comp.setEnabled(enabled));
}
private SettingsGroup makeEditorGroup() { private SettingsGroup makeEditorGroup() {
JButton fontBtn = new JButton(NLS.str("preferences.select_font")); JButton fontBtn = new JButton(NLS.str("preferences.select_font"));
fontBtn.addMouseListener(new MouseAdapter() { fontBtn.addMouseListener(new MouseAdapter() {
...@@ -213,8 +223,9 @@ public class JadxSettingsWindow extends JDialog { ...@@ -213,8 +223,9 @@ public class JadxSettingsWindow extends JDialog {
} }
}); });
final JSpinner threadsCount = new JSpinner(); SpinnerNumberModel spinnerModel = new SpinnerNumberModel(
threadsCount.setValue(settings.getThreadsCount()); settings.getThreadsCount(), 1, Runtime.getRuntime().availableProcessors() * 2, 1);
final JSpinner threadsCount = new JSpinner(spinnerModel);
threadsCount.addChangeListener(new ChangeListener() { threadsCount.addChangeListener(new ChangeListener() {
@Override @Override
public void stateChanged(ChangeEvent e) { public void stateChanged(ChangeEvent e) {
...@@ -329,6 +340,8 @@ public class JadxSettingsWindow extends JDialog { ...@@ -329,6 +340,8 @@ public class JadxSettingsWindow extends JDialog {
c.weightx = 0.2; c.weightx = 0.2;
c.fill = GridBagConstraints.HORIZONTAL; c.fill = GridBagConstraints.HORIZONTAL;
add(comp, c); add(comp, c);
comp.addPropertyChangeListener("enabled", evt -> jLabel.setEnabled((boolean) evt.getNewValue()));
} }
public void end() { public void end() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment