/** * This program 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. * * This program 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 * this program. If not, see <http://www.gnu.org/licenses/>. * */ package cloudExplorer; import java.awt.Color; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JTextField; public class ConfigureIRC implements Runnable { NewJFrame mainFrame; String Home = System.getProperty("user.home"); File config = new File(Home + File.separator + ".cloudExplorerIRC"); public ConfigureIRC(NewJFrame Frame) { mainFrame = Frame; } void calibrateTextArea() { NewJFrame.jTextArea1.append("\n"); try { NewJFrame.jTextArea1.setCaretPosition(NewJFrame.jTextArea1.getLineStartOffset(NewJFrame.jTextArea1.getLineCount() - 1)); } catch (Exception e) { } } public void run() { final JButton save = new JButton("Save"); final JLabel server_label = new JLabel("Server:"); final JLabel info = new JLabel("Please enter your account and server information to access an IRC server."); final JLabel blank = new JLabel(" "); final JLabel blank2 = new JLabel(" "); final JLabel blank3 = new JLabel(" "); final JLabel blank4 = new JLabel(" "); final JLabel blank5 = new JLabel(" "); final JLabel blank6 = new JLabel(" "); final JLabel blank7 = new JLabel(" "); final JLabel password_label = new JLabel("Password:"); final JLabel port_label = new JLabel("Port:"); final JLabel nick_label = new JLabel("Nick:"); final JLabel room_label = new JLabel("Channel:"); final JTextField server_field = new JTextField(null); final JTextField password_field = new JTextField(null); final JTextField port_field = new JTextField(null); final JTextField nick_field = new JTextField(null); final JTextField room_field = new JTextField(null); final JButton close = new JButton("Close"); server_label.setBackground(Color.white); server_label.setForeground(Color.GRAY); server_label.setBorder(null); server_label.setFont(server_label.getFont().deriveFont(14.0f)); password_label.setBackground(Color.white); password_label.setForeground(Color.GRAY); password_label.setBorder(null); password_label.setFont(password_label.getFont().deriveFont(14.0f)); port_label.setBackground(Color.white); port_label.setForeground(Color.GRAY); port_label.setBorder(null); port_label.setFont(port_label.getFont().deriveFont(14.0f)); info.setBackground(Color.white); info.setForeground(Color.GRAY); info.setBorder(null); info.setFont(info.getFont().deriveFont(18.0f)); nick_label.setBackground(Color.white); nick_label.setForeground(Color.GRAY); nick_label.setBorder(null); nick_label.setFont(nick_label.getFont().deriveFont(14.0f)); room_label.setBackground(Color.white); room_label.setForeground(Color.GRAY); room_label.setBorder(null); room_label.setFont(room_label.getFont().deriveFont(14.0f)); save.setBackground(Color.white); save.setForeground(Color.BLUE); save.setIcon(mainFrame.genericEngine); save.setBorder(null); save.setFont(save.getFont().deriveFont(18.0f)); close.setBackground(Color.white); close.setBorder(null); close.setIcon(mainFrame.genericEngine); close.setForeground(Color.BLUE); close.setFont(close.getFont().deriveFont(18.0f)); close.setMaximumSize(new Dimension(150, 15)); save.setMaximumSize(new Dimension(150, 15)); server_field.setMaximumSize(new Dimension(300, 30)); server_field.setFont(server_field.getFont().deriveFont(14.0f)); port_field.setMaximumSize(new Dimension(300, 30)); port_field.setFont(port_field.getFont().deriveFont(14.0f)); password_field.setMaximumSize(new Dimension(300, 30)); password_field.setFont(password_field.getFont().deriveFont(14.0f)); room_field.setMaximumSize(new Dimension(300, 30)); room_field.setFont(room_field.getFont().deriveFont(14.0f)); nick_field.setMaximumSize(new Dimension(300, 30)); nick_field.setFont(nick_field.getFont().deriveFont(14.0f)); mainFrame.jPanel11.removeAll(); mainFrame.jPanel14.removeAll(); mainFrame.jPanel11.setLayout(new BoxLayout(mainFrame.jPanel11, BoxLayout.Y_AXIS)); mainFrame.jPanel11.add(info); mainFrame.jPanel11.add(blank2); mainFrame.jPanel11.add(server_label); mainFrame.jPanel11.add(server_field); mainFrame.jPanel11.add(blank3); mainFrame.jPanel11.add(nick_label); mainFrame.jPanel11.add(nick_field); mainFrame.jPanel11.add(blank4); mainFrame.jPanel11.add(room_label); mainFrame.jPanel11.add(room_field); mainFrame.jPanel11.add(blank5); mainFrame.jPanel11.add(password_label); mainFrame.jPanel11.add(password_field); mainFrame.jPanel11.add(blank6); mainFrame.jPanel11.add(port_label); mainFrame.jPanel11.add(port_field); mainFrame.jPanel11.add(blank); mainFrame.jPanel11.add(close); mainFrame.jPanel11.add(blank7); mainFrame.jPanel11.add(save); mainFrame.jPanel11.repaint(); mainFrame.jPanel11.revalidate(); mainFrame.jPanel11.validate(); if (config.exists()) { try { FileReader frr = new FileReader(config); BufferedReader bfrr = new BufferedReader(frr); String read = null; while ((read = bfrr.readLine()) != null) { String cut[] = read.split("="); if (cut[0].contains("server")) { server_field.setText(cut[1]); } if (cut[0].contains("channel")) { room_field.setText(cut[1]); } if (cut[0].contains("port")) { port_field.setText(cut[1]); } if (cut[0].contains("password")) { if (cut[1] != null) { password_field.setText(cut[1]); } } if (cut[0].contains("nick")) { nick_field.setText(cut[1]); } } bfrr.close(); mainFrame.jPanel11.repaint(); mainFrame.jPanel11.revalidate(); mainFrame.jPanel11.validate(); } catch (Exception read) { } } save.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { Bot bot = new Bot(null, null, null, null); if (server_field.getText().length() > 0 && nick_field.getText().length() > 0 && room_field.getText().length() > 0 && port_field.getText().length() > 0) { bot.writer("\nserver=" + server_field.getText() + "\nnick=" + nick_field.getText() + "\nport=" + port_field.getText() + "\nchannel=" + room_field.getText() + "\npassword=" + password_field.getText(), mainFrame.Home + File.separator + ".cloudExplorerIRC"); if (config.exists()) { mainFrame.jPanel9.setVisible(true); NewJFrame.jTextArea1.append("\nConfiguration saved."); calibrateTextArea(); } else { NewJFrame.jTextArea1.append("\nError, configuration not saved."); } } else { NewJFrame.jTextArea1.append("\nError, please fill out all the fields."); } mainFrame.drawBuckets(); } }); close.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { mainFrame.jPanel11.removeAll(); mainFrame.jPanel11.repaint(); mainFrame.jPanel11.revalidate(); mainFrame.jPanel11.validate(); mainFrame.drawBuckets(); } }); } void startc() { (new Thread(new ConfigureIRC(mainFrame))).start(); } }