Removed Duplicate File Filters
This commit is contained in:
parent
296227360a
commit
7819fe6575
4 changed files with 63 additions and 27 deletions
|
@ -8,27 +8,27 @@ import javax.swing.*;
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.google.gson.GsonBuilder;
|
import com.google.gson.GsonBuilder;
|
||||||
import me.konloch.kontainer.io.DiskReader;
|
|
||||||
import org.apache.commons.io.FileUtils;
|
import org.apache.commons.io.FileUtils;
|
||||||
import org.objectweb.asm.tree.ClassNode;
|
import org.objectweb.asm.tree.ClassNode;
|
||||||
|
|
||||||
|
import me.konloch.kontainer.io.DiskReader;
|
||||||
|
|
||||||
import the.bytecode.club.bytecodeviewer.bootloader.Boot;
|
import the.bytecode.club.bytecodeviewer.bootloader.Boot;
|
||||||
import the.bytecode.club.bytecodeviewer.api.BCV;
|
import the.bytecode.club.bytecodeviewer.api.BCV;
|
||||||
import the.bytecode.club.bytecodeviewer.api.ExceptionUI;
|
import the.bytecode.club.bytecodeviewer.api.ExceptionUI;
|
||||||
|
import the.bytecode.club.bytecodeviewer.gui.MainViewerGUI;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.*;
|
import the.bytecode.club.bytecodeviewer.gui.components.*;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.TabbedPane;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.TabbedPane;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ClassViewer;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ClassViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.MainViewerGUI;
|
|
||||||
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer;
|
import the.bytecode.club.bytecodeviewer.gui.resourceviewer.viewer.ResourceViewer;
|
||||||
import the.bytecode.club.bytecodeviewer.obfuscators.mapping.Refactorer;
|
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.PluginWriter;
|
import the.bytecode.club.bytecodeviewer.plugin.PluginWriter;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
import the.bytecode.club.bytecodeviewer.obfuscators.mapping.Refactorer;
|
||||||
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.util.*;
|
import the.bytecode.club.bytecodeviewer.resources.ResourceContainer;
|
||||||
import the.bytecode.club.bytecodeviewer.resources.importing.ImportResource;
|
import the.bytecode.club.bytecodeviewer.resources.importing.ImportResource;
|
||||||
|
import the.bytecode.club.bytecodeviewer.util.*;
|
||||||
|
|
||||||
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
import static the.bytecode.club.bytecodeviewer.Constants.*;
|
||||||
import static the.bytecode.club.bytecodeviewer.Settings.addRecentPlugin;
|
|
||||||
import static the.bytecode.club.bytecodeviewer.util.MiscUtils.guessLanguage;
|
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -193,7 +193,7 @@ public class BytecodeViewer
|
||||||
|
|
||||||
//set translation language
|
//set translation language
|
||||||
if (!Settings.hasSetLanguageAsSystemLanguage)
|
if (!Settings.hasSetLanguageAsSystemLanguage)
|
||||||
MiscUtils.setLanguage(guessLanguage());
|
MiscUtils.setLanguage(MiscUtils.guessLanguage());
|
||||||
|
|
||||||
//handle CLI
|
//handle CLI
|
||||||
int CLI = CommandLineInput.parseCommandLine(args);
|
int CLI = CommandLineInput.parseCommandLine(args);
|
||||||
|
@ -551,7 +551,7 @@ public class BytecodeViewer
|
||||||
BytecodeViewer.handleException(e);
|
BytecodeViewer.handleException(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
addRecentPlugin(file);
|
Settings.addRecentPlugin(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -18,6 +18,11 @@ public class FileChooser extends JFileChooser
|
||||||
public static final String EVERYTHING = "everything";
|
public static final String EVERYTHING = "everything";
|
||||||
|
|
||||||
public FileChooser(File file, String title, String description, String... extensions)
|
public FileChooser(File file, String title, String description, String... extensions)
|
||||||
|
{
|
||||||
|
this(false, file, title, description, extensions);
|
||||||
|
}
|
||||||
|
|
||||||
|
public FileChooser(boolean skipFileFilter, File file, String title, String description, String... extensions)
|
||||||
{
|
{
|
||||||
HashSet<String> extensionSet = new HashSet<>(Arrays.asList(extensions));
|
HashSet<String> extensionSet = new HashSet<>(Arrays.asList(extensions));
|
||||||
|
|
||||||
|
@ -29,24 +34,27 @@ public class FileChooser extends JFileChooser
|
||||||
setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
|
setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
|
||||||
setFileHidingEnabled(false);
|
setFileHidingEnabled(false);
|
||||||
setAcceptAllFileFilterUsed(false);
|
setAcceptAllFileFilterUsed(false);
|
||||||
setFileFilter(new FileFilter()
|
if(!skipFileFilter)
|
||||||
{
|
{
|
||||||
@Override
|
setFileFilter(new FileFilter()
|
||||||
public boolean accept(File f)
|
|
||||||
{
|
{
|
||||||
if (f.isDirectory())
|
@Override
|
||||||
return true;
|
public boolean accept(File f)
|
||||||
|
{
|
||||||
|
if (f.isDirectory())
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if(extensions[0].equals(EVERYTHING))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return extensionSet.contains(MiscUtils.extension(f.getAbsolutePath()));
|
||||||
|
}
|
||||||
|
|
||||||
if(extensions[0].equals(EVERYTHING))
|
@Override
|
||||||
return true;
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
return extensionSet.contains(MiscUtils.extension(f.getAbsolutePath()));
|
}
|
||||||
}
|
});
|
||||||
|
}
|
||||||
@Override
|
|
||||||
public String getDescription() {
|
|
||||||
return description;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ import the.bytecode.club.bytecodeviewer.api.Plugin;
|
||||||
import the.bytecode.club.bytecodeviewer.api.PluginConsole;
|
import the.bytecode.club.bytecodeviewer.api.PluginConsole;
|
||||||
import the.bytecode.club.bytecodeviewer.gui.components.JFrameConsoleTabbed;
|
import the.bytecode.club.bytecodeviewer.gui.components.JFrameConsoleTabbed;
|
||||||
import the.bytecode.club.bytecodeviewer.plugin.strategies.*;
|
import the.bytecode.club.bytecodeviewer.plugin.strategies.*;
|
||||||
|
import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
import the.bytecode.club.bytecodeviewer.util.MiscUtils;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
@ -167,7 +168,7 @@ public final class PluginManager
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return "BCV Plugins";
|
return TranslatedStrings.SELECT_EXTERNAL_PLUGIN_DESCRIPTION.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -9,6 +9,10 @@ import the.bytecode.club.bytecodeviewer.translation.TranslatedStrings;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import javax.swing.filechooser.FileFilter;
|
import javax.swing.filechooser.FileFilter;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
import static the.bytecode.club.bytecodeviewer.gui.components.FileChooser.EVERYTHING;
|
||||||
|
|
||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
* Bytecode Viewer (BCV) - Java & Android Reverse Engineering Suite *
|
||||||
|
@ -86,13 +90,36 @@ public class DialogUtils
|
||||||
*/
|
*/
|
||||||
public static File fileChooser(String title, String description, File directory, FileFilter filter, OnOpenEvent onOpen, String... extensions)
|
public static File fileChooser(String title, String description, File directory, FileFilter filter, OnOpenEvent onOpen, String... extensions)
|
||||||
{
|
{
|
||||||
final JFileChooser fc = new FileChooser(directory,
|
HashSet<String> extensionSet = new HashSet<>(Arrays.asList(extensions));
|
||||||
|
|
||||||
|
final JFileChooser fc = new FileChooser(true,
|
||||||
|
directory,
|
||||||
title,
|
title,
|
||||||
description,
|
description,
|
||||||
extensions);
|
extensions);
|
||||||
|
|
||||||
if(filter != null)
|
if(filter != null)
|
||||||
fc.setFileFilter(filter);
|
fc.setFileFilter(filter);
|
||||||
|
else
|
||||||
|
fc.setFileFilter(new FileFilter()
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public boolean accept(File f)
|
||||||
|
{
|
||||||
|
if (f.isDirectory())
|
||||||
|
return true;
|
||||||
|
|
||||||
|
if(extensions[0].equals(EVERYTHING))
|
||||||
|
return true;
|
||||||
|
|
||||||
|
return extensionSet.contains(MiscUtils.extension(f.getAbsolutePath()));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getDescription() {
|
||||||
|
return description;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
int returnVal = fc.showOpenDialog(BytecodeViewer.viewer);
|
int returnVal = fc.showOpenDialog(BytecodeViewer.viewer);
|
||||||
if (returnVal == JFileChooser.APPROVE_OPTION)
|
if (returnVal == JFileChooser.APPROVE_OPTION)
|
||||||
|
|
Loading…
Reference in a new issue