diff --git a/pom.xml b/pom.xml
index 70ca742..785e856 100644
--- a/pom.xml
+++ b/pom.xml
@@ -3,7 +3,7 @@
4.0.0
us.deathmarine
luyten
- 0.4.4
+ 0.4.5
com.fifesoft
diff --git a/src/themes/dark.xml b/src/themes/dark.xml
deleted file mode 100644
index 930aca1..0000000
--- a/src/themes/dark.xml
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/themes/default.xml b/src/themes/default.xml
deleted file mode 100644
index d34aa6e..0000000
--- a/src/themes/default.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/themes/eclipse.xml b/src/themes/eclipse.xml
deleted file mode 100644
index 2a98901..0000000
--- a/src/themes/eclipse.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/themes/vs.xml b/src/themes/vs.xml
deleted file mode 100644
index f2f1888..0000000
--- a/src/themes/vs.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/us/deathmarine/luyten/LuytenPreferences.java b/src/us/deathmarine/luyten/LuytenPreferences.java
index e06b4af..e147865 100644
--- a/src/us/deathmarine/luyten/LuytenPreferences.java
+++ b/src/us/deathmarine/luyten/LuytenPreferences.java
@@ -10,8 +10,7 @@
* declarations.
*/
public class LuytenPreferences {
-
- public static final String THEME_XML_PATH = "/themes/";
+ public static final String THEME_XML_PATH = "/org/fife/ui/rsyntaxtextarea/themes/";
public static final String DEFAULT_THEME_XML = "eclipse.xml";
private String themeXml = DEFAULT_THEME_XML;
diff --git a/src/us/deathmarine/luyten/MainMenuBar.java b/src/us/deathmarine/luyten/MainMenuBar.java
index 45445a1..44aad3d 100644
--- a/src/us/deathmarine/luyten/MainMenuBar.java
+++ b/src/us/deathmarine/luyten/MainMenuBar.java
@@ -18,6 +18,8 @@
import javax.swing.JRadioButtonMenuItem;
import javax.swing.KeyStroke;
import javax.swing.text.DefaultEditorKit;
+
+import com.strobel.Procyon;
import com.strobel.decompiler.DecompilerSettings;
import com.strobel.decompiler.languages.Language;
import com.strobel.decompiler.languages.Languages;
@@ -38,7 +40,9 @@ public class MainMenuBar extends JMenuBar {
private JCheckBox excludeNestedTypes;
private JCheckBox retainRedundantCasts;
private JCheckBox unicodeReplacement;
+ private JCheckBox debugLineNumbers;
private JCheckBox showDebugInfo;
+ private JCheckBox bytecodeLineNumbers;
private JRadioButtonMenuItem java;
private JRadioButtonMenuItem bytecode;
private JRadioButtonMenuItem bytecodeAST;
@@ -238,18 +242,31 @@ private void buildThemesMenu(JMenu themesMenu) {
a.setSelected("default.xml".equals(luytenPrefs.getThemeXml()));
themesGroup.add(a);
themesMenu.add(a);
+
+ a = new JRadioButtonMenuItem(new ThemeAction("Default-Alt", "default-alt.xml"));
+ a.setSelected("default-alt.xml".equals(luytenPrefs.getThemeXml()));
+ themesGroup.add(a);
+ themesMenu.add(a);
+
a = new JRadioButtonMenuItem(new ThemeAction("Dark", "dark.xml"));
a.setSelected("dark.xml".equals(luytenPrefs.getThemeXml()));
themesGroup.add(a);
themesMenu.add(a);
+
a = new JRadioButtonMenuItem(new ThemeAction("Eclipse", "eclipse.xml"));
a.setSelected("eclipse.xml".equals(luytenPrefs.getThemeXml()));
themesGroup.add(a);
themesMenu.add(a);
+
a = new JRadioButtonMenuItem(new ThemeAction("Visual Studio", "vs.xml"));
a.setSelected("vs.xml".equals(luytenPrefs.getThemeXml()));
themesGroup.add(a);
themesMenu.add(a);
+
+ a = new JRadioButtonMenuItem(new ThemeAction("IntelliJ", "idea.xml"));
+ a.setSelected("idea.xml".equals(luytenPrefs.getThemeXml()));
+ themesGroup.add(a);
+ themesMenu.add(a);
}
private void buildOperationMenu(JMenu operationMenu) {
@@ -367,6 +384,13 @@ public void run() {
unicodeReplacement.setFocusable(false);
unicodeReplacement.addActionListener(settingsChanged);
settingsMenu.add(unicodeReplacement);
+
+ debugLineNumbers = new JCheckBox(" 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");
@@ -413,6 +437,13 @@ public void run() {
button.addActionListener(settingsChanged);
}
settingsMenu.add(debugLanguagesMenu);
+
+ bytecodeLineNumbers = new JCheckBox(" Show Line Numbers In Bytecode");
+ bytecodeLineNumbers.setSelected(settings.getIncludeLineNumbersInBytecode());
+ bytecodeLineNumbers.setContentAreaFilled(false);
+ bytecodeLineNumbers.setFocusable(false);
+ bytecodeLineNumbers.addActionListener(settingsChanged);
+ settingsMenu.add(bytecodeLineNumbers);
}
private void buildHelpMenu(JMenu helpMenu) {
@@ -432,8 +463,8 @@ public void actionPerformed(ActionEvent event) {
JOptionPane.showMessageDialog(null,
"Luyten Gui \n" +
"by Deathmarine, Zerdei\n\n" +
- "Powered By\nProcyon\n" +
- "(c) 2013 Mike Strobel\n\n" +
+ "Powered By\nProcyon "+Procyon.version()+
+ "\n(c) 2015 Mike Strobel\n\n" +
"RSyntaxTextArea\n" +
"(c) 2012 Robert Futrell\n" +
"All rights reserved.");
@@ -453,6 +484,7 @@ private void populateSettingsFromSettingsMenu() {
settings.setRetainRedundantCasts(retainRedundantCasts.isSelected());
settings.setIncludeErrorDiagnostics(showDebugInfo.isSelected());
settings.setUnicodeOutputEnabled(unicodeReplacement.isSelected());
+ settings.setShowDebugLineNumbers(debugLineNumbers.isSelected());
//
// Note: You shouldn't ever need to set this. It's only for languages that support catch
// blocks without an exception variable. Java doesn't allow this. I think Scala does.
@@ -475,6 +507,7 @@ private void populateSettingsFromSettingsMenu() {
} else if (bytecodeAST.isSelected()) {
settings.setLanguage(Languages.bytecodeAst());
}
+ settings.setIncludeLineNumbersInBytecode(bytecodeLineNumbers.isSelected());
}
}