Windows fix

master
Clochard Pagan 11 years ago
parent bc78958080
commit 138df9b84c

@ -21,6 +21,7 @@ import java.nio.file.Paths;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
import javax.swing.JOptionPane;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import javax.swing.UIManager; import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException; import javax.swing.UnsupportedLookAndFeelException;
@ -43,7 +44,12 @@ public class Kernel {
{ {
String nb_etc = retrieve_netbeans_etc_dir(); String nb_etc = retrieve_netbeans_etc_dir();
setup_font_antialiaing_hints(nb_etc); setup_font_antialiaing_hints(nb_etc);
load_setup (nb_etc);
String cfh_dir = retrieve_app_folder();
boolean a = (new File (cfh_dir).mkdirs());
System.out.println(">>" + cfh_dir);
load_setup (cfh_dir);
} }
else else
{ {
@ -53,6 +59,16 @@ public class Kernel {
} }
private static String retrieve_app_folder ()
{
if (System.getProperty("os.name").startsWith("Windows")) {
return System.getenv("APPDATA") + File.separator + "idp_scheme";
} else {
return retrieve_netbeans_etc_dir ();
}
}
private static boolean prepare_metal_laf () private static boolean prepare_metal_laf ()
{ {
try { try {
@ -93,32 +109,41 @@ public class Kernel {
System.setProperty("nb.useSwingHtmlRendering", "true"); System.setProperty("nb.useSwingHtmlRendering", "true");
Path path = FileSystems.getDefault().getPath(nb_etc, "netbeans.conf"); Path path = FileSystems.getDefault().getPath(nb_etc, "netbeans.conf");
List<String> linesL = Files.readAllLines(path); if( Files.isWritable(path))
String [] lines = new String[linesL.size()];
int i = 0;
for (String str : linesL)
{ {
lines[i] = str;
i++; List<String> linesL = Files.readAllLines(path);
} String [] lines = new String[linesL.size()];
for (i =0; i < lines.length; i ++) int i = 0;
{ for (String str : linesL)
if (lines[i].contains("netbeans_default_options=")) {
lines[i] = str;
i++;
}
for (i =0; i < lines.length; i ++)
{ {
if (!lines[i].contains("-J-Dawt.useSystemAAFontSettings")) if (lines[i].contains("netbeans_default_options="))
{ {
System.err.println("No rendering hints defined - fixing..."); if (!lines[i].contains("-J-Dawt.useSystemAAFontSettings"))
String [] parts = lines[i].split("\""); {
String new_line = parts[0] + "\"" + parts[1] + " -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd" + "\""; System.err.println("No rendering hints defined - fixing...");
lines[i] = new_line; String [] parts = lines[i].split("\"");
write_scheme(nb_etc + "netbeans.conf", lines); String new_line = parts[0] + "\"" + parts[1] + " -J-Dswing.aatext=true -J-Dawt.useSystemAAFontSettings=lcd" + "\"";
System.out.println("Reload Netbeans to update hints!"); lines[i] = new_line;
write_scheme(nb_etc + "netbeans.conf", lines);
System.out.println("Restart Netbeabs to see the effect.");
}
} }
} }
return true;
}
else
{
System.err.println("Unable to fix config - bye-bye :(");
return false;
} }
return true;
} }
catch (IOException ex) catch (IOException ex)
{ {
@ -135,7 +160,7 @@ public class Kernel {
if (!scheme_file.exists()) if (!scheme_file.exists())
{ {
init_scheme();
if (save_scheme(path)) if (save_scheme(path))
{ {
return read_scheme (path); return read_scheme (path);
@ -176,62 +201,73 @@ public class Kernel {
read_scheme (path); read_scheme (path);
} }
private static boolean save_scheme(String scheme_file) { private static void init_scheme ()
{
ArrayList<Color> color_map = new ArrayList<Color>();
for (int i = 0; i < Keys.color_keys.length; i ++)
{
Object o = UIManager.get(Keys.color_keys[i]);
if (o != null)
{
if (o.getClass().equals(javax.swing.plaf.ColorUIResource.class))
{
ColorUIResource oo = (ColorUIResource) o;
Color c = new Color(Keys.color_keys[i], Color.ColorClass.SF, oo.getRed(), oo.getGreen(), oo.getBlue(), oo.getAlpha(),"...");
color_map.add(c);
//System.out.println( "\"" + Keys.color_keys[i] + "\",");
}
else if (o.getClass().equals(java.awt.Color.class))
{
java.awt.Color oo = (java.awt.Color) o;
Color c = new Color(Keys.color_keys[i], Color.ColorClass.AT, oo.getRed(), oo.getGreen(), oo.getBlue(), oo.getAlpha(),"...");
color_map.add(c);
//System.out.println( "\"" + Keys.color_keys[i] + "\",");
}
}
else
{
ColorUIResource oo = new ColorUIResource(rand.nextInt(256), rand.nextInt(256), rand.nextInt(256));
Color c = new Color(Keys.color_keys[i], Color.ColorClass.SF, oo.getRed(), oo.getGreen(), oo.getBlue(), oo.getAlpha(),"...");
color_map.add(c);
//System.out.println( " \"" + Keys.color_keys[i] + "\",");
}
}
// ArrayList<Color> color_map = new ArrayList<Color>(); color_scheme_loaded = new Color[color_map.size()];
// for (int i = 0; i < Keys.color_keys.length; i ++) color_map.toArray(color_scheme_loaded);
// { }
//
// Object o = UIManager.get(Keys.color_keys[i]);
// if (o != null) private static boolean save_scheme(String scheme_file) {
// {
// if (o.getClass().equals(javax.swing.plaf.ColorUIResource.class))
// {
// ColorUIResource oo = (ColorUIResource) o;
// Color c = new Color(Keys.color_keys[i], Color.ColorClass.SF, oo.getRed(), oo.getGreen(), oo.getBlue(), oo.getAlpha(),"...");
// color_map.add(c);
// //System.out.println( "\"" + Keys.color_keys[i] + "\",");
// }
// else if (o.getClass().equals(java.awt.Color.class))
// {
// java.awt.Color oo = (java.awt.Color) o;
// Color c = new Color(Keys.color_keys[i], Color.ColorClass.AT, oo.getRed(), oo.getGreen(), oo.getBlue(), oo.getAlpha(),"...");
// color_map.add(c);
// //System.out.println( "\"" + Keys.color_keys[i] + "\",");
// }
// }
// else
// {
// ColorUIResource oo = new ColorUIResource(rand.nextInt(256), rand.nextInt(256), rand.nextInt(256));
// Color c = new Color(Keys.color_keys[i], Color.ColorClass.SF, oo.getRed(), oo.getGreen(), oo.getBlue(), oo.getAlpha(),"...");
// color_map.add(c);
// //System.out.println( " \"" + Keys.color_keys[i] + "\",");
// }
// }
//
//
Path path = FileSystems.getDefault().getPath(scheme_file);
try try
{
PrintWriter writer = new PrintWriter(scheme_file , "UTF-8");
for (int i = 0; i < color_scheme_loaded.length; i ++)
{ {
writer.println(color_scheme_loaded[i].toStringC()); PrintWriter writer = new PrintWriter(scheme_file , "UTF-8");
for (int i = 0; i < color_scheme_loaded.length; i ++)
{
writer.println(color_scheme_loaded[i].toStringC());
}
writer.close();
return true;
}
catch (FileNotFoundException ex)
{
Exceptions.printStackTrace(ex);
return false;
}
catch (UnsupportedEncodingException ex)
{
Exceptions.printStackTrace(ex);
return false;
} }
writer.close(); //}
return true; // else
} // {
catch (FileNotFoundException ex) // JOptionPane.showMessageDialog(null, "Unable to write '" + scheme_file + "'" );
{ // return false;
Exceptions.printStackTrace(ex); // }
return false;
}
catch (UnsupportedEncodingException ex)
{
Exceptions.printStackTrace(ex);
return false;
}
} }
public static Color[] color_scheme_loaded; public static Color[] color_scheme_loaded;
@ -280,7 +316,6 @@ public class Kernel {
private static void write_scheme(String path, String [] data) throws IOException private static void write_scheme(String path, String [] data) throws IOException
{ {
File fout = new File(path); File fout = new File(path);
FileOutputStream fos = new FileOutputStream(fout); FileOutputStream fos = new FileOutputStream(fout);
@ -296,7 +331,14 @@ public class Kernel {
} }
public static Color[] getColors() { public static Color[] getColors() {
return color_scheme_loaded; if (color_scheme_loaded == null)
{
return new Color[0];
}
else
{
return color_scheme_loaded;
}
} }
} }

@ -431,6 +431,7 @@ public final class ColorEditorTopComponent extends TopComponent {
this.color_R.setEnabled(false); this.color_R.setEnabled(false);
this.color_G.setEnabled(false); this.color_G.setEnabled(false);
this.color_B.setEnabled(false); this.color_B.setEnabled(false);
this.color_desc.setEnabled(false);
this.save_btn.setEnabled(false); this.save_btn.setEnabled(false);
this.load_btn.setEnabled(false); this.load_btn.setEnabled(false);
@ -456,6 +457,7 @@ public final class ColorEditorTopComponent extends TopComponent {
this.color_R.setEnabled(true); this.color_R.setEnabled(true);
this.color_G.setEnabled(true); this.color_G.setEnabled(true);
this.color_B.setEnabled(true); this.color_B.setEnabled(true);
this.color_desc.setEnabled(true);
this.save_btn.setEnabled(true); this.save_btn.setEnabled(true);
this.load_btn.setEnabled(true); this.load_btn.setEnabled(true);
@ -573,7 +575,47 @@ public final class ColorEditorTopComponent extends TopComponent {
Color[] colors = Kernel.getColors (); Color[] colors = Kernel.getColors ();
this.color_list.setListData(colors); this.color_list.setListData(colors);
this.color_list.setSelectedIndex(0);
if (colors.length == 0)
{
this.color_list.setEnabled(false);
this.color_hex.setEnabled(false);
this.color_R.setEnabled(false);
this.color_G.setEnabled(false);
this.color_B.setEnabled(false);
this.color_desc.setEnabled(false);
this.color_hex.setText("");
this.color_R.setText("");
this.color_G.setText("");
this.color_B.setText("");
this.color_desc.setText("");
this.save_btn.setEnabled(false);
this.load_btn.setEnabled(false);
this.reload_btn.setEnabled(false);
this.color_desc.setEnabled(false);
}
else
{
this.color_list.setSelectedIndex(0);
this.color_list.setEnabled(true);
this.color_hex.setEnabled(true);
this.color_R.setEnabled(true);
this.color_G.setEnabled(true);
this.color_B.setEnabled(true);
this.save_btn.setEnabled(true);
this.load_btn.setEnabled(true);
this.reload_btn.setEnabled(true);
this.color_desc.setEnabled(true);
}
} }
@Override @Override

Loading…
Cancel
Save