package org.rr.jeborker.app; import java.util.LinkedHashMap; import java.util.Map; import javax.swing.UIManager; import javax.swing.UIManager.LookAndFeelInfo; import javax.swing.plaf.metal.OceanTheme; import org.rr.commons.mufs.MimeUtils; import com.jgoodies.looks.plastic.Plastic3DLookAndFeel; import com.jgoodies.looks.plastic.PlasticXPLookAndFeel; import com.jgoodies.looks.plastic.theme.DesertGreen; import com.jgoodies.looks.plastic.theme.DesertRed; import com.jgoodies.looks.plastic.theme.DesertYellow; import com.jgoodies.looks.plastic.theme.ExperienceGreen; import com.jgoodies.looks.plastic.theme.ExperienceRoyale; import com.jgoodies.looks.plastic.theme.SkyBlue; import com.jgoodies.looks.plastic.theme.SkyGreen; import com.jgoodies.looks.plastic.theme.SkyKrupp; import com.jgoodies.looks.plastic.theme.SkyRed; import com.jgoodies.looks.plastic.theme.SkyYellow; public class JeboorkerConstants { public static interface SupportedMime { public String getName(); public String getMime(); } public static enum SUPPORTED_MIMES implements SupportedMime { MIME_EPUB { @Override public String getName() { return "epub"; } @Override public String getMime() { return MimeUtils.MIME_EPUB; } @Override public String toString() { return getMime(); } }, MIME_PDF { @Override public String getName() { return "pdf"; } @Override public String getMime() { return MimeUtils.MIME_PDF; } @Override public String toString() { return getMime(); } }, MIME_CBZ { @Override public String getName() { return "cbz"; } @Override public String getMime() { return MimeUtils.MIME_CBZ; } @Override public String toString() { return getMime(); } }, MIME_CBR { @Override public String getName() { return "cbr"; } @Override public String getMime() { return MimeUtils.MIME_CBR; } @Override public String toString() { return getMime(); } }, MIME_HTML { @Override public String getName() { return "html"; } @Override public String getMime() { return MimeUtils.MIME_HTML; } @Override public String toString() { return getMime(); } }, MIME_TXT { @Override public String getName() { return "txt"; } @Override public String getMime() { return MimeUtils.MIME_TEXT; } @Override public String toString() { return getMime(); } }, MIME_MOBI { @Override public String getName() { return "mobi"; } @Override public String getMime() { return MimeUtils.MIME_MOBI; } @Override public String toString() { return getMime(); } }, MIME_AZW { @Override public String getName() { return "azw3"; } @Override public String getMime() { return MimeUtils.MIME_AZW; } @Override public String toString() { return getMime(); } } }; public static final Map<String, String> LOOK_AND_FEELS = new LinkedHashMap<String, String>() { { put("Plastic3D;SkyBlue", Plastic3DLookAndFeel.class.getName() + ";" + SkyBlue.class.getName()); put("Plastic3D;SkyGreen", Plastic3DLookAndFeel.class.getName() + ";" + SkyGreen.class.getName()); put("Plastic3D;SkyKrupp", Plastic3DLookAndFeel.class.getName() + ";" + SkyKrupp.class.getName()); put("Plastic3D;SkyRed", Plastic3DLookAndFeel.class.getName() + ";" + SkyRed.class.getName()); put("Plastic3D;SkyYello", Plastic3DLookAndFeel.class.getName() + ";" + SkyYellow.class.getName()); put("Plastic3D;DesertGreen", Plastic3DLookAndFeel.class.getName() + ";" + DesertGreen.class.getName()); put("Plastic3D;DesertRed", Plastic3DLookAndFeel.class.getName() + ";" + DesertRed.class.getName()); put("Plastic3D;DesertYellow", Plastic3DLookAndFeel.class.getName() + ";" + DesertYellow.class.getName()); put("Plastic3D;Ocean", Plastic3DLookAndFeel.class.getName() + ";" + OceanTheme.class.getName()); put("Plastic3D;ExperienceGreen", Plastic3DLookAndFeel.class.getName() + ";" + ExperienceGreen.class.getName()); put("Plastic3D;ExperienceRoyale", Plastic3DLookAndFeel.class.getName() + ";" + ExperienceRoyale.class.getName()); put("PlasticXP;SkyBlue", PlasticXPLookAndFeel.class.getName() + ";" + SkyBlue.class.getName()); put("PlasticXP;SkyGreen", PlasticXPLookAndFeel.class.getName() + ";" + SkyGreen.class.getName()); put("PlasticXP;SkyKrupp", PlasticXPLookAndFeel.class.getName() + ";" + SkyKrupp.class.getName()); put("PlasticXP;SkyRed", PlasticXPLookAndFeel.class.getName() + ";" + SkyRed.class.getName()); put("PlasticXP;SkyYello", PlasticXPLookAndFeel.class.getName() + ";" + SkyYellow.class.getName()); put("PlasticXP;DesertGreen", PlasticXPLookAndFeel.class.getName() + ";" + DesertGreen.class.getName()); put("PlasticXP;DesertRed", PlasticXPLookAndFeel.class.getName() + ";" + DesertRed.class.getName()); put("PlasticXP;DesertYellow", PlasticXPLookAndFeel.class.getName() + ";" + DesertYellow.class.getName()); put("PlasticXP;Ocean", PlasticXPLookAndFeel.class.getName() + ";" + OceanTheme.class.getName()); put("PlasticXP;ExperienceGreen", PlasticXPLookAndFeel.class.getName() + ";" + ExperienceGreen.class.getName()); put("PlasticXP;ExperienceRoyale", PlasticXPLookAndFeel.class.getName() + ";" + ExperienceRoyale.class.getName()); put("Web Look and Feel", com.alee.laf.WebLookAndFeel.class.getName()); final LookAndFeelInfo[] installedLookAndFeels = UIManager.getInstalledLookAndFeels(); for(LookAndFeelInfo laf : installedLookAndFeels) { String className = laf.getClassName(); String name = className.substring(className.lastIndexOf('.') + 1); if(name.startsWith("Motif")) { continue; } if(name.contains("LookAndFeel")) { name = name.substring(0, name.indexOf("LookAndFeel")); } put(name, className); } } }; }