Ticket #1589: LafPreference.diff

File LafPreference.diff, 1.4 KB (added by Henry Loenwind, 16 years ago)
  • src/org/openstreetmap/josm/gui/preferences/LafPreference.java

     
    44import static org.openstreetmap.josm.tools.I18n.tr;
    55
    66import java.awt.Component;
     7import java.lang.reflect.*;
    78
    89import javax.swing.DefaultListCellRenderer;
    910import javax.swing.JComboBox;
     
    2627        public void addGui(PreferenceDialog gui) {
    2728                lafCombo = new JComboBox(UIManager.getInstalledLookAndFeels());
    2829               
     30                if (Main.withOSXIntegration) {
     31                        try {
     32                                // let's try to load the QuaQua LookAndFeel and put it into the list
     33                                Class Cquaqua = Class.forName("ch.randelshofer.quaqua.QuaquaLookAndFeel");
     34                                Object Oquaqua = Cquaqua.getConstructor((Class[])null).newInstance((Object[])null);
     35                                // no exception? Then Go!
     36                                lafCombo.addItem(
     37                                        new UIManager.LookAndFeelInfo(((javax.swing.LookAndFeel)Oquaqua).getName(), "ch.randelshofer.quaqua.QuaquaLookAndFeel")
     38                                );
     39                        } catch (Exception ex) {
     40                                // just ignore, Quaqua may not even be installed...
     41                                //System.out.println("Failed to load Quaqua: " + ex);
     42                        }
     43                }
     44
    2945                String laf = Main.pref.get("laf");
    3046                for (int i = 0; i < lafCombo.getItemCount(); ++i) {
    3147                        if (((LookAndFeelInfo)lafCombo.getItemAt(i)).getClassName().equals(laf)) {