private void loadQSButtonActionPerformed(java.awt.event.ActionEvent evt) {// GEN-FIRST:event_loadQSButtonActionPerformed
		if (this.romHandler == null) {
			return;
		}
		qsOpenChooser.setSelectedFile(null);
		int returnVal = qsOpenChooser.showOpenDialog(this);
		if (returnVal == JFileChooser.APPROVE_OPTION) {
			File fh = qsOpenChooser.getSelectedFile();
			try {
				FileInputStream fis = new FileInputStream(fh);
				int version = fis.read();
				if (version < PRESET_FILE_VERSION) {
					JOptionPane
							.showMessageDialog(
									this,
									bundle.getString("RandomizerGUI.settingsFileOlder"));
					fis.close();
					return;
				} else if (version > PRESET_FILE_VERSION) {
					JOptionPane
							.showMessageDialog(
									this,
									bundle.getString("RandomizerGUI.settingsFileNewer"));
					fis.close();
					return;
				}
				int cslength = fis.read();
				byte[] csBuf = new byte[cslength];
				fis.read(csBuf);
				fis.close();
				String configString = new String(csBuf, "UTF-8");
				String romName = getValidRequiredROMName(configString,
						new byte[] {}, new byte[] {}, new byte[] {});
				if (romName == null) {
					JOptionPane.showMessageDialog(this, bundle
							.getString("RandomizerGUI.invalidSettingsFile"));
				}
				// now we just load it
				initialFormState();
				romLoaded();
				restoreFrom(configString);
				JCheckBox[] checkboxes = new JCheckBox[] { this.brokenMovesCB,
						this.codeTweaksCB, this.goLowerCaseNamesCheckBox,
						this.goNationalDexCheckBox,
						this.goRemoveTradeEvosCheckBox,
						this.goUpdateMovesCheckBox, this.goUpdateTypesCheckBox,
						this.spHeldItemsCB, this.paWonderGuardCB,
						this.raceModeCB, this.randomizeHollowsCB,
						this.tcnRandomizeCB, this.tnRandomizeCB,
						this.tpNoEarlyShedinjaCB, this.tpNoLegendariesCB,
						this.tpPowerLevelsCB, this.tpRivalCarriesStarterCB,
						this.tpTypeWeightingCB, this.wpCatchRateCB,
						this.wpNoLegendariesCB, this.wpUseTimeCB,
						this.igtRandomItemCB, this.igtRandomIVsCB,
						this.igtRandomNicknameCB, this.igtRandomOTCB };
				for (JCheckBox cb : checkboxes) {
					if (!cb.isEnabled() || !cb.isVisible()) {
						cb.setSelected(false);
					}
				}

				if (!this.romHandler.canChangeStaticPokemon()) {
					this.stpUnchangedRB.setSelected(true);
				}

				JOptionPane.showMessageDialog(this, String.format(
						bundle.getString("RandomizerGUI.settingsLoaded"),
						fh.getName()));
			} catch (IOException ex) {
				JOptionPane.showMessageDialog(this,
						bundle.getString("RandomizerGUI.settingsLoadFailed"));
			} catch (InvalidSupplementFilesException e) {
				// not possible
			}
		}
	}