/* This file is part of jpcsp. Jpcsp is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Jpcsp is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Jpcsp. If not, see <http://www.gnu.org/licenses/>. */ package jpcsp.GUI; import java.awt.DisplayMode; import java.awt.GraphicsDevice; import java.awt.GraphicsEnvironment; import java.util.HashSet; import java.util.Set; import javax.swing.ComboBoxModel; import javax.swing.DefaultComboBoxModel; import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JRadioButton; import javax.swing.JSpinner; import javax.swing.JTextField; import javax.swing.MutableComboBoxModel; import jpcsp.Emulator; import jpcsp.MainGUI; import jpcsp.HLE.modules.sceUtility; import jpcsp.settings.Settings; import com.jidesoft.swing.FolderChooser; import java.io.File; import javax.swing.DefaultListModel; import javax.swing.ListSelectionModel; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import jpcsp.WindowPropSaver; import jpcsp.util.JpcspDialogManager; /** * * @author shadow */ public class SettingsGUI extends javax.swing.JFrame { private static final long serialVersionUID = -732715495873159718L; private Settings settings; /** * Creates new form SettingsGUI */ public SettingsGUI() { settings = Settings.getInstance(); initComponents(); setAllComponentsFromSettings(); lbUMDPaths.getSelectionModel().addListSelectionListener(new ListSelectionListener() { @Override public void valueChanged(ListSelectionEvent e) { // make sure that at least one UMD path is always in the list btnUMDPathRemove.setEnabled(!((ListSelectionModel) e.getSource()).isSelectionEmpty() && lbUMDPaths.getModel().getSize() > 1); } }); WindowPropSaver.loadWindowProperties(this); } private void setAllComponentsFromSettings() { setBoolFromSettings(pbpunpackcheck, "emu.pbpunpack"); setBoolFromSettings(saveWindowPosCheck, "gui.saveWindowPos"); setBoolFromSettings(fullscreenCheck, "gui.fullscreen"); setBoolFromSettings(useCompiler, "emu.compiler"); setBoolFromSettings(profilerCheck, "emu.profiler"); setBoolFromSettings(shadersCheck, "emu.useshaders"); setBoolFromSettings(geometryShaderCheck, "emu.useGeometryShader"); setBoolFromSettings(loadAndRunCheck, "emu.loadAndRun"); setIntFromSettings(languageBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_LANGUAGE); setIntFromSettings(buttonBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_BUTTON_PREFERENCE); setIntFromSettings(daylightBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_DAYLIGHT_SAVING_TIME); setIntFromSettings(timezoneSpinner, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_TIME_ZONE); setIntFromSettings(timeFormatBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_TIME_FORMAT); setIntFromSettings(dateFormatBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_DATE_FORMAT); setIntFromSettings(wlanPowerBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_WLAN_POWER_SAVE); setIntFromSettings(adhocChannelBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_ADHOC_CHANNEL); setStringFromSettings(nicknameTextField, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_NICKNAME); setBoolFromSettings(disableVBOCheck, "emu.disablevbo"); setBoolFromSettings(disableUBOCheck, "emu.disableubo"); setBoolFromSettings(enableVAOCheck, "emu.enablevao"); setBoolFromSettings(enableGETextureCheck, "emu.enablegetexture"); setBoolFromSettings(enableNativeCLUTCheck, "emu.enablenativeclut"); setBoolFromSettings(enableDynamicShadersCheck, "emu.enabledynamicshaders"); setBoolFromSettings(enableShaderStencilTestCheck, "emu.enableshaderstenciltest"); setBoolFromSettings(enableShaderColorMaskCheck, "emu.enableshadercolormask"); setBoolFromSettings(disableOptimizedVertexInfoReading, "emu.disableoptimizedvertexinforeading"); setBoolFromSettings(saveStencilToMemory, "emu.saveStencilToMemory"); setBoolFromSettings(useSoftwareRenderer, "emu.useSoftwareRenderer"); setBoolFromSettings(useExternalSoftwareRenderer, "emu.useExternalSoftwareRenderer"); //set opengl render selected if none of the other renders are selected if (!useSoftwareRenderer.isSelected() && !useExternalSoftwareRenderer.isSelected()) { useOpenglRenderer.setSelected(true); } setBoolFromSettings(onlyGEGraphicsCheck, "emu.onlyGEGraphics"); setBoolFromSettings(useDebugFont, "emu.useDebugFont"); setBoolFromSettings(useDebugMemory, "emu.useDebuggerMemory"); setBoolFromSettings(useVertexCache, "emu.useVertexCache"); setBoolFromSettings(invalidMemoryCheck, "emu.ignoreInvalidMemoryAccess"); setBoolFromSettings(ignoreUnmappedImports, "emu.ignoreUnmappedImports"); setIntAsStringFromSettings(methodMaxInstructionsBox, "emu.compiler.methodMaxInstructions", 3000); setBoolFromSettings(extractEboot, "emu.extractEboot"); setBoolFromSettings(cryptoSavedata, "emu.cryptoSavedata"); setBoolFromSettings(extractPGD, "emu.extractPGD"); setBoolFromSettings(extractSavedataKey, "emu.extractSavedataKey"); setBoolFromSettings(disableDLC, "emu.disableDLC"); setStringFromSettings(antiAliasingBox, "emu.graphics.antialias"); setStringFromSettings(resolutionBox, "emu.graphics.resolution"); setStringFromSettings(tmppath, "emu.tmppath"); setIntFromSettings(modelBox, "emu.model"); setBoolFromSettings(umdBrowser, classicUmdDialog, "emu.umdbrowser"); setStringFromSettings(metaServerTextField, "network.ProOnline.metaServer"); setStringFromSettings(broadcastAddressTextField, "network.broadcastAddress"); setBoolFromSettings(lanMultiPlayerRadioButton, "emu.lanMultiPlayer"); setBoolFromSettings(netServerPortShiftRadioButton, "emu.netServerPortShift"); setBoolFromSettings(netClientPortShiftRadioButton, "emu.netClientPortShift"); setBoolFromSettings(enableProOnlineRadioButton, "emu.enableProOnline"); // special handling for UMD paths DefaultListModel dlm = (DefaultListModel) lbUMDPaths.getModel(); dlm.clear(); dlm.addElement(settings.readString("emu.umdpath")); for (int i = 1; true; i++) { String umdPath = settings.readString(String.format("emu.umdpath.%d", i), null); if (umdPath == null) { break; } // elements should only be added once if (!dlm.contains(umdPath)) { dlm.addElement(umdPath); } } } private boolean isEnabledSettings(String settingsOption) { return !settings.isOptionFromPatch(settingsOption); } private void setBoolFromSettings(JRadioButton trueButton, JRadioButton falseButton, String settingsOption) { boolean value = settings.readBool(settingsOption); trueButton.setSelected(value); falseButton.setSelected(!value); trueButton.setEnabled(isEnabledSettings(settingsOption)); falseButton.setEnabled(isEnabledSettings(settingsOption)); } private void setBoolFromSettings(JRadioButton radioButton, String settingsOption) { radioButton.setSelected(settings.readBool(settingsOption)); radioButton.setEnabled(isEnabledSettings(settingsOption)); } private void setBoolFromSettings(JCheckBox checkBox, String settingsOption) { checkBox.setSelected(settings.readBool(settingsOption)); checkBox.setEnabled(isEnabledSettings(settingsOption)); } private void setIntFromSettings(JComboBox comboBox, String settingsOption) { comboBox.setSelectedIndex(settings.readInt(settingsOption)); comboBox.setEnabled(isEnabledSettings(settingsOption)); } private void setIntAsStringFromSettings(JComboBox comboBox, String settingsOption, int defaultValue) { comboBox.setSelectedItem(Integer.toString(settings.readInt(settingsOption, defaultValue))); comboBox.setEnabled(isEnabledSettings(settingsOption)); } private void setIntFromSettings(JSpinner spinner, String settingsOption) { spinner.setValue(settings.readInt(settingsOption)); spinner.setEnabled(isEnabledSettings(settingsOption)); } private void setStringFromSettings(JComboBox comboBox, String settingsOption) { comboBox.setSelectedItem(settings.readString(settingsOption)); comboBox.setEnabled(isEnabledSettings(settingsOption)); } private void setStringFromSettings(JTextField textField, String settingsOption) { textField.setText(settings.readString(settingsOption)); textField.setEnabled(isEnabledSettings(settingsOption)); } private void setAllComponentsToSettings() { setBoolToSettings(pbpunpackcheck, "emu.pbpunpack"); setBoolToSettings(saveWindowPosCheck, "gui.saveWindowPos"); setBoolToSettings(fullscreenCheck, "gui.fullscreen"); setBoolToSettings(useCompiler, "emu.compiler"); setBoolToSettings(profilerCheck, "emu.profiler"); setBoolToSettings(shadersCheck, "emu.useshaders"); setBoolToSettings(geometryShaderCheck, "emu.useGeometryShader"); setBoolToSettings(loadAndRunCheck, "emu.loadAndRun"); setIntToSettings(languageBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_LANGUAGE); setIntToSettings(buttonBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_BUTTON_PREFERENCE); setIntToSettings(daylightBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_DAYLIGHT_SAVING_TIME); setIntToSettings(timezoneSpinner, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_TIME_ZONE); setIntToSettings(timeFormatBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_TIME_FORMAT); setIntToSettings(dateFormatBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_DATE_FORMAT); setIntToSettings(wlanPowerBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_WLAN_POWER_SAVE); setIntToSettings(adhocChannelBox, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_ADHOC_CHANNEL); setStringToSettings(nicknameTextField, sceUtility.SYSTEMPARAM_SETTINGS_OPTION_NICKNAME); setBoolToSettings(disableVBOCheck, "emu.disablevbo"); setBoolToSettings(disableUBOCheck, "emu.disableubo"); setBoolToSettings(enableVAOCheck, "emu.enablevao"); setBoolToSettings(enableGETextureCheck, "emu.enablegetexture"); setBoolToSettings(enableNativeCLUTCheck, "emu.enablenativeclut"); setBoolToSettings(enableDynamicShadersCheck, "emu.enabledynamicshaders"); setBoolToSettings(enableShaderStencilTestCheck, "emu.enableshaderstenciltest"); setBoolToSettings(enableShaderColorMaskCheck, "emu.enableshadercolormask"); setBoolToSettings(disableOptimizedVertexInfoReading, "emu.disableoptimizedvertexinforeading"); setBoolToSettings(saveStencilToMemory, "emu.saveStencilToMemory"); setBoolToSettings(useSoftwareRenderer, "emu.useSoftwareRenderer"); setBoolToSettings(useExternalSoftwareRenderer, "emu.useExternalSoftwareRenderer"); //set opengl render selected if none of the other renders are selected if (!useSoftwareRenderer.isSelected() && !useExternalSoftwareRenderer.isSelected()) { useOpenglRenderer.setSelected(true); } setBoolToSettings(onlyGEGraphicsCheck, "emu.onlyGEGraphics"); setBoolToSettings(useDebugFont, "emu.useDebugFont"); setBoolToSettings(useDebugMemory, "emu.useDebuggerMemory"); setBoolToSettings(useVertexCache, "emu.useVertexCache"); setBoolToSettings(invalidMemoryCheck, "emu.ignoreInvalidMemoryAccess"); setBoolToSettings(ignoreUnmappedImports, "emu.ignoreUnmappedImports"); setIntAsStringToSettings(methodMaxInstructionsBox, "emu.compiler.methodMaxInstructions", 3000); setBoolToSettings(extractEboot, "emu.extractEboot"); setBoolToSettings(cryptoSavedata, "emu.cryptoSavedata"); setBoolToSettings(extractPGD, "emu.extractPGD"); setBoolToSettings(extractSavedataKey, "emu.extractSavedataKey"); setBoolToSettings(disableDLC, "emu.disableDLC"); setStringToSettings(antiAliasingBox, "emu.graphics.antialias"); setStringToSettings(resolutionBox, "emu.graphics.resolution"); setStringToSettings(tmppath, "emu.tmppath"); setIntToSettings(modelBox, "emu.model"); setBoolToSettings(umdBrowser, "emu.umdbrowser"); setStringToSettings(metaServerTextField, "network.ProOnline.metaServer"); setStringToSettings(broadcastAddressTextField,"network.broadcastAddress"); setBoolToSettings(lanMultiPlayerRadioButton, "emu.lanMultiPlayer"); setBoolToSettings(netServerPortShiftRadioButton, "emu.netServerPortShift"); setBoolToSettings(netClientPortShiftRadioButton, "emu.netClientPortShift"); setBoolToSettings(enableProOnlineRadioButton, "emu.enableProOnline"); // special handling for UMD paths DefaultListModel dlm = (DefaultListModel) lbUMDPaths.getModel(); settings.writeString("emu.umdpath", (String) dlm.getElementAt(0)); for (int i = 1; i < dlm.getSize(); i++) { settings.writeString(String.format("emu.umdpath.%d", i), (String) dlm.getElementAt(i)); } // clean excess elements for (int i = dlm.getSize(); true; i++) { if (settings.hasProperty(String.format("emu.umdpath.%d", i))) { settings.clearProperty(String.format("emu.umdpath.%d", i)); } else { break; } } } private void setBoolToSettings(JRadioButton radioButton, String settingsOption) { if (isEnabledSettings(settingsOption)) { settings.writeBool(settingsOption, radioButton.isSelected()); } } private void setBoolToSettings(JCheckBox checkBox, String settingsOption) { if (isEnabledSettings(settingsOption)) { settings.writeBool(settingsOption, checkBox.isSelected()); } } private void setIntToSettings(JComboBox comboBox, String settingsOption) { if (isEnabledSettings(settingsOption)) { settings.writeInt(settingsOption, comboBox.getSelectedIndex()); } } private void setIntAsStringToSettings(JComboBox comboBox, String settingsOption, int defaultValue) { if (isEnabledSettings(settingsOption)) { settings.writeInt(settingsOption, Integer.parseInt(comboBox.getSelectedItem().toString())); } } private void setIntToSettings(JSpinner spinner, String settingsOption) { if (isEnabledSettings(settingsOption)) { settings.writeInt(settingsOption, Integer.parseInt(spinner.getValue().toString())); } } private void setStringToSettings(JComboBox comboBox, String settingsOption) { if (isEnabledSettings(settingsOption)) { settings.writeString(settingsOption, comboBox.getSelectedItem().toString()); } } private void setStringToSettings(JTextField textField, String settingsOption) { if (isEnabledSettings(settingsOption)) { settings.writeString(settingsOption, textField.getText()); } } private ComboBoxModel makeComboBoxModel(String[] items) { MutableComboBoxModel comboBox = new DefaultComboBoxModel(); for (String item : items) { comboBox.addElement(item); } return comboBox; } public static String[] getImposeLanguages() { return new String[]{ "Japanese", "English", "French", "Spanish", "German", "Italian", "Dutch", "Portuguese", "Russian", "Korean", "Traditional Chinese", "Simplfied Chinese" }; } public static String[] getImposeButtons() { return new String[]{ "\"O\" for \"Enter\"", "\"X\" for \"Enter\"" }; } public static String[] getSysparamDaylightSavings() { return new String[]{ "Off", "On" }; } public static String[] getSysparamTimeFormats() { return new String[]{ "24H", "12H" }; } public static String[] getSysparamDateFormats() { return new String[]{ "YYYY-MM-DD", "MM-DD-YYYY", "DD-MM-YYYY" }; } public static String[] getSysparamWlanPowerSaves() { return new String[]{ "Off", "On" }; } public static String[] getSysparamAdhocChannels() { return new String[]{ "Auto", "1", "6", "11" }; } private ComboBoxModel makeResolutions() { MutableComboBoxModel comboBox = new DefaultComboBoxModel(); comboBox.addElement("Native"); Set<String> resolutions = new HashSet<String>(); GraphicsDevice localDevice = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice(); DisplayMode[] displayModes = localDevice.getDisplayModes(); for (int i = 0; displayModes != null && i < displayModes.length; i++) { DisplayMode displayMode = displayModes[i]; if (displayMode.getBitDepth() == MainGUI.displayModeBitDepth) { String resolution = String.format("%dx%d", displayMode.getWidth(), displayMode.getHeight()); if (!resolutions.contains(resolution)) { comboBox.addElement(resolution); resolutions.add(resolution); } } } return comboBox; } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { buttonGroup1 = new javax.swing.ButtonGroup(); buttonGroup2 = new javax.swing.ButtonGroup(); buttonGroup3 = new javax.swing.ButtonGroup(); jButtonOK = new javax.swing.JButton(); jButtonApply = new javax.swing.JButton(); jTabbedPane1 = new javax.swing.JTabbedPane(); GeneralPanel = new javax.swing.JPanel(); pbpunpackcheck = new javax.swing.JCheckBox(); saveWindowPosCheck = new javax.swing.JCheckBox(); loadAndRunCheck = new javax.swing.JCheckBox(); umdBrowser = new javax.swing.JRadioButton(); classicUmdDialog = new javax.swing.JRadioButton(); umdPathLabel = new javax.swing.JLabel(); tmpPathLabel = new javax.swing.JLabel(); tmppath = new javax.swing.JTextField(); tmpPathBrowseButton = new javax.swing.JButton(); jScrollPane1 = new javax.swing.JScrollPane(); lbUMDPaths = new javax.swing.JList(); btnUMDPathRemove = new javax.swing.JButton(); btnUMDPathAdd = new javax.swing.JButton(); modelLabel = new javax.swing.JLabel(); modelBox = new javax.swing.JComboBox(); RegionPanel = new javax.swing.JPanel(); jPanel1 = new javax.swing.JPanel(); imposeLabel = new javax.swing.JLabel(); jPanel2 = new javax.swing.JPanel(); languageLabel = new javax.swing.JLabel(); languageBox = new javax.swing.JComboBox(); buttonLabel = new javax.swing.JLabel(); buttonBox = new javax.swing.JComboBox(); jPanel4 = new javax.swing.JPanel(); jPanel5 = new javax.swing.JPanel(); sysParmLabel = new javax.swing.JLabel(); jPanel3 = new javax.swing.JPanel(); daylightLabel = new javax.swing.JLabel(); daylightBox = new javax.swing.JComboBox(); timeFormatLabel = new javax.swing.JLabel(); timeFormatBox = new javax.swing.JComboBox(); dateFormatLabel = new javax.swing.JLabel(); dateFormatBox = new javax.swing.JComboBox(); wlanPowerLabel = new javax.swing.JLabel(); wlanPowerBox = new javax.swing.JComboBox(); adhocChannelLabel = new javax.swing.JLabel(); adhocChannelBox = new javax.swing.JComboBox(); timezoneLabel = new javax.swing.JLabel(); timezoneSpinner = new javax.swing.JSpinner(); nicknamelLabel = new javax.swing.JLabel(); nicknameTextField = new javax.swing.JTextField(); VideoPanel = new javax.swing.JPanel(); disableVBOCheck = new javax.swing.JCheckBox(); onlyGEGraphicsCheck = new javax.swing.JCheckBox(); useVertexCache = new javax.swing.JCheckBox(); shadersCheck = new javax.swing.JCheckBox(); geometryShaderCheck = new javax.swing.JCheckBox(); disableUBOCheck = new javax.swing.JCheckBox(); enableVAOCheck = new javax.swing.JCheckBox(); enableGETextureCheck = new javax.swing.JCheckBox(); enableNativeCLUTCheck = new javax.swing.JCheckBox(); enableDynamicShadersCheck = new javax.swing.JCheckBox(); enableShaderStencilTestCheck = new javax.swing.JCheckBox(); enableShaderColorMaskCheck = new javax.swing.JCheckBox(); disableOptimizedVertexInfoReading = new javax.swing.JCheckBox(); saveStencilToMemory = new javax.swing.JCheckBox(); renderPanel = new javax.swing.JPanel(); useOpenglRenderer = new javax.swing.JRadioButton(); useSoftwareRenderer = new javax.swing.JRadioButton(); useExternalSoftwareRenderer = new javax.swing.JRadioButton(); MemoryPanel = new javax.swing.JPanel(); invalidMemoryCheck = new javax.swing.JCheckBox(); ignoreUnmappedImports = new javax.swing.JCheckBox(); useDebugMemory = new javax.swing.JCheckBox(); CompilerPanel = new javax.swing.JPanel(); useCompiler = new javax.swing.JCheckBox(); methodMaxInstructionsBox = new javax.swing.JComboBox(); profilerCheck = new javax.swing.JCheckBox(); methodMaxInstructionsLabel = new javax.swing.JLabel(); DisplayPanel = new javax.swing.JPanel(); antiAliasLabel = new javax.swing.JLabel(); antiAliasingBox = new javax.swing.JComboBox(); resolutionLabel = new javax.swing.JLabel(); resolutionBox = new javax.swing.JComboBox(); fullscreenCheck = new javax.swing.JCheckBox(); MiscPanel = new javax.swing.JPanel(); useDebugFont = new javax.swing.JCheckBox(); CryptoPanel = new javax.swing.JPanel(); extractEboot = new javax.swing.JCheckBox(); cryptoSavedata = new javax.swing.JCheckBox(); extractPGD = new javax.swing.JCheckBox(); extractSavedataKey = new javax.swing.JCheckBox(); disableDLC = new javax.swing.JCheckBox(); networkPanel = new javax.swing.JPanel(); lanMultiPlayerRadioButton = new javax.swing.JRadioButton(); netServerPortShiftRadioButton = new javax.swing.JRadioButton(); netClientPortShiftRadioButton = new javax.swing.JRadioButton(); enableProOnlineRadioButton = new javax.swing.JRadioButton(); lanMultiPlayerLabel = new javax.swing.JLabel(); netServerPortShiftLabel = new javax.swing.JLabel(); netClientPortShiftLabel = new javax.swing.JLabel(); enableProOnlineLabel = new javax.swing.JLabel(); metaServerLabel = new javax.swing.JLabel(); metaServerTextField = new javax.swing.JTextField(); metaServerRemindLabel = new javax.swing.JLabel(); broadcastAddressLabel = new javax.swing.JLabel(); broadcastAddressTextField = new javax.swing.JTextField(); broadcastAddressRemindLabel = new javax.swing.JLabel(); cancelButton = new jpcsp.GUI.CancelButton(); java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("jpcsp/languages/jpcsp"); // NOI18N setTitle(bundle.getString("SettingsGUI.title")); // NOI18N jButtonOK.setText(bundle.getString("OkButton.text")); // NOI18N jButtonOK.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonOKActionPerformed(evt); } }); jButtonApply.setText(bundle.getString("SettingsGUI.jButtonApply.text")); // NOI18N jButtonApply.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonApplyActionPerformed(evt); } }); pbpunpackcheck.setText(bundle.getString("SettingsGUI.pbpunpackcheck.text")); // NOI18N saveWindowPosCheck.setText(bundle.getString("SettingsGUI.saveWindowPosCheck.text")); // NOI18N loadAndRunCheck.setText(bundle.getString("SettingsGUI.loadAndRunCheck.text")); // NOI18N buttonGroup1.add(umdBrowser); umdBrowser.setText(bundle.getString("SettingsGUI.umdBrowser.text")); // NOI18N buttonGroup1.add(classicUmdDialog); classicUmdDialog.setText(bundle.getString("SettingsGUI.classicUmdDialog.text")); // NOI18N umdPathLabel.setText(bundle.getString("SettingsGUI.umdPathLabel.text")); // NOI18N tmpPathLabel.setText(bundle.getString("SettingsGUI.tmpPathLabel.text")); // NOI18N tmppath.setEditable(false); tmppath.setText("tmp"); // NOI18N tmpPathBrowseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/jpcsp/icons/AddFolderIcon.png"))); // NOI18N tmpPathBrowseButton.setPreferredSize(new java.awt.Dimension(26, 26)); tmpPathBrowseButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { tmpPathBrowseButtonActionPerformed(evt); } }); lbUMDPaths.setFont(new java.awt.Font("Dialog", 0, 12)); // NOI18N lbUMDPaths.setModel(new DefaultListModel()); lbUMDPaths.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION); jScrollPane1.setViewportView(lbUMDPaths); btnUMDPathRemove.setIcon(new javax.swing.ImageIcon(getClass().getResource("/jpcsp/icons/DeleteIcon.png"))); // NOI18N btnUMDPathRemove.setEnabled(false); btnUMDPathRemove.setPreferredSize(new java.awt.Dimension(26, 26)); btnUMDPathRemove.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnUMDPathRemoveActionPerformed(evt); } }); btnUMDPathAdd.setIcon(new javax.swing.ImageIcon(getClass().getResource("/jpcsp/icons/AddFolderIcon.png"))); // NOI18N btnUMDPathAdd.setPreferredSize(new java.awt.Dimension(26, 26)); btnUMDPathAdd.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { btnUMDPathAddActionPerformed(evt); } }); modelLabel.setText(bundle.getString("SettingsGUI.modelLabel.text")); // NOI18N modelBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "PSP-1000", "PSP-2000", "PSP-3000", "PSP-3000 (V2)", "PSP-N1000 (GO)" })); javax.swing.GroupLayout GeneralPanelLayout = new javax.swing.GroupLayout(GeneralPanel); GeneralPanel.setLayout(GeneralPanelLayout); GeneralPanelLayout.setHorizontalGroup( GeneralPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(GeneralPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(GeneralPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(GeneralPanelLayout.createSequentialGroup() .addComponent(pbpunpackcheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(431, 431, 431)) .addGroup(GeneralPanelLayout.createSequentialGroup() .addComponent(saveWindowPosCheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(493, 493, 493)) .addGroup(GeneralPanelLayout.createSequentialGroup() .addComponent(loadAndRunCheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(489, 489, 489)) .addGroup(GeneralPanelLayout.createSequentialGroup() .addComponent(umdBrowser, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(582, 582, 582)) .addGroup(GeneralPanelLayout.createSequentialGroup() .addComponent(classicUmdDialog, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(482, 482, 482)) .addGroup(GeneralPanelLayout.createSequentialGroup() .addGroup(GeneralPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(umdPathLabel) .addComponent(tmpPathLabel) .addComponent(modelLabel)) .addGap(21, 21, 21) .addGroup(GeneralPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(GeneralPanelLayout.createSequentialGroup() .addComponent(modelBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(0, 0, Short.MAX_VALUE)) .addGroup(GeneralPanelLayout.createSequentialGroup() .addGroup(GeneralPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 385, Short.MAX_VALUE) .addComponent(tmppath)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(GeneralPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(tmpPathBrowseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnUMDPathRemove, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(btnUMDPathAdd, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))) ); GeneralPanelLayout.setVerticalGroup( GeneralPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(GeneralPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(pbpunpackcheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(saveWindowPosCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(loadAndRunCheck) .addGap(18, 18, 18) .addComponent(umdBrowser) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(classicUmdDialog) .addGap(18, 18, 18) .addGroup(GeneralPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addGroup(GeneralPanelLayout.createSequentialGroup() .addComponent(umdPathLabel) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(btnUMDPathAdd, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(btnUMDPathRemove, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(18, 18, 18) .addGroup(GeneralPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(GeneralPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(tmppath, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(tmpPathLabel)) .addComponent(tmpPathBrowseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(22, 22, 22) .addGroup(GeneralPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(modelLabel) .addComponent(modelBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addContainerGap(116, Short.MAX_VALUE)) ); jTabbedPane1.addTab(bundle.getString("SettingsGUI.GeneralPanel.title"), GeneralPanel); // NOI18N jPanel1.setLayout(new java.awt.GridLayout(20, 2, 10, 0)); imposeLabel.setText(bundle.getString("SettingsGUI.imposeLabel.text")); // NOI18N jPanel1.add(imposeLabel); javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2); jPanel2.setLayout(jPanel2Layout); jPanel2Layout.setHorizontalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 758, Short.MAX_VALUE) ); jPanel2Layout.setVerticalGroup( jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 23, Short.MAX_VALUE) ); jPanel1.add(jPanel2); languageLabel.setText(bundle.getString("SettingsGUI.languageLabel.text")); // NOI18N jPanel1.add(languageLabel); languageBox.setModel(makeComboBoxModel(getImposeLanguages())); jPanel1.add(languageBox); buttonLabel.setText(bundle.getString("SettingsGUI.buttonLabel.text")); // NOI18N jPanel1.add(buttonLabel); buttonBox.setModel(makeComboBoxModel(getImposeButtons())); jPanel1.add(buttonBox); javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4); jPanel4.setLayout(jPanel4Layout); jPanel4Layout.setHorizontalGroup( jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 758, Short.MAX_VALUE) ); jPanel4Layout.setVerticalGroup( jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 23, Short.MAX_VALUE) ); jPanel1.add(jPanel4); javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5); jPanel5.setLayout(jPanel5Layout); jPanel5Layout.setHorizontalGroup( jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 758, Short.MAX_VALUE) ); jPanel5Layout.setVerticalGroup( jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 23, Short.MAX_VALUE) ); jPanel1.add(jPanel5); sysParmLabel.setText(bundle.getString("SettingsGUI.sysParmLabel.text")); // NOI18N jPanel1.add(sysParmLabel); javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3); jPanel3.setLayout(jPanel3Layout); jPanel3Layout.setHorizontalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 758, Short.MAX_VALUE) ); jPanel3Layout.setVerticalGroup( jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 23, Short.MAX_VALUE) ); jPanel1.add(jPanel3); daylightLabel.setText(bundle.getString("SettingsGUI.daylightLabel.text")); // NOI18N jPanel1.add(daylightLabel); daylightBox.setModel(makeComboBoxModel(getSysparamDaylightSavings())); jPanel1.add(daylightBox); timeFormatLabel.setText(bundle.getString("SettingsGUI.timeFormatLabel.text")); // NOI18N jPanel1.add(timeFormatLabel); timeFormatBox.setModel(makeComboBoxModel(getSysparamTimeFormats())); jPanel1.add(timeFormatBox); dateFormatLabel.setText(bundle.getString("SettingsGUI.dateFormatLabel.text")); // NOI18N jPanel1.add(dateFormatLabel); dateFormatBox.setModel(makeComboBoxModel(getSysparamDateFormats())); jPanel1.add(dateFormatBox); wlanPowerLabel.setText(bundle.getString("SettingsGUI.wlanPowerLabel.text")); // NOI18N jPanel1.add(wlanPowerLabel); wlanPowerBox.setModel(makeComboBoxModel(getSysparamWlanPowerSaves())); jPanel1.add(wlanPowerBox); adhocChannelLabel.setText(bundle.getString("SettingsGUI.adhocChannel.text")); // NOI18N jPanel1.add(adhocChannelLabel); adhocChannelBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Auto", "1", "6", "11" })); jPanel1.add(adhocChannelBox); timezoneLabel.setText(bundle.getString("SettingsGUI.timezoneLabel.text")); // NOI18N jPanel1.add(timezoneLabel); timezoneSpinner.setModel(new javax.swing.SpinnerNumberModel(0, -720, 720, 1)); jPanel1.add(timezoneSpinner); nicknamelLabel.setText(bundle.getString("SettingsGUI.nicknameLabel.text")); // NOI18N jPanel1.add(nicknamelLabel); nicknameTextField.setHorizontalAlignment(javax.swing.JTextField.RIGHT); nicknameTextField.setText("JPCSP"); // NOI18N jPanel1.add(nicknameTextField); javax.swing.GroupLayout RegionPanelLayout = new javax.swing.GroupLayout(RegionPanel); RegionPanel.setLayout(RegionPanelLayout); RegionPanelLayout.setHorizontalGroup( RegionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(RegionPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 1527, Short.MAX_VALUE) .addContainerGap()) ); RegionPanelLayout.setVerticalGroup( RegionPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(RegionPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, 468, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) ); jTabbedPane1.addTab(bundle.getString("SettingsGUI.RegionPanel.title"), RegionPanel); // NOI18N disableVBOCheck.setText(bundle.getString("SettingsGUI.disableVBOCheck.text")); // NOI18N onlyGEGraphicsCheck.setText(bundle.getString("SettingsGUI.onlyGEGraphicsCheck.text")); // NOI18N useVertexCache.setText(bundle.getString("SettingsGUI.useVertexCache.text")); // NOI18N shadersCheck.setText(bundle.getString("SettingsGUI.shaderCheck.text")); // NOI18N geometryShaderCheck.setText(bundle.getString("SettingsGUI.geometryShaderCheck.text")); // NOI18N disableUBOCheck.setText(bundle.getString("SettingsGUI.disableUBOCheck.text")); // NOI18N enableVAOCheck.setText(bundle.getString("SettingsGUI.enableVAOCheck.text")); // NOI18N enableGETextureCheck.setText(bundle.getString("SettingsGUI.enableGETextureCheck.text")); // NOI18N enableNativeCLUTCheck.setText(bundle.getString("SettingsGUI.enableNativeCLUTCheck.text")); // NOI18N enableDynamicShadersCheck.setText(bundle.getString("SettingsGUI.enableDynamicShadersCheck.text")); // NOI18N enableShaderStencilTestCheck.setText(bundle.getString("SettingsGUI.enableShaderStencilTestCheck.text")); // NOI18N enableShaderColorMaskCheck.setText(bundle.getString("SettingsGUI.enableShaderColorMaskCheck.text")); // NOI18N disableOptimizedVertexInfoReading.setText(bundle.getString("SettingsGUI.disableOptimizedVertexInfoReading.text")); // NOI18N saveStencilToMemory.setText(bundle.getString("SettingsGUI.saveStencilToMemory.text")); // NOI18N renderPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, bundle.getString("SettingsGUI.renderPanel.border.title"), javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, null, new java.awt.Color(51, 51, 255))); // NOI18N buttonGroup2.add(useOpenglRenderer); useOpenglRenderer.setText(bundle.getString("SettingsGUI.useOpenglRenderer.text")); // NOI18N buttonGroup2.add(useSoftwareRenderer); useSoftwareRenderer.setText(bundle.getString("SettingsGUI.useSoftwareRenderer.text")); // NOI18N buttonGroup2.add(useExternalSoftwareRenderer); useExternalSoftwareRenderer.setText(bundle.getString("SettingsGUI.useExternalSoftwareRenderer.text")); // NOI18N javax.swing.GroupLayout renderPanelLayout = new javax.swing.GroupLayout(renderPanel); renderPanel.setLayout(renderPanelLayout); renderPanelLayout.setHorizontalGroup( renderPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(renderPanelLayout.createSequentialGroup() .addGroup(renderPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(useExternalSoftwareRenderer) .addComponent(useOpenglRenderer) .addComponent(useSoftwareRenderer)) .addGap(0, 437, Short.MAX_VALUE)) ); renderPanelLayout.setVerticalGroup( renderPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, renderPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(useOpenglRenderer) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(useSoftwareRenderer) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(useExternalSoftwareRenderer) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) ); javax.swing.GroupLayout VideoPanelLayout = new javax.swing.GroupLayout(VideoPanel); VideoPanel.setLayout(VideoPanelLayout); VideoPanelLayout.setHorizontalGroup( VideoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(VideoPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(VideoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(renderPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addContainerGap()) .addGroup(VideoPanelLayout.createSequentialGroup() .addGroup(VideoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(disableVBOCheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(315, 315, 315)) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(onlyGEGraphicsCheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(331, 331, 331)) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(useVertexCache, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(575, 575, 575)) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(shadersCheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(606, 606, 606)) .addComponent(geometryShaderCheck, javax.swing.GroupLayout.PREFERRED_SIZE, 720, javax.swing.GroupLayout.PREFERRED_SIZE) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(disableUBOCheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(64, 64, 64)) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(enableVAOCheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(235, 235, 235)) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(enableGETextureCheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(304, 304, 304)) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(enableNativeCLUTCheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(18, 18, 18)) .addComponent(enableDynamicShadersCheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(enableShaderStencilTestCheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(103, 103, 103)) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(enableShaderColorMaskCheck, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(108, 108, 108)) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(disableOptimizedVertexInfoReading, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(234, 234, 234)) .addGroup(VideoPanelLayout.createSequentialGroup() .addComponent(saveStencilToMemory, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGap(334, 334, 334))) .addGap(17, 17, 17)))) ); VideoPanelLayout.setVerticalGroup( VideoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, VideoPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(renderPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(disableVBOCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(onlyGEGraphicsCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(useVertexCache) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(shadersCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(geometryShaderCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(disableUBOCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(enableVAOCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(enableGETextureCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(enableNativeCLUTCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(enableDynamicShadersCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(enableShaderStencilTestCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(enableShaderColorMaskCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(disableOptimizedVertexInfoReading) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(saveStencilToMemory) .addContainerGap(51, Short.MAX_VALUE)) ); jTabbedPane1.addTab(bundle.getString("SettingsGUI.VideoPanel.title"), VideoPanel); // NOI18N invalidMemoryCheck.setText(bundle.getString("SettingsGUI.invalidMemoryCheck.text")); // NOI18N ignoreUnmappedImports.setText(bundle.getString("SettingsGUI.ignoreUnmappedImports.text")); // NOI18N useDebugMemory.setText(bundle.getString("SettingsGUI.useDebugMemory.text")); // NOI18N javax.swing.GroupLayout MemoryPanelLayout = new javax.swing.GroupLayout(MemoryPanel); MemoryPanel.setLayout(MemoryPanelLayout); MemoryPanelLayout.setHorizontalGroup( MemoryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MemoryPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(MemoryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(invalidMemoryCheck, javax.swing.GroupLayout.DEFAULT_SIZE, 1535, Short.MAX_VALUE) .addComponent(ignoreUnmappedImports, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(useDebugMemory, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); MemoryPanelLayout.setVerticalGroup( MemoryPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MemoryPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(invalidMemoryCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(ignoreUnmappedImports) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(useDebugMemory) .addContainerGap(414, Short.MAX_VALUE)) ); jTabbedPane1.addTab(bundle.getString("SettingsGUI.MemoryPanel.title"), MemoryPanel); // NOI18N useCompiler.setText(bundle.getString("SettingsGUI.useCompiler.text")); // NOI18N methodMaxInstructionsBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "50", "100", "500", "1000", "3000" })); profilerCheck.setText(bundle.getString("SettingsGUI.profileCheck.text")); // NOI18N methodMaxInstructionsLabel.setText(bundle.getString("SettingsGUI.methodMaxInstructionsLabel.text")); // NOI18N javax.swing.GroupLayout CompilerPanelLayout = new javax.swing.GroupLayout(CompilerPanel); CompilerPanel.setLayout(CompilerPanelLayout); CompilerPanelLayout.setHorizontalGroup( CompilerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(CompilerPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(CompilerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(useCompiler, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(profilerCheck, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addGroup(javax.swing.GroupLayout.Alignment.LEADING, CompilerPanelLayout.createSequentialGroup() .addComponent(methodMaxInstructionsBox, javax.swing.GroupLayout.PREFERRED_SIZE, 143, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(methodMaxInstructionsLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 238, javax.swing.GroupLayout.PREFERRED_SIZE))) .addContainerGap(358, Short.MAX_VALUE)) ); CompilerPanelLayout.setVerticalGroup( CompilerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(CompilerPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(useCompiler) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(profilerCheck) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(CompilerPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(methodMaxInstructionsBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(methodMaxInstructionsLabel)) .addContainerGap(415, Short.MAX_VALUE)) ); jTabbedPane1.addTab(bundle.getString("SettingsGUI.CompilerPanel.title"), CompilerPanel); // NOI18N antiAliasLabel.setText(bundle.getString("SettingsGUI.antiAliasLabel.text")); // NOI18N antiAliasingBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "OFF", "x4", "x8", "x16" })); resolutionLabel.setText(bundle.getString("SettingsGUI.resolutionLabel.text")); // NOI18N resolutionBox.setModel(makeResolutions()); fullscreenCheck.setText(bundle.getString("SettingsGUI.fullscreenCheck.text")); // NOI18N javax.swing.GroupLayout DisplayPanelLayout = new javax.swing.GroupLayout(DisplayPanel); DisplayPanel.setLayout(DisplayPanelLayout); DisplayPanelLayout.setHorizontalGroup( DisplayPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(DisplayPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(DisplayPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(fullscreenCheck) .addGroup(DisplayPanelLayout.createSequentialGroup() .addGroup(DisplayPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(DisplayPanelLayout.createSequentialGroup() .addComponent(resolutionLabel) .addGap(0, 0, Short.MAX_VALUE)) .addComponent(antiAliasLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(DisplayPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(antiAliasingBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(resolutionBox, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))) .addGap(1318, 1318, 1318)) ); DisplayPanelLayout.setVerticalGroup( DisplayPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(DisplayPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(DisplayPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(antiAliasLabel) .addComponent(antiAliasingBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(DisplayPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(resolutionBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(resolutionLabel)) .addGap(18, 18, 18) .addComponent(fullscreenCheck) .addContainerGap(392, Short.MAX_VALUE)) ); jTabbedPane1.addTab(bundle.getString("SettingsGUI.DisplayPanel.title"), DisplayPanel); // NOI18N useDebugFont.setText(bundle.getString("SettingsGUI.useDebugFont.text")); // NOI18N javax.swing.GroupLayout MiscPanelLayout = new javax.swing.GroupLayout(MiscPanel); MiscPanel.setLayout(MiscPanelLayout); MiscPanelLayout.setHorizontalGroup( MiscPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MiscPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(MiscPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(useDebugFont, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); MiscPanelLayout.setVerticalGroup( MiscPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(MiscPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(useDebugFont) .addContainerGap(368, Short.MAX_VALUE)) ); jTabbedPane1.addTab(bundle.getString("SettingsGUI.MiscPanel.title"), MiscPanel); // NOI18N extractEboot.setText(bundle.getString("SettingsGUI.extractEboot.text")); // NOI18N cryptoSavedata.setText(bundle.getString("SettingsGUI.cryptoSavedata.text")); // NOI18N extractPGD.setText(bundle.getString("SettingsGUI.extractPGD.text")); // NOI18N extractSavedataKey.setText(bundle.getString("SettingsGUI.extractSavedataKey.text")); // NOI18N disableDLC.setText(bundle.getString("SettingsGUI.disableDLC.text")); // NOI18N javax.swing.GroupLayout CryptoPanelLayout = new javax.swing.GroupLayout(CryptoPanel); CryptoPanel.setLayout(CryptoPanelLayout); CryptoPanelLayout.setHorizontalGroup( CryptoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(CryptoPanelLayout.createSequentialGroup() .addContainerGap() .addGroup(CryptoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false) .addComponent(extractEboot, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(cryptoSavedata, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(extractPGD, javax.swing.GroupLayout.Alignment.LEADING) .addComponent(extractSavedataKey, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(disableDLC, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap(394, Short.MAX_VALUE)) ); CryptoPanelLayout.setVerticalGroup( CryptoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(CryptoPanelLayout.createSequentialGroup() .addContainerGap() .addComponent(cryptoSavedata) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(extractSavedataKey) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(extractPGD) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(extractEboot) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(disableDLC) .addContainerGap(368, Short.MAX_VALUE)) ); jTabbedPane1.addTab(bundle.getString("SettingsGUI.CryptoPanel.title"), CryptoPanel); // NOI18N buttonGroup3.add(lanMultiPlayerRadioButton); lanMultiPlayerRadioButton.setText(bundle.getString("SettingsGUI.lanMultiPlayerRadioButton.text")); // NOI18N buttonGroup3.add(netServerPortShiftRadioButton); netServerPortShiftRadioButton.setText(bundle.getString("SettingsGUI.netServerPortShiftRadioButton.text")); // NOI18N buttonGroup3.add(netClientPortShiftRadioButton); netClientPortShiftRadioButton.setText(bundle.getString("SettingsGUI.netClientPortShiftRadioButton.text")); // NOI18N buttonGroup3.add(enableProOnlineRadioButton); enableProOnlineRadioButton.setText(bundle.getString("SettingsGUI.enableProOnlineRadioButton.text")); // NOI18N lanMultiPlayerLabel.setText(bundle.getString("SettingsGUI.lanMultiPlayerLabel.text")); // NOI18N netServerPortShiftLabel.setText(bundle.getString("SettingsGUI.netServerPortShiftLabel.text")); // NOI18N netClientPortShiftLabel.setText(bundle.getString("SettingsGUI.netClientPortShiftLabel.text")); // NOI18N enableProOnlineLabel.setText(bundle.getString("SettingsGUI.enableProOnlineLabel.text")); // NOI18N metaServerLabel.setText(bundle.getString("SettingsGUI.metaServerLabel.text")); // NOI18N metaServerTextField.setText(bundle.getString("SettingsGUI.metaServerTextField.text")); // NOI18N metaServerRemindLabel.setText(bundle.getString("SettingsGUI.metaServerRemindLabel.text")); // NOI18N broadcastAddressLabel.setText(bundle.getString("SettingsGUI.broadcastAddressLabel.text")); // NOI18N broadcastAddressTextField.setText(bundle.getString("SettingsGUI.broadcastAddressTextField.text")); // NOI18N broadcastAddressRemindLabel.setText(bundle.getString("SettingsGUI.broadcastAddressRemindLabel.text")); // NOI18N javax.swing.GroupLayout networkPanelLayout = new javax.swing.GroupLayout(networkPanel); networkPanel.setLayout(networkPanelLayout); networkPanelLayout.setHorizontalGroup( networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(networkPanelLayout.createSequentialGroup() .addGap(23, 23, 23) .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(networkPanelLayout.createSequentialGroup() .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(metaServerLabel) .addComponent(broadcastAddressLabel)) .addGap(39, 39, 39) .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(networkPanelLayout.createSequentialGroup() .addComponent(metaServerTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE) .addGap(31, 31, 31) .addComponent(metaServerRemindLabel)) .addGroup(networkPanelLayout.createSequentialGroup() .addGap(10, 10, 10) .addComponent(broadcastAddressRemindLabel)) .addComponent(broadcastAddressTextField, javax.swing.GroupLayout.PREFERRED_SIZE, 264, javax.swing.GroupLayout.PREFERRED_SIZE))) .addGroup(networkPanelLayout.createSequentialGroup() .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(netClientPortShiftRadioButton) .addComponent(enableProOnlineRadioButton)) .addGap(18, 18, 18) .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(enableProOnlineLabel) .addComponent(netClientPortShiftLabel))) .addGroup(networkPanelLayout.createSequentialGroup() .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(netServerPortShiftRadioButton) .addComponent(lanMultiPlayerRadioButton)) .addGap(18, 18, 18) .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(lanMultiPlayerLabel) .addComponent(netServerPortShiftLabel)))) .addContainerGap(150, Short.MAX_VALUE)) ); networkPanelLayout.setVerticalGroup( networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(networkPanelLayout.createSequentialGroup() .addGap(53, 53, 53) .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(lanMultiPlayerRadioButton) .addComponent(lanMultiPlayerLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(netServerPortShiftRadioButton) .addComponent(netServerPortShiftLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(netClientPortShiftRadioButton) .addComponent(netClientPortShiftLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(enableProOnlineRadioButton) .addComponent(enableProOnlineLabel)) .addGap(30, 30, 30) .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(metaServerLabel) .addComponent(metaServerTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(metaServerRemindLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(networkPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(broadcastAddressLabel) .addComponent(broadcastAddressTextField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(broadcastAddressRemindLabel) .addContainerGap(242, Short.MAX_VALUE)) ); jTabbedPane1.addTab(bundle.getString("SettingsGUI.networkPanel.TabConstraints.tabTitle"), networkPanel); // NOI18N cancelButton.setText(bundle.getString("CancelButton.text")); // NOI18N cancelButton.setParent(this); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap(395, Short.MAX_VALUE) .addComponent(jButtonOK, javax.swing.GroupLayout.DEFAULT_SIZE, 105, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(cancelButton, javax.swing.GroupLayout.DEFAULT_SIZE, 132, Short.MAX_VALUE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(jButtonApply, javax.swing.GroupLayout.DEFAULT_SIZE, 124, Short.MAX_VALUE)) .addComponent(jTabbedPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addComponent(jTabbedPane1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jButtonApply) .addComponent(jButtonOK) .addComponent(cancelButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addContainerGap()) ); pack(); }// </editor-fold>//GEN-END:initComponents public void RefreshWindow() { setAllComponentsFromSettings(); } private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonOKActionPerformed setAllComponentsToSettings(); dispose(); }//GEN-LAST:event_jButtonOKActionPerformed private void jButtonApplyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonApplyActionPerformed setAllComponentsToSettings(); }//GEN-LAST:event_jButtonApplyActionPerformed private void tmpPathBrowseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tmpPathBrowseButtonActionPerformed java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("jpcsp/languages/jpcsp"); // NOI18N FolderChooser folderChooser = new FolderChooser(bundle.getString("SettingsGUI.strSelectTMPPath.text")); int result = folderChooser.showSaveDialog(tmpPathBrowseButton.getTopLevelAncestor()); if (result == FolderChooser.APPROVE_OPTION) { tmppath.setText(folderChooser.getSelectedFile().getPath()); } }//GEN-LAST:event_tmpPathBrowseButtonActionPerformed private void btnUMDPathAddActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnUMDPathAddActionPerformed java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("jpcsp/languages/jpcsp"); // NOI18N FolderChooser folderChooser = new FolderChooser(bundle.getString("SettingsGUI.strSelectUMDPath.text")); int result = folderChooser.showSaveDialog(lbUMDPaths.getTopLevelAncestor()); if (result == FolderChooser.APPROVE_OPTION) { DefaultListModel dlm = (DefaultListModel) lbUMDPaths.getModel(); File pathtoadd = folderChooser.getSelectedFile(); // avoid double entries for (int i = 0; i < lbUMDPaths.getModel().getSize(); i++) { File check = new File((String) lbUMDPaths.getModel().getElementAt(i)); if (check.equals(pathtoadd)) { JpcspDialogManager.showInformation(this, java.util.ResourceBundle.getBundle("jpcsp/languages/jpcsp").getString("SettingsGUI.strPathInList.text")); //NOI18N return; } } dlm.addElement(pathtoadd.getPath()); } }//GEN-LAST:event_btnUMDPathAddActionPerformed private void btnUMDPathRemoveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnUMDPathRemoveActionPerformed DefaultListModel dlm = (DefaultListModel) lbUMDPaths.getModel(); dlm.remove(lbUMDPaths.getSelectedIndex()); }//GEN-LAST:event_btnUMDPathRemoveActionPerformed @Override public void dispose() { Emulator.getMainGUI().endWindowDialog(); super.dispose(); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel CompilerPanel; private javax.swing.JPanel CryptoPanel; private javax.swing.JPanel DisplayPanel; private javax.swing.JPanel GeneralPanel; private javax.swing.JPanel MemoryPanel; private javax.swing.JPanel MiscPanel; private javax.swing.JPanel RegionPanel; private javax.swing.JPanel VideoPanel; private javax.swing.JComboBox adhocChannelBox; private javax.swing.JLabel adhocChannelLabel; private javax.swing.JLabel antiAliasLabel; private javax.swing.JComboBox antiAliasingBox; private javax.swing.JLabel broadcastAddressLabel; private javax.swing.JLabel broadcastAddressRemindLabel; private javax.swing.JTextField broadcastAddressTextField; private javax.swing.JButton btnUMDPathAdd; private javax.swing.JButton btnUMDPathRemove; private javax.swing.JComboBox buttonBox; private javax.swing.ButtonGroup buttonGroup1; private javax.swing.ButtonGroup buttonGroup2; private javax.swing.ButtonGroup buttonGroup3; private javax.swing.JLabel buttonLabel; private jpcsp.GUI.CancelButton cancelButton; private javax.swing.JRadioButton classicUmdDialog; private javax.swing.JCheckBox cryptoSavedata; private javax.swing.JComboBox dateFormatBox; private javax.swing.JLabel dateFormatLabel; private javax.swing.JComboBox daylightBox; private javax.swing.JLabel daylightLabel; private javax.swing.JCheckBox disableDLC; private javax.swing.JCheckBox disableOptimizedVertexInfoReading; private javax.swing.JCheckBox disableUBOCheck; private javax.swing.JCheckBox disableVBOCheck; private javax.swing.JCheckBox enableDynamicShadersCheck; private javax.swing.JCheckBox enableGETextureCheck; private javax.swing.JCheckBox enableNativeCLUTCheck; private javax.swing.JLabel enableProOnlineLabel; private javax.swing.JRadioButton enableProOnlineRadioButton; private javax.swing.JCheckBox enableShaderColorMaskCheck; private javax.swing.JCheckBox enableShaderStencilTestCheck; private javax.swing.JCheckBox enableVAOCheck; private javax.swing.JCheckBox extractEboot; private javax.swing.JCheckBox extractPGD; private javax.swing.JCheckBox extractSavedataKey; private javax.swing.JCheckBox fullscreenCheck; private javax.swing.JCheckBox geometryShaderCheck; private javax.swing.JCheckBox ignoreUnmappedImports; private javax.swing.JLabel imposeLabel; private javax.swing.JCheckBox invalidMemoryCheck; private javax.swing.JButton jButtonApply; private javax.swing.JButton jButtonOK; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JPanel jPanel4; private javax.swing.JPanel jPanel5; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTabbedPane jTabbedPane1; private javax.swing.JLabel lanMultiPlayerLabel; private javax.swing.JRadioButton lanMultiPlayerRadioButton; private javax.swing.JComboBox languageBox; private javax.swing.JLabel languageLabel; private javax.swing.JList lbUMDPaths; private javax.swing.JCheckBox loadAndRunCheck; private javax.swing.JLabel metaServerLabel; private javax.swing.JLabel metaServerRemindLabel; private javax.swing.JTextField metaServerTextField; private javax.swing.JComboBox methodMaxInstructionsBox; private javax.swing.JLabel methodMaxInstructionsLabel; private javax.swing.JComboBox modelBox; private javax.swing.JLabel modelLabel; private javax.swing.JLabel netClientPortShiftLabel; private javax.swing.JRadioButton netClientPortShiftRadioButton; private javax.swing.JLabel netServerPortShiftLabel; private javax.swing.JRadioButton netServerPortShiftRadioButton; private javax.swing.JPanel networkPanel; private javax.swing.JTextField nicknameTextField; private javax.swing.JLabel nicknamelLabel; private javax.swing.JCheckBox onlyGEGraphicsCheck; private javax.swing.JCheckBox pbpunpackcheck; private javax.swing.JCheckBox profilerCheck; private javax.swing.JPanel renderPanel; private javax.swing.JComboBox resolutionBox; private javax.swing.JLabel resolutionLabel; private javax.swing.JCheckBox saveStencilToMemory; private javax.swing.JCheckBox saveWindowPosCheck; private javax.swing.JCheckBox shadersCheck; private javax.swing.JLabel sysParmLabel; private javax.swing.JComboBox timeFormatBox; private javax.swing.JLabel timeFormatLabel; private javax.swing.JLabel timezoneLabel; private javax.swing.JSpinner timezoneSpinner; private javax.swing.JButton tmpPathBrowseButton; private javax.swing.JLabel tmpPathLabel; private javax.swing.JTextField tmppath; private javax.swing.JRadioButton umdBrowser; private javax.swing.JLabel umdPathLabel; private javax.swing.JCheckBox useCompiler; private javax.swing.JCheckBox useDebugFont; private javax.swing.JCheckBox useDebugMemory; private javax.swing.JRadioButton useExternalSoftwareRenderer; private javax.swing.JRadioButton useOpenglRenderer; private javax.swing.JRadioButton useSoftwareRenderer; private javax.swing.JCheckBox useVertexCache; private javax.swing.JComboBox wlanPowerBox; private javax.swing.JLabel wlanPowerLabel; // End of variables declaration//GEN-END:variables }