/* * KaiSettingsPanel.java * * Created on July 2, 2005, 11:05 AM */ package pt.jkaiui.ui; import java.awt.*; import java.awt.event.ActionListener; import java.awt.event.ActionEvent; import java.io.File; import java.util.Enumeration; import java.util.logging.Logger; import javax.swing.*; import pt.jkaiui.JKaiUI; import pt.jkaiui.core.KaiConfig; import pt.jkaiui.tools.log.ConfigLog; import javax.swing.*; import javax.swing.filechooser.FileNameExtensionFilter; import java.io.File; import java.io.FileWriter; import java.io.BufferedWriter; import java.io.PrintWriter; import java.io.FileReader; import java.io.BufferedReader; import static pt.jkaiui.core.KaiConfig.ConfigTag.*; /** * * @author jicksta */ public class KaiSettingsPanel extends javax.swing.JPanel { private static Logger _logger; private KaiConfig kaiConfig; /** Creates new form KaiSettingsPanel */ public KaiSettingsPanel() { initComponents(); kaiConfig = JKaiUI.getConfig(); ActionListener radioListener = new ActionListener() { public void actionPerformed(ActionEvent evt) { ((CardLayout) panelMainContent.getLayout()).show(panelMainContent, evt.getActionCommand()); choiceSelectCategory.setSelected(((AbstractButton) evt.getSource()).getModel(), true); } }; Enumeration radios = choiceSelectCategory.getElements(); while (radios.hasMoreElements()) { ((AbstractButton) radios.nextElement()).addActionListener(radioListener); } _logger = ConfigLog.getLogger(this.getClass().getName()); resetValues(); //�z�z�o�[�W�����p if (!(JKaiUI.develflag)) { radioAllLogger.setVisible(false); radioUserLogger.setVisible(false); radioRoomLogger.setVisible(false); radioFriendLogger.setVisible(false); radioMACLogger.setVisible(false); fieldAllLog.setVisible(false); fieldUserLog.setVisible(false); fieldRoomLog.setVisible(false); fieldFriendLog.setVisible(false); fieldMACLog.setVisible(false); fieldAllLogPattern.setVisible(false); fieldUserLogPattern.setVisible(false); fieldRoomLogPattern.setVisible(false); fieldFriendLogPattern.setVisible(false); fieldMACLogPattern.setVisible(false); } } // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; choiceEngineConnection = new javax.swing.ButtonGroup(); choiceSelectCategory = new javax.swing.ButtonGroup(); jScrollPane1 = new javax.swing.JScrollPane(); choiceChatStyle = new javax.swing.ButtonGroup(); jLabelHeader = new javax.swing.JLabel(); scrollerPane = new javax.swing.JScrollPane(); panelMainContent = new javax.swing.JPanel(); panelConnection = new javax.swing.JPanel(); panelEngineConnection = new javax.swing.JPanel(); panelEngineSettings = new javax.swing.JPanel(); labelEngineAddress = new javax.swing.JLabel(); labelEnginePort = new javax.swing.JLabel(); fieldEngineAddress = new javax.swing.JTextField(); fieldEnginePort = new javax.swing.JTextField(); radioAutomaticConnection = new javax.swing.JRadioButton(); radioManualConnection = new javax.swing.JRadioButton(); panelLogin = new javax.swing.JPanel(); fieldPassword = new javax.swing.JPasswordField(); fieldXTag = new javax.swing.JTextField(); labelXTag = new javax.swing.JLabel(); labelPassword = new javax.swing.JLabel(); panelAppearance = new javax.swing.JPanel(); panelIcons = new javax.swing.JPanel(); checkboxShowIcons = new javax.swing.JCheckBox(); spinnerCacheTime = new javax.swing.JSpinner(); labelCacheTime = new javax.swing.JLabel(); buttonClearCache = new javax.swing.JButton(); panelLookAndFeel = new javax.swing.JPanel(); jComboBox1 = new javax.swing.JComboBox(); panelMiscellaneous = new javax.swing.JPanel(); choiceShowTimestamps = new javax.swing.JCheckBox(); fieldNTPServer = new javax.swing.JTextField(); labelNTPServer = new javax.swing.JLabel(); choiceStoreWindowPosition = new javax.swing.JCheckBox(); choiceShowServerStats = new javax.swing.JCheckBox(); choicePlayMessageSound = new javax.swing.JCheckBox(); panelOriginal = new javax.swing.JPanel(); panelChatPM = new javax.swing.JPanel(); checkShowLatestChat = new javax.swing.JCheckBox(); checkHideServerMessage = new javax.swing.JCheckBox(); checkShowFriendsLoginInfo = new javax.swing.JCheckBox(); checkPaintColor = new javax.swing.JCheckBox(); checkShowImageMouseover = new javax.swing.JCheckBox(); checkChatWrap = new javax.swing.JCheckBox(); checkCUICommand = new javax.swing.JCheckBox(); checkAskCommand = new javax.swing.JCheckBox(); jPanel2 = new javax.swing.JPanel(); panelChatFont = new javax.swing.JPanel(); jLabel1 = new javax.swing.JLabel(); spinnerChatFontSize = new javax.swing.JSpinner(); jLabel3 = new javax.swing.JLabel(); jLabel4 = new javax.swing.JLabel(); jLabel2 = new javax.swing.JLabel(); jLabel7 = new javax.swing.JLabel(); spinnerSystemFontSize = new javax.swing.JSpinner(); spinnerInputFieldFontSize = new javax.swing.JSpinner(); jLabel8 = new javax.swing.JLabel(); jPanel1 = new javax.swing.JPanel(); radioJKaiUIStyle = new javax.swing.JRadioButton(); radioGUIStyle = new javax.swing.JRadioButton(); radioWebUIStyle = new javax.swing.JRadioButton(); jPanel3 = new javax.swing.JPanel(); jLabel9 = new javax.swing.JLabel(); spinnermaxChatHistory = new javax.swing.JSpinner(); panelRoomUser = new javax.swing.JPanel(); choiceURLDecode = new javax.swing.JCheckBox(); panelRoomFont = new javax.swing.JPanel(); jLabel5 = new javax.swing.JLabel(); spinnerRoomFontSize = new javax.swing.JSpinner(); jLabel6 = new javax.swing.JLabel(); panelAutoSetting = new javax.swing.JPanel(); checkAutoHostSetting = new javax.swing.JCheckBox(); checkAutoArenaMoving = new javax.swing.JCheckBox(); panelGeneral = new javax.swing.JPanel(); fieldSettingFolder = new javax.swing.JTextField(); jLabel10 = new javax.swing.JLabel(); jLabel11 = new javax.swing.JLabel(); panelLogger = new javax.swing.JPanel(); radioAllLogger = new javax.swing.JRadioButton(); radioChatLogger = new javax.swing.JRadioButton(); radioUserLogger = new javax.swing.JRadioButton(); radioRoomLogger = new javax.swing.JRadioButton(); radioFriendLogger = new javax.swing.JRadioButton(); radioMACLogger = new javax.swing.JRadioButton(); labelLogdirectory = new javax.swing.JLabel(); fieldAllLog = new javax.swing.JTextField(); fieldChatLog = new javax.swing.JTextField(); fieldUserLog = new javax.swing.JTextField(); fieldRoomLog = new javax.swing.JTextField(); fieldFriendLog = new javax.swing.JTextField(); fieldMACLog = new javax.swing.JTextField(); labelLogPattern = new javax.swing.JLabel(); fieldChatLogPattern = new javax.swing.JTextField(); fieldUserLogPattern = new javax.swing.JTextField(); fieldRoomLogPattern = new javax.swing.JTextField(); fieldFriendLogPattern = new javax.swing.JTextField(); fieldAllLogPattern = new javax.swing.JTextField(); fieldMACLogPattern = new javax.swing.JTextField(); panelSounds = new javax.swing.JPanel(); panelSound = new javax.swing.JPanel(); radioChat = new javax.swing.JRadioButton(); radioPMOpen = new javax.swing.JRadioButton(); radioFriendPM = new javax.swing.JRadioButton(); radioFriendChat = new javax.swing.JRadioButton(); radioFriendOnline = new javax.swing.JRadioButton(); radioArenaPM = new javax.swing.JRadioButton(); radioModeratorChat = new javax.swing.JRadioButton(); radioSend = new javax.swing.JRadioButton(); labelSoundFile = new javax.swing.JLabel(); comboChat = new javax.swing.JComboBox(); comboPMOpen = new javax.swing.JComboBox(); comboFriendPM = new javax.swing.JComboBox(); comboFriendChat = new javax.swing.JComboBox(); comboFriendOnline = new javax.swing.JComboBox(); comboArenaPM = new javax.swing.JComboBox(); comboModeratorChat = new javax.swing.JComboBox(); comboSend = new javax.swing.JComboBox(); panelCommonFooter = new javax.swing.JPanel(); jButtonSave = new javax.swing.JButton(); jButtonClose = new javax.swing.JButton(); jButtonReset = new javax.swing.JButton(); jButtonCopySetting = new javax.swing.JButton(); buttonSaveSettingFile = new javax.swing.JButton(); buttonLoadSettingFile = new javax.swing.JButton(); panelSwitchers = new javax.swing.JPanel(); toggleConnection = new javax.swing.JToggleButton(); toggleAppearance = new javax.swing.JToggleButton(); toggleMisc = new javax.swing.JToggleButton(); toggleOriginal = new javax.swing.JToggleButton(); jToggleButton1 = new javax.swing.JToggleButton(); java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("pt/jkaiui/ui/Bundle"); // NOI18N setName(bundle.getString("LBL_Config_Header")); // NOI18N setLayout(new java.awt.GridBagLayout()); jLabelHeader.setBackground(new java.awt.Color(200, 221, 242)); jLabelHeader.setFont(new java.awt.Font("Bitstream Vera Sans", 1, 24)); // NOI18N jLabelHeader.setForeground(new java.awt.Color(255, 255, 255)); jLabelHeader.setHorizontalAlignment(javax.swing.SwingConstants.CENTER); jLabelHeader.setIcon(new javax.swing.ImageIcon(getClass().getResource("/pt/jkaiui/ui/resources/config.png"))); // NOI18N jLabelHeader.setText(bundle.getString("LBL_Config_Header")); // NOI18N jLabelHeader.setBorder(javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10)); jLabelHeader.setOpaque(true); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; add(jLabelHeader, gridBagConstraints); scrollerPane.setBorder(null); panelMainContent.setLayout(new java.awt.CardLayout()); panelConnection.setLayout(new java.awt.GridBagLayout()); panelEngineConnection.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("LBL_PanelEngineConnection"))); // NOI18N panelEngineConnection.setLayout(new java.awt.GridBagLayout()); panelEngineSettings.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("LBL_PanelEngineSettings"))); // NOI18N panelEngineSettings.setLayout(new java.awt.GridBagLayout()); labelEngineAddress.setText(bundle.getString("LBL_KaidHost") + ": "); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; panelEngineSettings.add(labelEngineAddress, gridBagConstraints); labelEnginePort.setText(bundle.getString("LBL_KaidPort") + ": "); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.insets = new java.awt.Insets(3, 0, 0, 0); panelEngineSettings.add(labelEnginePort, gridBagConstraints); fieldEngineAddress.setColumns(10); fieldEngineAddress.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; panelEngineSettings.add(fieldEngineAddress, gridBagConstraints); fieldEnginePort.setColumns(10); fieldEnginePort.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(3, 0, 0, 0); panelEngineSettings.add(fieldEnginePort, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.insets = new java.awt.Insets(0, 3, 3, 3); panelEngineConnection.add(panelEngineSettings, gridBagConstraints); choiceEngineConnection.add(radioAutomaticConnection); radioAutomaticConnection.setSelected(true); radioAutomaticConnection.setText("Detect engine automatically"); radioAutomaticConnection.setActionCommand("true"); radioAutomaticConnection.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { radioAutomaticConnectionActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; panelEngineConnection.add(radioAutomaticConnection, gridBagConstraints); choiceEngineConnection.add(radioManualConnection); radioManualConnection.setText("Use specific engine address"); radioManualConnection.setActionCommand("false"); radioManualConnection.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { radioManualConnectionActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; panelEngineConnection.add(radioManualConnection, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.weightx = 1.0; panelConnection.add(panelEngineConnection, gridBagConstraints); panelLogin.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("LBL_PanelLogin"))); // NOI18N panelLogin.setLayout(new java.awt.GridBagLayout()); fieldPassword.setColumns(10); fieldPassword.setFont(new java.awt.Font("Tahoma", 0, 11)); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 0, 0); panelLogin.add(fieldPassword, gridBagConstraints); fieldXTag.setColumns(10); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 1.0; panelLogin.add(fieldXTag, gridBagConstraints); labelXTag.setText(bundle.getString("LBL_Tag") + ": "); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.weightx = 1.0; panelLogin.add(labelXTag, gridBagConstraints); labelPassword.setText(bundle.getString("LBL_Password") + ": "); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; gridBagConstraints.weightx = 1.0; gridBagConstraints.insets = new java.awt.Insets(3, 0, 0, 0); panelLogin.add(labelPassword, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; panelConnection.add(panelLogin, gridBagConstraints); panelMainContent.add(panelConnection, "LoginCard"); panelAppearance.setLayout(new java.awt.GridBagLayout()); panelIcons.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("LBL_PanelIconSettings"))); // NOI18N panelIcons.setLayout(new java.awt.GridBagLayout()); checkboxShowIcons.setText(bundle.getString("LBL_ShowIcons")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelIcons.add(checkboxShowIcons, gridBagConstraints); spinnerCacheTime.setFont(new java.awt.Font("Tahoma", 0, 11)); // NOI18N spinnerCacheTime.setModel(new SpinnerNumberModel(3, 0, 30, 1)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.ipadx = 7; gridBagConstraints.ipady = 2; panelIcons.add(spinnerCacheTime, gridBagConstraints); labelCacheTime.setText(bundle.getString("LBL_CacheTime")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelIcons.add(labelCacheTime, gridBagConstraints); buttonClearCache.setText(bundle.getString("BTN_ClearCacheButton")); // NOI18N buttonClearCache.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonClearCacheActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.insets = new java.awt.Insets(3, 0, 3, 0); panelIcons.add(buttonClearCache, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; panelAppearance.add(panelIcons, gridBagConstraints); panelLookAndFeel.setBorder(javax.swing.BorderFactory.createTitledBorder(bundle.getString("LBL_PanelLookAndFeel"))); // NOI18N jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Default System Look and Feel", "Windows Look and Feel", "GTK Look and Feel", "Apple OSX Look and Feel", "Metal Look and Feel", "Motif Look and Feel" })); jComboBox1.setEnabled(false); panelLookAndFeel.add(jComboBox1); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; panelAppearance.add(panelLookAndFeel, gridBagConstraints); panelMainContent.add(panelAppearance, "AppearanceCard"); panelMiscellaneous.setLayout(new java.awt.GridBagLayout()); choiceShowTimestamps.setText(bundle.getString("LBL_ShowTimestamps")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelMiscellaneous.add(choiceShowTimestamps, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelMiscellaneous.add(fieldNTPServer, gridBagConstraints); labelNTPServer.setText(bundle.getString("LBL_NTPServer") + ": "); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; panelMiscellaneous.add(labelNTPServer, gridBagConstraints); choiceStoreWindowPosition.setText(bundle.getString("LBL_StoreWindowSizePosition")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelMiscellaneous.add(choiceStoreWindowPosition, gridBagConstraints); choiceShowServerStats.setText(bundle.getString("LBL_ShowServerStats")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelMiscellaneous.add(choiceShowServerStats, gridBagConstraints); choicePlayMessageSound.setText(bundle.getString("LBL_PlayMessageSound")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelMiscellaneous.add(choicePlayMessageSound, gridBagConstraints); panelMainContent.add(panelMiscellaneous, "MiscellaneousCard"); panelOriginal.setLayout(new java.awt.GridBagLayout()); panelChatPM.setBorder(javax.swing.BorderFactory.createTitledBorder("Chat/PM")); panelChatPM.setLayout(new java.awt.GridBagLayout()); checkShowLatestChat.setSelected(true); checkShowLatestChat.setText("Show the latest chat"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelChatPM.add(checkShowLatestChat, gridBagConstraints); checkHideServerMessage.setText("Hide Server Messages"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelChatPM.add(checkHideServerMessage, gridBagConstraints); checkShowFriendsLoginInfo.setText("Show a friends login info"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelChatPM.add(checkShowFriendsLoginInfo, gridBagConstraints); checkPaintColor.setSelected(true); checkPaintColor.setText("Color in the Background"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelChatPM.add(checkPaintColor, gridBagConstraints); checkShowImageMouseover.setText("Show Image with Mouse over Link"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelChatPM.add(checkShowImageMouseover, gridBagConstraints); checkChatWrap.setText("Chat Wrap"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelChatPM.add(checkChatWrap, gridBagConstraints); checkCUICommand.setSelected(true); checkCUICommand.setText("Enable CUI Command"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 6; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelChatPM.add(checkCUICommand, gridBagConstraints); checkAskCommand.setText("Enable Ask Command"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 7; gridBagConstraints.gridwidth = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelChatPM.add(checkAskCommand, gridBagConstraints); jPanel2.setLayout(new java.awt.GridBagLayout()); panelChatFont.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED), "Font Size")); panelChatFont.setLayout(new java.awt.GridBagLayout()); jLabel1.setText("Main Chat"); panelChatFont.add(jLabel1, new java.awt.GridBagConstraints()); spinnerChatFontSize.setModel(new javax.swing.SpinnerNumberModel(12, 0, 256, 1)); panelChatFont.add(spinnerChatFontSize, new java.awt.GridBagConstraints()); jLabel3.setText("px"); panelChatFont.add(jLabel3, new java.awt.GridBagConstraints()); jLabel4.setText("px"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 1; panelChatFont.add(jLabel4, gridBagConstraints); jLabel2.setText("System"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; panelChatFont.add(jLabel2, gridBagConstraints); jLabel7.setText("Input Field"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; panelChatFont.add(jLabel7, gridBagConstraints); spinnerSystemFontSize.setModel(new javax.swing.SpinnerNumberModel(10, 0, 256, 1)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; panelChatFont.add(spinnerSystemFontSize, gridBagConstraints); spinnerInputFieldFontSize.setModel(new javax.swing.SpinnerNumberModel(12, 0, 256, 1)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; panelChatFont.add(spinnerInputFieldFontSize, gridBagConstraints); jLabel8.setText("px"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 2; panelChatFont.add(jLabel8, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; jPanel2.add(panelChatFont, gridBagConstraints); jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED), "Chat Display Style")); jPanel1.setLayout(new java.awt.GridBagLayout()); choiceChatStyle.add(radioJKaiUIStyle); radioJKaiUIStyle.setSelected(true); radioJKaiUIStyle.setText("JKaiUI"); radioJKaiUIStyle.setActionCommand("0"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; jPanel1.add(radioJKaiUIStyle, gridBagConstraints); choiceChatStyle.add(radioGUIStyle); radioGUIStyle.setText("Like GUI"); radioGUIStyle.setActionCommand("1"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; jPanel1.add(radioGUIStyle, gridBagConstraints); choiceChatStyle.add(radioWebUIStyle); radioWebUIStyle.setText("Like WebUI"); radioWebUIStyle.setActionCommand("2"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; jPanel1.add(radioWebUIStyle, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; jPanel2.add(jPanel1, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 3; gridBagConstraints.gridy = 0; gridBagConstraints.gridheight = 9; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; panelChatPM.add(jPanel2, gridBagConstraints); jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED), "Chat History")); jPanel3.setLayout(new javax.swing.BoxLayout(jPanel3, javax.swing.BoxLayout.LINE_AXIS)); jLabel9.setText("# to save"); jPanel3.add(jLabel9); spinnermaxChatHistory.setModel(new javax.swing.SpinnerNumberModel(Integer.valueOf(100), Integer.valueOf(0), null, Integer.valueOf(1))); jPanel3.add(spinnermaxChatHistory); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 8; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelChatPM.add(jPanel3, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; panelOriginal.add(panelChatPM, gridBagConstraints); panelRoomUser.setBorder(javax.swing.BorderFactory.createTitledBorder("Room/User")); panelRoomUser.setLayout(new java.awt.GridBagLayout()); choiceURLDecode.setSelected(true); choiceURLDecode.setText("Decode Room Description"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; panelRoomUser.add(choiceURLDecode, gridBagConstraints); panelRoomFont.setBorder(javax.swing.BorderFactory.createTitledBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED), "Font Size")); panelRoomFont.setLayout(new java.awt.GridBagLayout()); jLabel5.setText("Room/User"); panelRoomFont.add(jLabel5, new java.awt.GridBagConstraints()); spinnerRoomFontSize.setModel(new javax.swing.SpinnerNumberModel(10, 0, 256, 1)); panelRoomFont.add(spinnerRoomFontSize, new java.awt.GridBagConstraints()); jLabel6.setText("px"); panelRoomFont.add(jLabel6, new java.awt.GridBagConstraints()); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; panelRoomUser.add(panelRoomFont, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.gridheight = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; panelOriginal.add(panelRoomUser, gridBagConstraints); panelAutoSetting.setBorder(javax.swing.BorderFactory.createTitledBorder("AutoSetting")); panelAutoSetting.setLayout(new java.awt.GridBagLayout()); checkAutoHostSetting.setText("AutoHostSetting"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelAutoSetting.add(checkAutoHostSetting, gridBagConstraints); checkAutoArenaMoving.setText("AutoArenaMoving"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelAutoSetting.add(checkAutoArenaMoving, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelOriginal.add(panelAutoSetting, gridBagConstraints); panelGeneral.setBorder(javax.swing.BorderFactory.createTitledBorder("General")); panelGeneral.setLayout(new java.awt.GridBagLayout()); fieldSettingFolder.setText("default:"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST; panelGeneral.add(fieldSettingFolder, gridBagConstraints); jLabel10.setText("Settings Folder"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; panelGeneral.add(jLabel10, gridBagConstraints); jLabel11.setText("\"~\":Home Folder \"default:\":default"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.gridwidth = 2; panelGeneral.add(jLabel11, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; panelOriginal.add(panelGeneral, gridBagConstraints); panelLogger.setBorder(javax.swing.BorderFactory.createTitledBorder("Logging")); panelLogger.setLayout(new java.awt.GridBagLayout()); radioAllLogger.setText("All"); radioAllLogger.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { radioAllLoggerStateChanged(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(radioAllLogger, gridBagConstraints); radioChatLogger.setText("Chat"); radioChatLogger.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { radioChatLoggerStateChanged(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(radioChatLogger, gridBagConstraints); radioUserLogger.setText("User"); radioUserLogger.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { radioUserLoggerStateChanged(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(radioUserLogger, gridBagConstraints); radioRoomLogger.setText("Room"); radioRoomLogger.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { radioRoomLoggerStateChanged(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(radioRoomLogger, gridBagConstraints); radioFriendLogger.setText("Friend"); radioFriendLogger.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { radioFriendLoggerStateChanged(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(radioFriendLogger, gridBagConstraints); radioMACLogger.setText("MAC"); radioMACLogger.addChangeListener(new javax.swing.event.ChangeListener() { public void stateChanged(javax.swing.event.ChangeEvent evt) { radioMACLoggerStateChanged(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(radioMACLogger, gridBagConstraints); labelLogdirectory.setText("Folder of Log File"); labelLogdirectory.setAlignmentX(0.5F); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(labelLogdirectory, gridBagConstraints); fieldAllLog.setText("log/Alllog-%Y%M%D.txt"); fieldAllLog.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(fieldAllLog, gridBagConstraints); fieldChatLog.setText("log/Chatlog-%Y%M%D.txt"); fieldChatLog.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(fieldChatLog, gridBagConstraints); fieldUserLog.setText("log/Userlog-%Y%M%D.txt"); fieldUserLog.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(fieldUserLog, gridBagConstraints); fieldRoomLog.setText("log/Roomlog-%Y%M%D.txt"); fieldRoomLog.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(fieldRoomLog, gridBagConstraints); fieldFriendLog.setText("log/Friendlog-%Y%M%D.txt"); fieldFriendLog.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(fieldFriendLog, gridBagConstraints); fieldMACLog.setText("log/MAClog-%Y%M%D.txt"); fieldMACLog.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(fieldMACLog, gridBagConstraints); labelLogPattern.setText("Log Pattern"); labelLogPattern.setAlignmentX(0.5F); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(labelLogPattern, gridBagConstraints); fieldChatLogPattern.setText("%T;%K;%R;%S;%M"); fieldChatLogPattern.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(fieldChatLogPattern, gridBagConstraints); fieldUserLogPattern.setText("%N"); fieldUserLogPattern.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(fieldUserLogPattern, gridBagConstraints); fieldRoomLogPattern.setText("%V;%C;%S;%P;%M;%D"); fieldRoomLogPattern.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(fieldRoomLogPattern, gridBagConstraints); fieldFriendLogPattern.setText("%T;%K;%N"); fieldFriendLogPattern.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(fieldFriendLogPattern, gridBagConstraints); fieldAllLogPattern.setText("%T;%M"); fieldAllLogPattern.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(fieldAllLogPattern, gridBagConstraints); fieldMACLogPattern.setText("%N;%A"); fieldMACLogPattern.setEnabled(false); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 2; gridBagConstraints.gridy = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelLogger.add(fieldMACLogPattern, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; panelOriginal.add(panelLogger, gridBagConstraints); panelMainContent.add(panelOriginal, "OriginalCard"); panelSounds.setLayout(new java.awt.GridBagLayout()); panelSound.setBorder(javax.swing.BorderFactory.createTitledBorder("Sound")); panelSound.setLayout(new java.awt.GridBagLayout()); radioChat.setText("Chat"); radioChat.setActionCommand("1"); radioChat.setOpaque(true); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(radioChat, gridBagConstraints); radioPMOpen.setText("PM Open"); radioPMOpen.setActionCommand("3"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(radioPMOpen, gridBagConstraints); radioFriendPM.setText("Friend PM"); radioFriendPM.setActionCommand("2"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(radioFriendPM, gridBagConstraints); radioFriendChat.setText("Friend Chat"); radioFriendChat.setActionCommand("4"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(radioFriendChat, gridBagConstraints); radioFriendOnline.setText("Friend Online"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(radioFriendOnline, gridBagConstraints); radioArenaPM.setText("ArenaPM"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(radioArenaPM, gridBagConstraints); radioModeratorChat.setText("Moderator Chat"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 7; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(radioModeratorChat, gridBagConstraints); radioSend.setText("Send Chat"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 8; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(radioSend, gridBagConstraints); labelSoundFile.setText("SoundFile"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 0; panelSound.add(labelSoundFile, gridBagConstraints); comboChat.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "default" })); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(comboChat, gridBagConstraints); comboPMOpen.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "default" })); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(comboPMOpen, gridBagConstraints); comboFriendPM.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "default" })); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(comboFriendPM, gridBagConstraints); comboFriendChat.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "default" })); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(comboFriendChat, gridBagConstraints); comboFriendOnline.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "default" })); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(comboFriendOnline, gridBagConstraints); comboArenaPM.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "default" })); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(comboArenaPM, gridBagConstraints); comboModeratorChat.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "default" })); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 7; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(comboModeratorChat, gridBagConstraints); comboSend.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "default" })); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 8; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; panelSound.add(comboSend, gridBagConstraints); panelSounds.add(panelSound, new java.awt.GridBagConstraints()); panelMainContent.add(panelSounds, "SoundCard"); scrollerPane.setViewportView(panelMainContent); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 1; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; add(scrollerPane, gridBagConstraints); jButtonSave.setText(bundle.getString("BTN_Save")); // NOI18N jButtonSave.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonSaveActionPerformed(evt); } }); panelCommonFooter.add(jButtonSave); jButtonClose.setText(bundle.getString("BTN_Cancel")); // NOI18N jButtonClose.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonCloseActionPerformed(evt); } }); panelCommonFooter.add(jButtonClose); jButtonReset.setText("Reset"); jButtonReset.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonResetActionPerformed(evt); } }); panelCommonFooter.add(jButtonReset); jButtonCopySetting.setText("Copy Setting"); jButtonCopySetting.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jButtonCopySettingActionPerformed(evt); } }); panelCommonFooter.add(jButtonCopySetting); buttonSaveSettingFile.setText("Save File"); buttonSaveSettingFile.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonSaveSettingFileActionPerformed(evt); } }); panelCommonFooter.add(buttonSaveSettingFile); buttonLoadSettingFile.setText("Load File"); buttonLoadSettingFile.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { buttonLoadSettingFileActionPerformed(evt); } }); panelCommonFooter.add(buttonLoadSettingFile); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.gridwidth = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weightx = 1.0; add(panelCommonFooter, gridBagConstraints); panelSwitchers.setLayout(new java.awt.GridBagLayout()); choiceSelectCategory.add(toggleConnection); toggleConnection.setText(bundle.getString("LBL_Connection")); // NOI18N toggleConnection.setActionCommand("LoginCard"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); panelSwitchers.add(toggleConnection, gridBagConstraints); choiceSelectCategory.add(toggleAppearance); toggleAppearance.setText(bundle.getString("LBL_Appearance")); // NOI18N toggleAppearance.setActionCommand("AppearanceCard"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); panelSwitchers.add(toggleAppearance, gridBagConstraints); choiceSelectCategory.add(toggleMisc); toggleMisc.setText(bundle.getString("LBL_Miscellaneous")); // NOI18N toggleMisc.setActionCommand("MiscellaneousCard"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 4; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); panelSwitchers.add(toggleMisc, gridBagConstraints); choiceSelectCategory.add(toggleOriginal); toggleOriginal.setText("Original"); toggleOriginal.setActionCommand("OriginalCard"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 6; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); panelSwitchers.add(toggleOriginal, gridBagConstraints); choiceSelectCategory.add(jToggleButton1); jToggleButton1.setText("Sound"); jToggleButton1.setActionCommand("SoundCard"); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 8; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); panelSwitchers.add(jToggleButton1, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH; gridBagConstraints.weighty = 1.0; gridBagConstraints.insets = new java.awt.Insets(0, 10, 0, 5); add(panelSwitchers, gridBagConstraints); }// </editor-fold>//GEN-END:initComponents private void radioAutomaticConnectionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_radioAutomaticConnectionActionPerformed fieldEngineAddress.setEnabled(false); fieldEnginePort.setEnabled(false); }//GEN-LAST:event_radioAutomaticConnectionActionPerformed private void radioManualConnectionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_radioManualConnectionActionPerformed fieldEngineAddress.setEnabled(true); fieldEnginePort.setEnabled(true); }//GEN-LAST:event_radioManualConnectionActionPerformed private void jButtonCloseActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCloseActionPerformed JKaiUI.getMainUI().jTabbedPane.remove(this); }//GEN-LAST:event_jButtonCloseActionPerformed private void jButtonSaveActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonSaveActionPerformed saveSettings(); }//GEN-LAST:event_jButtonSaveActionPerformed private void buttonClearCacheActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonClearCacheActionPerformed String s = File.separator; File cacheLocation = new File(kaiConfig.getConfigString(AVATARCACHE)); if (cacheLocation.exists()) { boolean result = cacheLocation.delete(); _logger.fine("Cache clear was " + (result ? "successful" : "unsuccessful")); if (result) { buttonClearCache.setEnabled(false); } } }//GEN-LAST:event_buttonClearCacheActionPerformed private void radioFriendLoggerStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_radioFriendLoggerStateChanged fieldFriendLog.setEnabled(!fieldFriendLog.isEnabled()); fieldFriendLogPattern.setEnabled(!fieldFriendLogPattern.isEnabled()); }//GEN-LAST:event_radioFriendLoggerStateChanged private void radioRoomLoggerStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_radioRoomLoggerStateChanged fieldRoomLog.setEnabled(!fieldRoomLog.isEnabled()); fieldRoomLogPattern.setEnabled(!fieldRoomLogPattern.isEnabled()); }//GEN-LAST:event_radioRoomLoggerStateChanged private void radioUserLoggerStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_radioUserLoggerStateChanged fieldUserLog.setEnabled(!fieldUserLog.isEnabled()); fieldUserLogPattern.setEnabled(!fieldUserLogPattern.isEnabled()); }//GEN-LAST:event_radioUserLoggerStateChanged private void radioChatLoggerStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_radioChatLoggerStateChanged fieldChatLog.setEnabled(!fieldChatLog.isEnabled()); fieldChatLogPattern.setEnabled(!fieldChatLogPattern.isEnabled()); }//GEN-LAST:event_radioChatLoggerStateChanged private void radioAllLoggerStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_radioAllLoggerStateChanged fieldAllLog.setEnabled(!fieldAllLog.isEnabled()); fieldAllLogPattern.setEnabled(!fieldAllLogPattern.isEnabled()); }//GEN-LAST:event_radioAllLoggerStateChanged private void jButtonResetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonResetActionPerformed kaiConfig.resetConfig(); resetValues(); }//GEN-LAST:event_jButtonResetActionPerformed private void jButtonCopySettingActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCopySettingActionPerformed kaiConfig.copytoClipboard(); }//GEN-LAST:event_jButtonCopySettingActionPerformed private void radioMACLoggerStateChanged(javax.swing.event.ChangeEvent evt) {//GEN-FIRST:event_radioMACLoggerStateChanged fieldMACLog.setEnabled(!fieldMACLog.isEnabled()); fieldMACLogPattern.setEnabled(!fieldMACLogPattern.isEnabled()); }//GEN-LAST:event_radioMACLoggerStateChanged private void buttonSaveSettingFileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonSaveSettingFileActionPerformed saveSettings(); JFileChooser fc = new JFileChooser(); fc.setFileFilter(new FileNameExtensionFilter("*.conf", "conf")); File cd = new File(JKaiUI.getConfig().getConfigSettingFolder()+"/setting"); fc.setCurrentDirectory(cd); // File conffile = new File(""); if (fc.showSaveDialog(panelCommonFooter) == JFileChooser.APPROVE_OPTION) { System.out.println("You chose to save this file: " + fc.getSelectedFile()); File conffile = fc.getSelectedFile(); // File PhraseHolder = new File(PhraseFile.getParent()); PrintWriter conffilepw; try { if (!cd.exists()) { cd.mkdir(); } if (!conffile.exists()) { conffile.createNewFile(); } if (conffile.isFile() && conffile.canWrite()) { //�o�b�t�@�������Ńt���b�V�� conffilepw = new PrintWriter(new BufferedWriter(new FileWriter(conffile)), true); conffilepw.print(JKaiUI.getConfig().savetoFileConfig()); conffilepw.close(); } } catch (Exception e) { System.out.println("saveconffile:" + e); } } }//GEN-LAST:event_buttonSaveSettingFileActionPerformed private void buttonLoadSettingFileActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_buttonLoadSettingFileActionPerformed JFileChooser fc = new JFileChooser(); fc.setFileFilter(new FileNameExtensionFilter("*.conf", "conf")); File cd = new File(JKaiUI.getConfig().getConfigSettingFolder()+"/setting"); fc.setCurrentDirectory(cd); if (fc.showOpenDialog(panelCommonFooter) == JFileChooser.APPROVE_OPTION) { System.out.println("You chose to open this file: " + fc.getSelectedFile()); File conffile=fc.getSelectedFile(); if (!cd.exists()) { return; } if (!conffile.exists()) { return; } try { if (conffile.isFile() && conffile.canRead()) { BufferedReader conffilebr = new BufferedReader(new FileReader(conffile)); String line; while ((line = conffilebr.readLine()) != null) { //phrase.add(line); //PhraseEditorPane.append(line + "\n"); JKaiUI.getConfig().loadtoFileConfig(line); } conffilebr.close(); } } catch (Exception e) { System.out.println("loadconffile:" + e); } JKaiUI.getConfig().saveConfig(); resetValues(); } }//GEN-LAST:event_buttonLoadSettingFileActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton buttonClearCache; private javax.swing.JButton buttonLoadSettingFile; private javax.swing.JButton buttonSaveSettingFile; private javax.swing.JCheckBox checkAskCommand; private javax.swing.JCheckBox checkAutoArenaMoving; private javax.swing.JCheckBox checkAutoHostSetting; private javax.swing.JCheckBox checkCUICommand; private javax.swing.JCheckBox checkChatWrap; private javax.swing.JCheckBox checkHideServerMessage; private javax.swing.JCheckBox checkPaintColor; private javax.swing.JCheckBox checkShowFriendsLoginInfo; private javax.swing.JCheckBox checkShowImageMouseover; private javax.swing.JCheckBox checkShowLatestChat; private javax.swing.JCheckBox checkboxShowIcons; private javax.swing.ButtonGroup choiceChatStyle; private javax.swing.ButtonGroup choiceEngineConnection; private javax.swing.JCheckBox choicePlayMessageSound; private javax.swing.ButtonGroup choiceSelectCategory; private javax.swing.JCheckBox choiceShowServerStats; private javax.swing.JCheckBox choiceShowTimestamps; private javax.swing.JCheckBox choiceStoreWindowPosition; private javax.swing.JCheckBox choiceURLDecode; private javax.swing.JComboBox comboArenaPM; private javax.swing.JComboBox comboChat; private javax.swing.JComboBox comboFriendChat; private javax.swing.JComboBox comboFriendOnline; private javax.swing.JComboBox comboFriendPM; private javax.swing.JComboBox comboModeratorChat; private javax.swing.JComboBox comboPMOpen; private javax.swing.JComboBox comboSend; private javax.swing.JTextField fieldAllLog; private javax.swing.JTextField fieldAllLogPattern; private javax.swing.JTextField fieldChatLog; private javax.swing.JTextField fieldChatLogPattern; private javax.swing.JTextField fieldEngineAddress; private javax.swing.JTextField fieldEnginePort; private javax.swing.JTextField fieldFriendLog; private javax.swing.JTextField fieldFriendLogPattern; private javax.swing.JTextField fieldMACLog; private javax.swing.JTextField fieldMACLogPattern; private javax.swing.JTextField fieldNTPServer; private javax.swing.JPasswordField fieldPassword; private javax.swing.JTextField fieldRoomLog; private javax.swing.JTextField fieldRoomLogPattern; private javax.swing.JTextField fieldSettingFolder; private javax.swing.JTextField fieldUserLog; private javax.swing.JTextField fieldUserLogPattern; private javax.swing.JTextField fieldXTag; private javax.swing.JButton jButtonClose; private javax.swing.JButton jButtonCopySetting; private javax.swing.JButton jButtonReset; private javax.swing.JButton jButtonSave; private javax.swing.JComboBox jComboBox1; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel10; private javax.swing.JLabel jLabel11; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JLabel jLabel7; private javax.swing.JLabel jLabel8; private javax.swing.JLabel jLabel9; private javax.swing.JLabel jLabelHeader; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JToggleButton jToggleButton1; private javax.swing.JLabel labelCacheTime; private javax.swing.JLabel labelEngineAddress; private javax.swing.JLabel labelEnginePort; private javax.swing.JLabel labelLogPattern; private javax.swing.JLabel labelLogdirectory; private javax.swing.JLabel labelNTPServer; private javax.swing.JLabel labelPassword; private javax.swing.JLabel labelSoundFile; private javax.swing.JLabel labelXTag; private javax.swing.JPanel panelAppearance; private javax.swing.JPanel panelAutoSetting; private javax.swing.JPanel panelChatFont; private javax.swing.JPanel panelChatPM; private javax.swing.JPanel panelCommonFooter; private javax.swing.JPanel panelConnection; private javax.swing.JPanel panelEngineConnection; private javax.swing.JPanel panelEngineSettings; private javax.swing.JPanel panelGeneral; private javax.swing.JPanel panelIcons; private javax.swing.JPanel panelLogger; private javax.swing.JPanel panelLogin; private javax.swing.JPanel panelLookAndFeel; private javax.swing.JPanel panelMainContent; private javax.swing.JPanel panelMiscellaneous; private javax.swing.JPanel panelOriginal; private javax.swing.JPanel panelRoomFont; private javax.swing.JPanel panelRoomUser; private javax.swing.JPanel panelSound; private javax.swing.JPanel panelSounds; private javax.swing.JPanel panelSwitchers; private javax.swing.JRadioButton radioAllLogger; private javax.swing.JRadioButton radioArenaPM; private javax.swing.JRadioButton radioAutomaticConnection; private javax.swing.JRadioButton radioChat; private javax.swing.JRadioButton radioChatLogger; private javax.swing.JRadioButton radioFriendChat; private javax.swing.JRadioButton radioFriendLogger; private javax.swing.JRadioButton radioFriendOnline; private javax.swing.JRadioButton radioFriendPM; private javax.swing.JRadioButton radioGUIStyle; private javax.swing.JRadioButton radioJKaiUIStyle; private javax.swing.JRadioButton radioMACLogger; private javax.swing.JRadioButton radioManualConnection; private javax.swing.JRadioButton radioModeratorChat; private javax.swing.JRadioButton radioPMOpen; private javax.swing.JRadioButton radioRoomLogger; private javax.swing.JRadioButton radioSend; private javax.swing.JRadioButton radioUserLogger; private javax.swing.JRadioButton radioWebUIStyle; private javax.swing.JScrollPane scrollerPane; private javax.swing.JSpinner spinnerCacheTime; private javax.swing.JSpinner spinnerChatFontSize; private javax.swing.JSpinner spinnerInputFieldFontSize; private javax.swing.JSpinner spinnerRoomFontSize; private javax.swing.JSpinner spinnerSystemFontSize; private javax.swing.JSpinner spinnermaxChatHistory; private javax.swing.JToggleButton toggleAppearance; private javax.swing.JToggleButton toggleConnection; private javax.swing.JToggleButton toggleMisc; private javax.swing.JToggleButton toggleOriginal; // End of variables declaration//GEN-END:variables public void resetValues() { fieldXTag.setText(kaiConfig.getConfigString(TAG)); // 0 fieldPassword.setText(kaiConfig.getConfigString(PASSWORD)); // 1 fieldEngineAddress.setText(kaiConfig.getConfigString(HOST)); // 2 fieldEnginePort.setText(String.valueOf(kaiConfig.getConfigInt(PORT))); // 3 if (kaiConfig.getConfigBoolean(AUTOMATICALLYDETECTED)) { choiceEngineConnection.setSelected(radioAutomaticConnection.getModel(), true); } else { choiceEngineConnection.setSelected(radioManualConnection.getModel(), true); fieldEngineAddress.setEnabled(true); fieldEnginePort.setEnabled(true); } /* switch (kaiConfig.getPlaySoundTiming()) { case 1: choicePlaySoundTiming.setSelected(radioChat.getModel(), true); break; case 2: choicePlaySoundTiming.setSelected(radioFriendPM.getModel(), true); break; case 3: choicePlaySoundTiming.setSelected(radioPMOpen.getModel(), true); break; case 4: choicePlaySoundTiming.setSelected(radioFriendChat.getModel(), true); break; default: break; } */ spinnerCacheTime.setValue(new Integer(kaiConfig.getConfigInt(CACHEDAYS))); String s = File.separator; File cacheLocation = new File(kaiConfig.getConfigString(AVATARCACHE)); buttonClearCache.setEnabled(cacheLocation.exists()); fieldNTPServer.setText(kaiConfig.getConfigString(NTPSERVER)); choiceShowTimestamps.setSelected(kaiConfig.getConfigBoolean(SHOWTIMESTAMPS)); choiceShowServerStats.setSelected(kaiConfig.getConfigBoolean(SHOWSERVERSTATS)); choiceStoreWindowPosition.setSelected(kaiConfig.getConfigBoolean(STOREWINDOWSIZEPOSITION)); choicePlayMessageSound.setSelected(kaiConfig.getConfigBoolean(PLAYMESSAGESOUND)); fieldSettingFolder.setText(kaiConfig.getConfigString(SettingFolder)); // choiceHtmlUnicode.setSelected(kaiConfig.getConfigBoolean("HtmlUnicode()); choiceURLDecode.setSelected(kaiConfig.getConfigBoolean(URLDecode)); checkAutoHostSetting.setSelected(kaiConfig.getConfigBoolean(AutoHostSetting)); checkAutoArenaMoving.setSelected(kaiConfig.getConfigBoolean(AutoArenaMoving)); radioChatLogger.setSelected(kaiConfig.getConfigBoolean(ChatLog)); fieldChatLog.setText(kaiConfig.getConfigString(ChatLogFile)); fieldChatLogPattern.setText(kaiConfig.getConfigString(ChatLogPattern)); if (JKaiUI.develflag) { radioAllLogger.setSelected(kaiConfig.getConfigBoolean(AllLog)); radioUserLogger.setSelected(kaiConfig.getConfigBoolean(UserLog)); radioRoomLogger.setSelected(kaiConfig.getConfigBoolean(RoomLog)); radioFriendLogger.setSelected(kaiConfig.getConfigBoolean(FriendLog)); radioMACLogger.setSelected(kaiConfig.getConfigBoolean(MACLog)); fieldAllLog.setText(kaiConfig.getConfigString(AllLogFile)); fieldUserLog.setText(kaiConfig.getConfigString(UserLogFile)); fieldRoomLog.setText(kaiConfig.getConfigString(RoomLogFile)); fieldFriendLog.setText(kaiConfig.getConfigString(FriendLogFile)); fieldMACLog.setText(kaiConfig.getConfigString(MACLogFile)); fieldAllLogPattern.setText(kaiConfig.getConfigString(AllLogPattern)); fieldUserLogPattern.setText(kaiConfig.getConfigString(UserLogPattern)); fieldRoomLogPattern.setText(kaiConfig.getConfigString(RoomLogPattern)); fieldFriendLogPattern.setText(kaiConfig.getConfigString(FriendLogPattern)); fieldMACLogPattern.setText(kaiConfig.getConfigString(MACLogPattern)); } checkShowLatestChat.setSelected(kaiConfig.getConfigBoolean(ShowLatestChat)); checkShowFriendsLoginInfo.setSelected(kaiConfig.getConfigBoolean(ShowFriendLoginInfo)); checkHideServerMessage.setSelected(kaiConfig.getConfigBoolean(HideServerMessage)); spinnerChatFontSize.setValue(new Integer(kaiConfig.getConfigInt(ChatFontSize))); spinnerSystemFontSize.setValue(new Integer(kaiConfig.getConfigInt(SystemFontSize))); spinnerInputFieldFontSize.setValue(new Integer(kaiConfig.getConfigInt(InputFieldFontSize))); spinnerRoomFontSize.setValue(new Integer(kaiConfig.getConfigInt(RoomFontSize))); spinnermaxChatHistory.setValue(new Integer(kaiConfig.getConfigInt(MaxChatHistory))); checkPaintColor.setSelected(kaiConfig.getConfigBoolean(ColorBackground)); checkChatWrap.setSelected(kaiConfig.getConfigBoolean(ChatWrap)); checkShowImageMouseover.setSelected(kaiConfig.getConfigBoolean(ShowImageMouseoverLink)); checkCUICommand.setSelected(kaiConfig.getConfigBoolean(CUICommand)); checkAskCommand.setSelected(kaiConfig.getConfigBoolean(AskCommand)); switch (kaiConfig.getConfigInt(ChatDisplayStyle)) { case 0: choiceChatStyle.setSelected(radioJKaiUIStyle.getModel(), true); break; case 1: choiceChatStyle.setSelected(radioGUIStyle.getModel(), true); break; case 2: choiceChatStyle.setSelected(radioWebUIStyle.getModel(), true); break; default: break; } radioChat.setSelected(kaiConfig.getConfigBoolean(ChatSound)); radioPMOpen.setSelected(kaiConfig.getConfigBoolean(PMOpenSound)); radioFriendPM.setSelected(kaiConfig.getConfigBoolean(FriendPMSound)); radioFriendChat.setSelected(kaiConfig.getConfigBoolean(FriendChatSound)); radioFriendOnline.setSelected(kaiConfig.getConfigBoolean(FriendOnlineSound)); radioArenaPM.setSelected(kaiConfig.getConfigBoolean(ArenaPMSound)); radioModeratorChat.setSelected(kaiConfig.getConfigBoolean(ModeratorChatSound)); radioSend.setSelected(kaiConfig.getConfigBoolean(SendSound)); comboChat.setSelectedItem("default"); comboPMOpen.setSelectedItem("default"); comboFriendPM.setSelectedItem("default"); comboFriendChat.setSelectedItem("default"); comboFriendOnline.setSelectedItem("default"); comboArenaPM.setSelectedItem("default"); comboModeratorChat.setSelectedItem("default"); comboSend.setSelectedItem("default"); File dir = new File(JKaiUI.getConfig().getConfigSettingFolder()+"/sound"); if(dir.exists()){ File[] soundfiles = dir.listFiles(); for (int i = 0; i < soundfiles.length; i++) { comboChat.addItem(soundfiles[i].getName()); comboPMOpen.addItem(soundfiles[i].getName()); comboFriendPM.addItem(soundfiles[i].getName()); comboFriendChat.addItem(soundfiles[i].getName()); comboFriendOnline.addItem(soundfiles[i].getName()); comboArenaPM.addItem(soundfiles[i].getName()); comboModeratorChat.addItem(soundfiles[i].getName()); comboSend.addItem(soundfiles[i].getName()); if (soundfiles[i].getName().equals(kaiConfig.getConfigString(ChatSoundFile))) { comboChat.setSelectedItem(kaiConfig.getConfigString(ChatSoundFile)); } if (soundfiles[i].getName().equals((kaiConfig.getConfigString(PMOpenSoundFile)))) { comboPMOpen.setSelectedItem(kaiConfig.getConfigString(PMOpenSoundFile)); } if (soundfiles[i].getName().equals((String) (kaiConfig.getConfigString(FriendPMSoundFile)))) { comboFriendPM.setSelectedItem(kaiConfig.getConfigString(FriendPMSoundFile)); } if (soundfiles[i].getName().equals((String) (kaiConfig.getConfigString(FriendChatSoundFile)))) { comboFriendChat.setSelectedItem(kaiConfig.getConfigString(FriendChatSoundFile)); } if (soundfiles[i].getName().equals((String) (kaiConfig.getConfigString(FriendOnlineSoundFile)))) { comboFriendOnline.setSelectedItem(kaiConfig.getConfigString(FriendOnlineSoundFile)); } if (soundfiles[i].getName().equals((String) (kaiConfig.getConfigString(ArenaPMSoundFile)))) { comboArenaPM.setSelectedItem(kaiConfig.getConfigString(ArenaPMSoundFile)); } if (soundfiles[i].getName().equals((String) (kaiConfig.getConfigString(ModeratorChatSoundFile)))) { comboModeratorChat.setSelectedItem(kaiConfig.getConfigString(ModeratorChatSoundFile)); } if (soundfiles[i].getName().equals((String) (kaiConfig.getConfigString(SendSoundFile)))) { comboSend.setSelectedItem(kaiConfig.getConfigString(SendSoundFile)); } } } } private void saveSettings() { kaiConfig.setConfig(TAG, fieldXTag.getText()); kaiConfig.setConfig(PASSWORD, fieldPassword.getText()); kaiConfig.setConfig(CACHEDAYS,((Integer) spinnerCacheTime.getValue()).intValue()); kaiConfig.setConfig(HOST, fieldEngineAddress.getText()); try { kaiConfig.setConfig(PORT, Integer.parseInt(fieldEnginePort.getText())); } catch (NumberFormatException nfe) { // Ignore it if it's bad. Maybe should specify a number-only document for the port field? System.out.println("KaiSettingPanel saveSetting"+nfe); } kaiConfig.setConfig(AUTOMATICALLYDETECTED, choiceEngineConnection.getSelection().getActionCommand().equals("true")); // kaiConfig.setPlaySoundTiming(Integer.parseInt(choicePlaySoundTiming.getSelection().getActionCommand())); kaiConfig.setConfig(NTPSERVER, fieldNTPServer.getText()); kaiConfig.setConfig(SHOWTIMESTAMPS, choiceShowTimestamps.isSelected()); kaiConfig.setConfig(SHOWSERVERSTATS, choiceShowServerStats.isSelected()); kaiConfig.setConfig(STOREWINDOWSIZEPOSITION, choiceStoreWindowPosition.isSelected()); kaiConfig.setConfig(PLAYMESSAGESOUND, choicePlayMessageSound.isSelected()); kaiConfig.setConfig(SettingFolder, fieldSettingFolder.getText()); // kaiConfig.setConfig(HtmlUnicode(choiceHtmlUnicode.isSelected()); kaiConfig.setConfig(URLDecode, choiceURLDecode.isSelected()); kaiConfig.setConfig(AutoHostSetting, checkAutoHostSetting.isSelected()); kaiConfig.setConfig(AutoArenaMoving, checkAutoArenaMoving.isSelected()); kaiConfig.setConfig(ChatLog, radioChatLogger.isSelected()); kaiConfig.setConfig(ChatLogFile, fieldChatLog.getText()); kaiConfig.setConfig(ChatLogPattern, fieldChatLogPattern.getText()); if (JKaiUI.develflag) { kaiConfig.setConfig(AllLog, radioAllLogger.isSelected()); kaiConfig.setConfig(UserLog, radioUserLogger.isSelected()); kaiConfig.setConfig(RoomLog, radioRoomLogger.isSelected()); kaiConfig.setConfig(FriendLog, radioFriendLogger.isSelected()); kaiConfig.setConfig(MACLog, radioMACLogger.isSelected()); kaiConfig.setConfig(AllLogFile, fieldAllLog.getText()); kaiConfig.setConfig(UserLogFile, fieldUserLog.getText()); kaiConfig.setConfig(RoomLogFile, fieldRoomLog.getText()); kaiConfig.setConfig(FriendLogFile, fieldFriendLog.getText()); kaiConfig.setConfig(MACLogFile, fieldMACLog.getText()); kaiConfig.setConfig(AllLogPattern, fieldAllLogPattern.getText()); kaiConfig.setConfig(UserLogPattern, fieldUserLogPattern.getText()); kaiConfig.setConfig(RoomLogPattern, fieldRoomLogPattern.getText()); kaiConfig.setConfig(FriendLogPattern, fieldFriendLogPattern.getText()); kaiConfig.setConfig(MACLogPattern, fieldMACLogPattern.getText()); } kaiConfig.setConfig(ShowLatestChat, checkShowLatestChat.isSelected()); kaiConfig.setConfig(ShowFriendLoginInfo, checkShowFriendsLoginInfo.isSelected()); kaiConfig.setConfig(HideServerMessage, checkHideServerMessage.isSelected()); kaiConfig.setConfig(ChatFontSize, ((Integer)spinnerChatFontSize.getValue()).intValue()); kaiConfig.setConfig(SystemFontSize, ((Integer)spinnerSystemFontSize.getValue()).intValue()); kaiConfig.setConfig(RoomFontSize, ((Integer)spinnerRoomFontSize.getValue()).intValue()); kaiConfig.setConfig(InputFieldFontSize, ((Integer)spinnerInputFieldFontSize.getValue()).intValue()); kaiConfig.setConfig(MaxChatHistory, ((Integer)spinnermaxChatHistory.getValue()).intValue()); kaiConfig.setConfig(ChatWrap, checkChatWrap.isSelected()); kaiConfig.setConfig(ColorBackground, checkPaintColor.isSelected()); kaiConfig.setConfig(ShowImageMouseoverLink, checkShowImageMouseover.isSelected()); kaiConfig.setConfig(ChatDisplayStyle, Integer.parseInt(choiceChatStyle.getSelection().getActionCommand())); kaiConfig.setConfig(CUICommand, checkCUICommand.isSelected()); kaiConfig.setConfig(AskCommand, checkAskCommand.isSelected()); kaiConfig.setConfig(ChatSound, radioChat.isSelected()); kaiConfig.setConfig(FriendPMSound, radioFriendPM.isSelected()); kaiConfig.setConfig(FriendChatSound, radioFriendChat.isSelected()); kaiConfig.setConfig(PMOpenSound, radioPMOpen.isSelected()); kaiConfig.setConfig(FriendOnlineSound, radioFriendOnline.isSelected()); kaiConfig.setConfig(ArenaPMSound, radioArenaPM.isSelected()); kaiConfig.setConfig(ModeratorChatSound, radioModeratorChat.isSelected()); kaiConfig.setConfig(SendSound, radioSend.isSelected()); kaiConfig.setConfig(ChatSoundFile, (String)comboChat.getSelectedItem()); kaiConfig.setConfig(FriendPMSoundFile, (String)comboFriendPM.getSelectedItem()); kaiConfig.setConfig(FriendChatSoundFile, (String)comboFriendChat.getSelectedItem()); kaiConfig.setConfig(PMOpenSoundFile, (String)comboPMOpen.getSelectedItem()); kaiConfig.setConfig(FriendOnlineSoundFile, (String)comboFriendOnline.getSelectedItem()); kaiConfig.setConfig(ArenaPMSoundFile, (String)comboArenaPM.getSelectedItem()); kaiConfig.setConfig(ModeratorChatSoundFile, (String)comboModeratorChat.getSelectedItem()); kaiConfig.setConfig(SendSoundFile, (String)comboSend.getSelectedItem()); // Ensure everything's saved kaiConfig.saveConfig(); JKaiUI.getLogFileManager().updateAll(); JKaiUI.getChatManager().initSoundFile(); JKaiUI.getArenaMode().setRoomFontSize(((Integer) spinnerRoomFontSize.getValue()).intValue()); JKaiUI.getDiagMode().setRoomFontSize(((Integer) spinnerRoomFontSize.getValue()).intValue()); JKaiUI.getMessengerMode().setRoomFontSize(((Integer) spinnerRoomFontSize.getValue()).intValue()); JKaiUI.getChatManager().setInputFieldFontSize(((Integer)spinnerInputFieldFontSize.getValue()).intValue()); } public boolean equals(Object other) { return (other != null) && (other instanceof KaiSettingsPanel); } }