Search in sources :

Example 1 with CommentsLevel

use of jadx.api.CommentsLevel in project jadx by skylot.

the class JadxSettingsWindow method makeDecompilationGroup.

private SettingsGroup makeDecompilationGroup() {
    JCheckBox fallback = new JCheckBox();
    fallback.setSelected(settings.isFallbackMode());
    fallback.addItemListener(e -> {
        settings.setFallbackMode(e.getStateChange() == ItemEvent.SELECTED);
        needReload();
    });
    JCheckBox useDx = new JCheckBox();
    useDx.setSelected(settings.isUseDx());
    useDx.addItemListener(e -> {
        settings.setUseDx(e.getStateChange() == ItemEvent.SELECTED);
        needReload();
    });
    JCheckBox showInconsistentCode = new JCheckBox();
    showInconsistentCode.setSelected(settings.isShowInconsistentCode());
    showInconsistentCode.addItemListener(e -> {
        settings.setShowInconsistentCode(e.getStateChange() == ItemEvent.SELECTED);
        needReload();
    });
    JCheckBox resourceDecode = new JCheckBox();
    resourceDecode.setSelected(settings.isSkipResources());
    resourceDecode.addItemListener(e -> {
        settings.setSkipResources(e.getStateChange() == ItemEvent.SELECTED);
        needReload();
    });
    // fix for #1331
    int threadsCountValue = settings.getThreadsCount();
    int threadsCountMax = Math.max(2, Math.max(threadsCountValue, Runtime.getRuntime().availableProcessors() * 2));
    SpinnerNumberModel spinnerModel = new SpinnerNumberModel(threadsCountValue, 1, threadsCountMax, 1);
    JSpinner threadsCount = new JSpinner(spinnerModel);
    threadsCount.addChangeListener(e -> {
        settings.setThreadsCount((Integer) threadsCount.getValue());
        needReload();
    });
    JButton editExcludedPackages = new JButton(NLS.str("preferences.excludedPackages.button"));
    editExcludedPackages.addActionListener(event -> {
        String oldExcludedPackages = settings.getExcludedPackages();
        String result = JOptionPane.showInputDialog(this, NLS.str("preferences.excludedPackages.editDialog"), settings.getExcludedPackages());
        if (result != null) {
            settings.setExcludedPackages(result);
            if (!oldExcludedPackages.equals(result)) {
                needReload();
            }
        }
    });
    JCheckBox autoStartJobs = new JCheckBox();
    autoStartJobs.setSelected(settings.isAutoStartJobs());
    autoStartJobs.addItemListener(e -> settings.setAutoStartJobs(e.getStateChange() == ItemEvent.SELECTED));
    JCheckBox escapeUnicode = new JCheckBox();
    escapeUnicode.setSelected(settings.isEscapeUnicode());
    escapeUnicode.addItemListener(e -> {
        settings.setEscapeUnicode(e.getStateChange() == ItemEvent.SELECTED);
        needReload();
    });
    JCheckBox replaceConsts = new JCheckBox();
    replaceConsts.setSelected(settings.isReplaceConsts());
    replaceConsts.addItemListener(e -> {
        settings.setReplaceConsts(e.getStateChange() == ItemEvent.SELECTED);
        needReload();
    });
    JCheckBox respectBytecodeAccessModifiers = new JCheckBox();
    respectBytecodeAccessModifiers.setSelected(settings.isRespectBytecodeAccessModifiers());
    respectBytecodeAccessModifiers.addItemListener(e -> {
        settings.setRespectBytecodeAccessModifiers(e.getStateChange() == ItemEvent.SELECTED);
        needReload();
    });
    JCheckBox useImports = new JCheckBox();
    useImports.setSelected(settings.isUseImports());
    useImports.addItemListener(e -> {
        settings.setUseImports(e.getStateChange() == ItemEvent.SELECTED);
        needReload();
    });
    JCheckBox inlineAnonymous = new JCheckBox();
    inlineAnonymous.setSelected(settings.isInlineAnonymousClasses());
    inlineAnonymous.addItemListener(e -> {
        settings.setInlineAnonymousClasses(e.getStateChange() == ItemEvent.SELECTED);
        needReload();
    });
    JCheckBox inlineMethods = new JCheckBox();
    inlineMethods.setSelected(settings.isInlineMethods());
    inlineMethods.addItemListener(e -> {
        settings.setInlineMethods(e.getStateChange() == ItemEvent.SELECTED);
        needReload();
    });
    JCheckBox fsCaseSensitive = new JCheckBox();
    fsCaseSensitive.setSelected(settings.isFsCaseSensitive());
    fsCaseSensitive.addItemListener(e -> {
        settings.setFsCaseSensitive(e.getStateChange() == ItemEvent.SELECTED);
        needReload();
    });
    JComboBox<UseKotlinMethodsForVarNames> kotlinRenameVars = new JComboBox<>(UseKotlinMethodsForVarNames.values());
    kotlinRenameVars.setSelectedItem(settings.getUseKotlinMethodsForVarNames());
    kotlinRenameVars.addActionListener(e -> {
        settings.setUseKotlinMethodsForVarNames((UseKotlinMethodsForVarNames) kotlinRenameVars.getSelectedItem());
        needReload();
    });
    JComboBox<CommentsLevel> commentsLevel = new JComboBox<>(CommentsLevel.values());
    commentsLevel.setSelectedItem(settings.getCommentsLevel());
    commentsLevel.addActionListener(e -> {
        settings.setCommentsLevel((CommentsLevel) commentsLevel.getSelectedItem());
        needReload();
    });
    SettingsGroup other = new SettingsGroup(NLS.str("preferences.decompile"));
    other.addRow(NLS.str("preferences.threads"), threadsCount);
    other.addRow(NLS.str("preferences.excludedPackages"), NLS.str("preferences.excludedPackages.tooltip"), editExcludedPackages);
    other.addRow(NLS.str("preferences.start_jobs"), autoStartJobs);
    other.addRow(NLS.str("preferences.showInconsistentCode"), showInconsistentCode);
    other.addRow(NLS.str("preferences.escapeUnicode"), escapeUnicode);
    other.addRow(NLS.str("preferences.replaceConsts"), replaceConsts);
    other.addRow(NLS.str("preferences.respectBytecodeAccessModifiers"), respectBytecodeAccessModifiers);
    other.addRow(NLS.str("preferences.useImports"), useImports);
    other.addRow(NLS.str("preferences.inlineAnonymous"), inlineAnonymous);
    other.addRow(NLS.str("preferences.inlineMethods"), inlineMethods);
    other.addRow(NLS.str("preferences.fsCaseSensitive"), fsCaseSensitive);
    other.addRow(NLS.str("preferences.fallback"), fallback);
    other.addRow(NLS.str("preferences.useDx"), useDx);
    other.addRow(NLS.str("preferences.skipResourcesDecode"), resourceDecode);
    other.addRow(NLS.str("preferences.useKotlinMethodsForVarNames"), kotlinRenameVars);
    other.addRow(NLS.str("preferences.commentsLevel"), commentsLevel);
    return other;
}
Also used : JCheckBox(javax.swing.JCheckBox) SpinnerNumberModel(javax.swing.SpinnerNumberModel) JComboBox(javax.swing.JComboBox) CommentsLevel(jadx.api.CommentsLevel) JButton(javax.swing.JButton) JSpinner(javax.swing.JSpinner) UseKotlinMethodsForVarNames(jadx.api.JadxArgs.UseKotlinMethodsForVarNames)

Aggregations

CommentsLevel (jadx.api.CommentsLevel)1 UseKotlinMethodsForVarNames (jadx.api.JadxArgs.UseKotlinMethodsForVarNames)1 JButton (javax.swing.JButton)1 JCheckBox (javax.swing.JCheckBox)1 JComboBox (javax.swing.JComboBox)1 JSpinner (javax.swing.JSpinner)1 SpinnerNumberModel (javax.swing.SpinnerNumberModel)1