bcv-vf/src/main/java/the/bytecode/club/bytecodeviewer/Configuration.java

105 lines
3.2 KiB
Java
Raw Normal View History

package the.bytecode.club.bytecodeviewer;
import the.bytecode.club.bytecodeviewer.gui.theme.LAFTheme;
import the.bytecode.club.bytecodeviewer.gui.theme.RSTATheme;
import the.bytecode.club.bytecodeviewer.translation.Language;
import java.io.File;
/**
* A collection of variables that can be configured through the settings menu or some form of UI/plugin
*
* @author Konloch
* @since 6/21/2021
*/
public class Configuration
{
2021-07-11 12:33:18 +00:00
public static String python2 = "";
2021-07-11 16:41:33 +00:00
public static String python2Extra = "";
public static String python3 = "";
2021-07-11 16:41:33 +00:00
public static String python3Extra = "";
public static String rt = "";
public static String library = "";
public static String javac = "";
public static String java = "";
2021-07-11 16:41:33 +00:00
public static String javaTools = "";
public static File krakatauTempDir;
public static File krakatauTempJar;
public static boolean displayParentInTab = false; //also change in the main GUI
public static boolean simplifiedTabNames = false;
2021-07-19 11:09:34 +00:00
public static boolean useNewSettingsDialogue = true; //TODO add to GUI
public static boolean forceResourceUpdateFromClassNode = false; //TODO add to GUI
public static boolean showDarkLAFComponentIcons = false;
public static boolean currentlyDumping = false;
public static boolean needsReDump = true;
public static boolean warnForEditing = false;
public static boolean runningObfuscation = false;
public static final long start = System.currentTimeMillis();
public static String lastOpenDirectory = ".";
public static String lastSaveDirectory = ".";
public static String lastPluginDirectory = ".";
public static boolean pingback = false;
public static boolean deleteForeignLibraries = true;
public static boolean canExit = false;
2021-06-29 18:24:47 +00:00
public static int silenceExceptionGUI = 0;
public static int pauseExceptionGUI = 0;
2021-07-10 13:46:25 +00:00
public static final int maxRecentFiles = 25; //eventually may be a setting
2021-06-21 11:32:07 +00:00
public static boolean verifyCorruptedStateOnBoot = false; //eventually may be a setting
public static BootState bootState = BootState.START_UP;
public static Language language = Language.ENGLISH;
public static LAFTheme lafTheme = LAFTheme.SYSTEM; //lightmode by default since it uses the system theme
public static RSTATheme rstaTheme = lafTheme.getRSTATheme();
public static long lastHotKeyExecuted = 0;
2021-07-19 14:11:14 +00:00
public static void setLastOpenDirectory(File file)
{
lastOpenDirectory = file.getAbsolutePath();
}
public static void setLastSaveDirectory(File file)
{
lastSaveDirectory = file.getAbsolutePath();
}
public static void setLastPluginDirectory(File file)
{
lastPluginDirectory = file.getAbsolutePath();
}
public static File getLastOpenDirectory()
{
File lastDir = new File(lastOpenDirectory);
2021-07-19 14:11:14 +00:00
if(lastDir.getParentFile().exists())
return lastDir;
return new File(".");
}
public static File getLastSaveDirectory()
{
File lastDir = new File(lastSaveDirectory);
2021-07-19 14:11:14 +00:00
if(lastDir.getParentFile().exists())
return lastDir;
return new File(".");
}
public static File getLastPluginDirectory()
{
File lastDir = new File(lastPluginDirectory);
2021-07-19 14:11:14 +00:00
if(lastDir.getParentFile().exists())
return lastDir;
return new File(".");
}
public enum BootState
{
START_UP,
SETTINGS_LOADED,
GUI_SHOWING,
}
}