package org.wildstang.wildrank.desktop.modes;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JProgressBar;
import javax.swing.JTextField;
import org.wildstang.wildrank.desktop.GlobalAppHandler;
import org.wildstang.wildrank.desktop.TextFieldHintHandler;
import org.wildstang.wildrank.desktop.utils.Logger;
public class ClearDirectories extends Mode implements ActionListener {
JButton clear;
JProgressBar bar;
JTextField field;
BufferedReader br;
BufferedWriter bw;
@Override
protected void initializePanel() {
bar = new JProgressBar();
clear = new JButton("Clear Directories");
clear.addActionListener(this);
field = new JTextField("Enter Password");
field.addFocusListener(new TextFieldHintHandler(field, "Enter Password"));
c.gridx = 0;
c.gridy = 0;
c.gridwidth = 3;
panel.add(field, c);
c.gridy = 1;
panel.add(clear, c);
c.gridy = 2;
panel.add(bar, c);
update.setMode("Directory Clearer");
}
public void clearDirectories() {
GlobalAppHandler.getInstance().disableBackButton();
bar.setMaximum(5);
File file = appData.getLocalLocation();
if (file.exists()) {
Logger.getInstance().log("Emptying: " + file.getAbsolutePath());
deleteFilesInDirectory(file);
}
bar.setValue(3);
bar.setValue(5);
GlobalAppHandler.getInstance().enableBackButton();
}
public static void deleteFilesInDirectory(File directory) {
Logger.getInstance().log("listFilesInDirectory; directory: " + directory.getAbsolutePath());
File[] files = directory.listFiles();
if (files != null) {
for (File file : files) {
if (file.isFile() && !file.getName().equals("game.wild") && !file.getName().equals("unknown.png")) {
file.delete();
} else {
deleteFilesInDirectory(file);
}
}
}
}
@Override
public void actionPerformed(ActionEvent event) {
if (event.getSource() == clear && field.getText().equals("Wild111Stang")) {
clearDirectories();
setMode(new MainMenu());
} else if (event.getSource() == clear) {
field.setText("WRONG PASSWORD");
field.addFocusListener(new TextFieldHintHandler(field, "WRONG PASSWORD"));
}
}
}