Skip to content

Commit

Permalink
Merge pull request #141 from vlsi/menu_checkbox
Browse files Browse the repository at this point in the history
#140 make checkbox entries in Operation/Settings menus visible in macOS
  • Loading branch information
deathmarine authored Aug 7, 2018
2 parents 2e89a3a + 7f07ccf commit 7405efa
Showing 1 changed file with 29 additions and 57 deletions.
86 changes: 29 additions & 57 deletions src/us/deathmarine/luyten/MainMenuBar.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
import javax.swing.BoxLayout;
import javax.swing.ButtonGroup;
import javax.swing.ButtonModel;
import javax.swing.JCheckBox;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
Expand All @@ -49,25 +49,25 @@ public class MainMenuBar extends JMenuBar {

private JMenu recentFiles;
private JMenuItem clearRecentFiles;
private JCheckBox flattenSwitchBlocks;
private JCheckBox forceExplicitImports;
private JCheckBox forceExplicitTypes;
private JCheckBox showSyntheticMembers;
private JCheckBox excludeNestedTypes;
private JCheckBox retainRedundantCasts;
private JCheckBox unicodeReplacement;
private JCheckBox debugLineNumbers;
private JCheckBox showDebugInfo;
private JCheckBox bytecodeLineNumbers;
private JCheckBoxMenuItem flattenSwitchBlocks;
private JCheckBoxMenuItem forceExplicitImports;
private JCheckBoxMenuItem forceExplicitTypes;
private JCheckBoxMenuItem showSyntheticMembers;
private JCheckBoxMenuItem excludeNestedTypes;
private JCheckBoxMenuItem retainRedundantCasts;
private JCheckBoxMenuItem unicodeReplacement;
private JCheckBoxMenuItem debugLineNumbers;
private JCheckBoxMenuItem showDebugInfo;
private JCheckBoxMenuItem bytecodeLineNumbers;
private JRadioButtonMenuItem java;
private JRadioButtonMenuItem bytecode;
private JRadioButtonMenuItem bytecodeAST;
private ButtonGroup languagesGroup;
private ButtonGroup themesGroup;
private JCheckBox packageExplorerStyle;
private JCheckBox filterOutInnerClassEntries;
private JCheckBox singleClickOpenEnabled;
private JCheckBox exitByEscEnabled;
private JCheckBoxMenuItem packageExplorerStyle;
private JCheckBoxMenuItem filterOutInnerClassEntries;
private JCheckBoxMenuItem singleClickOpenEnabled;
private JCheckBoxMenuItem exitByEscEnabled;
private DecompilerSettings settings;
private LuytenPreferences luytenPrefs;

Expand Down Expand Up @@ -378,10 +378,8 @@ private void buildThemesMenu(JMenu themesMenu) {

private void buildOperationMenu(JMenu operationMenu) {
operationMenu.removeAll();
packageExplorerStyle = new JCheckBox(" Package Explorer Style");
packageExplorerStyle = new JCheckBoxMenuItem("Package Explorer Style");
packageExplorerStyle.setSelected(luytenPrefs.isPackageExplorerStyle());
packageExplorerStyle.setContentAreaFilled(false);
packageExplorerStyle.setFocusable(false);
packageExplorerStyle.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Expand All @@ -391,10 +389,8 @@ public void actionPerformed(ActionEvent e) {
});
operationMenu.add(packageExplorerStyle);

filterOutInnerClassEntries = new JCheckBox(" Filter Out Inner Class Entries");
filterOutInnerClassEntries = new JCheckBoxMenuItem("Filter Out Inner Class Entries");
filterOutInnerClassEntries.setSelected(luytenPrefs.isFilterOutInnerClassEntries());
filterOutInnerClassEntries.setContentAreaFilled(false);
filterOutInnerClassEntries.setFocusable(false);
filterOutInnerClassEntries.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Expand All @@ -404,10 +400,8 @@ public void actionPerformed(ActionEvent e) {
});
operationMenu.add(filterOutInnerClassEntries);

singleClickOpenEnabled = new JCheckBox(" Single Click Open");
singleClickOpenEnabled = new JCheckBoxMenuItem("Single Click Open");
singleClickOpenEnabled.setSelected(luytenPrefs.isSingleClickOpenEnabled());
singleClickOpenEnabled.setContentAreaFilled(false);
singleClickOpenEnabled.setFocusable(false);
singleClickOpenEnabled.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Expand All @@ -416,10 +410,8 @@ public void actionPerformed(ActionEvent e) {
});
operationMenu.add(singleClickOpenEnabled);

exitByEscEnabled = new JCheckBox(" Exit By Esc");
exitByEscEnabled = new JCheckBoxMenuItem("Exit By Esc");
exitByEscEnabled.setSelected(luytenPrefs.isExitByEscEnabled());
exitByEscEnabled.setContentAreaFilled(false);
exitByEscEnabled.setFocusable(false);
exitByEscEnabled.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Expand All @@ -443,67 +435,49 @@ public void run() {
}.start();
}
};
flattenSwitchBlocks = new JCheckBox(" Flatten Switch Blocks");
flattenSwitchBlocks = new JCheckBoxMenuItem("Flatten Switch Blocks");
flattenSwitchBlocks.setSelected(settings.getFlattenSwitchBlocks());
flattenSwitchBlocks.setContentAreaFilled(false);
flattenSwitchBlocks.setFocusable(false);
flattenSwitchBlocks.addActionListener(settingsChanged);
settingsMenu.add(flattenSwitchBlocks);

forceExplicitImports = new JCheckBox(" Force Explicit Imports");
forceExplicitImports = new JCheckBoxMenuItem("Force Explicit Imports");
forceExplicitImports.setSelected(settings.getForceExplicitImports());
forceExplicitImports.setContentAreaFilled(false);
forceExplicitImports.setFocusable(false);
forceExplicitImports.addActionListener(settingsChanged);
settingsMenu.add(forceExplicitImports);

forceExplicitTypes = new JCheckBox(" Force Explicit Types");
forceExplicitTypes = new JCheckBoxMenuItem("Force Explicit Types");
forceExplicitTypes.setSelected(settings.getForceExplicitTypeArguments());
forceExplicitTypes.setContentAreaFilled(false);
forceExplicitTypes.setFocusable(false);
forceExplicitTypes.addActionListener(settingsChanged);
settingsMenu.add(forceExplicitTypes);

showSyntheticMembers = new JCheckBox(" Show Synthetic Members");
showSyntheticMembers = new JCheckBoxMenuItem("Show Synthetic Members");
showSyntheticMembers.setSelected(settings.getShowSyntheticMembers());
showSyntheticMembers.setContentAreaFilled(false);
showSyntheticMembers.setFocusable(false);
showSyntheticMembers.addActionListener(settingsChanged);
settingsMenu.add(showSyntheticMembers);

excludeNestedTypes = new JCheckBox(" Exclude Nested Types");
excludeNestedTypes = new JCheckBoxMenuItem("Exclude Nested Types");
excludeNestedTypes.setSelected(settings.getExcludeNestedTypes());
excludeNestedTypes.setContentAreaFilled(false);
excludeNestedTypes.setFocusable(false);
excludeNestedTypes.addActionListener(settingsChanged);
settingsMenu.add(excludeNestedTypes);

retainRedundantCasts = new JCheckBox(" Retain Redundant Casts");
retainRedundantCasts = new JCheckBoxMenuItem("Retain Redundant Casts");
retainRedundantCasts.setSelected(settings.getRetainRedundantCasts());
retainRedundantCasts.setContentAreaFilled(false);
retainRedundantCasts.setFocusable(false);
retainRedundantCasts.addActionListener(settingsChanged);
settingsMenu.add(retainRedundantCasts);

unicodeReplacement = new JCheckBox(" Enable Unicode Replacement");
unicodeReplacement = new JCheckBoxMenuItem("Enable Unicode Replacement");
unicodeReplacement.setSelected(settings.isUnicodeOutputEnabled());
unicodeReplacement.setContentAreaFilled(false);
unicodeReplacement.setFocusable(false);
unicodeReplacement.addActionListener(settingsChanged);
settingsMenu.add(unicodeReplacement);

debugLineNumbers = new JCheckBox(" Show Debug Line Numbers");
debugLineNumbers = new JCheckBoxMenuItem("Show Debug Line Numbers");
debugLineNumbers.setSelected(settings.getShowDebugLineNumbers());
debugLineNumbers.setContentAreaFilled(false);
debugLineNumbers.setFocusable(false);
debugLineNumbers.addActionListener(settingsChanged);
settingsMenu.add(debugLineNumbers);

JMenu debugSettingsMenu = new JMenu("Debug Settings");
showDebugInfo = new JCheckBox(" Include Error Diagnostics");
showDebugInfo = new JCheckBoxMenuItem("Include Error Diagnostics");
showDebugInfo.setSelected(settings.getIncludeErrorDiagnostics());
showDebugInfo.setContentAreaFilled(false);
showDebugInfo.setFocusable(false);
showDebugInfo.addActionListener(settingsChanged);

debugSettingsMenu.add(showDebugInfo);
Expand Down Expand Up @@ -545,10 +519,8 @@ public void run() {
}
settingsMenu.add(debugLanguagesMenu);

bytecodeLineNumbers = new JCheckBox(" Show Line Numbers In Bytecode");
bytecodeLineNumbers = new JCheckBoxMenuItem("Show Line Numbers In Bytecode");
bytecodeLineNumbers.setSelected(settings.getIncludeLineNumbersInBytecode());
bytecodeLineNumbers.setContentAreaFilled(false);
bytecodeLineNumbers.setFocusable(false);
bytecodeLineNumbers.addActionListener(settingsChanged);
settingsMenu.add(bytecodeLineNumbers);
}
Expand Down

0 comments on commit 7405efa

Please sign in to comment.