package moviescraper.doctord.controller;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.IOException;
import java.util.List;
import javax.swing.JOptionPane;
import moviescraper.doctord.controller.releaserenamer.WebReleaseRenamer;
import moviescraper.doctord.model.preferences.MoviescraperPreferences;
import moviescraper.doctord.view.GUIMain;
public class FileNameCleanupAction implements ActionListener {
GUIMain guiMain;
public FileNameCleanupAction(GUIMain guiMain) {
this.guiMain = guiMain;
}
@Override
public void actionPerformed(ActionEvent arg0) {
List<File> filesSelected = guiMain.getCurrentlySelectedMovieFileList();
System.out.println("Files selected = " + filesSelected);
try {
WebReleaseRenamer webReleaseRenamer = new WebReleaseRenamer();
for(File currentFile : filesSelected)
{
System.out.println("currentFile = " + currentFile);
System.out.println("currentFileRenamer = " + webReleaseRenamer.getCleanName(currentFile.getName()));
System.out.println("I want to rename to " + webReleaseRenamer.newFileName(currentFile));
File newFileName = webReleaseRenamer.newFileName(currentFile);
if(currentFile.getName().equals(newFileName.getName()))
{
System.out.println("New file and old file are the same. No rename necessary.");
}
else if(guiMain != null && MoviescraperPreferences.getInstance().getConfirmCleanUpFileNameNameBeforeRenaming())
{
int optionPicked = JOptionPane.showConfirmDialog(
guiMain.getFrmMoviescraper(),
"<html>Rename <b>" + currentFile + "</b><br> to <b>" + newFileName + "</b> ?</html>",
"Confirm Rename",
JOptionPane.YES_NO_OPTION);
if(optionPicked == JOptionPane.YES_OPTION)
{
boolean renameStatus = currentFile.renameTo(newFileName);
if(renameStatus != true)
System.err.println("Rename failed! Perhaps a file name already exists with that name?");
}
}
else
{
boolean renameStatus = currentFile.renameTo(newFileName);
if(renameStatus != true)
System.err.println("Rename failed! Perhaps a file name already exists with that name?");
}
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
guiMain.updateFileListModel(guiMain.getCurrentlySelectedDirectoryList(), false);
}
}
}