(final String skinName)
| 1135 | private static boolean loaded = false; |
| 1136 | |
| 1137 | public static void changeSkin(final String skinName) { |
| 1138 | final ForgePreferences prefs = FModel.getPreferences(); |
| 1139 | if (skinName.equals(prefs.getPref(FPref.UI_SKIN))) { return; } |
| 1140 | |
| 1141 | //save skin preference |
| 1142 | prefs.setPref(FPref.UI_SKIN, skinName); |
| 1143 | prefs.save(); |
| 1144 | |
| 1145 | //load skin |
| 1146 | loaded = false; //reset this temporarily until end of loadFull() |
| 1147 | loadLight(skinName, false); |
| 1148 | loadFull(false); |
| 1149 | |
| 1150 | //refresh certain components skinned via look and feel |
| 1151 | Singletons.getControl().getForgeMenu().refresh(); |
| 1152 | FComboBoxWrapper.refreshAllSkins(); |
| 1153 | FComboBoxPanel.refreshAllSkins(); |
| 1154 | |
| 1155 | //repaint main frame to ensure all visible components apply the new skin |
| 1156 | Singletons.getView().getFrame().repaint(); |
| 1157 | } |
| 1158 | |
| 1159 | /** |
| 1160 | * Loads a "light" version of FSkin, just enough for the splash screen: |
no test coverage detected