/**
* 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();
}
}