dmolony-DiskBrowser/src/com/bytezone/diskbrowser/gui/DuplicateAction.java

65 lines
1.8 KiB
Java
Raw Normal View History

2015-06-01 09:35:51 +00:00
package com.bytezone.diskbrowser.gui;
import java.awt.event.ActionEvent;
import java.io.File;
import java.util.List;
import java.util.Map;
2016-12-07 10:56:25 +00:00
import javax.swing.Action;
2015-06-01 09:35:51 +00:00
import com.bytezone.common.DefaultAction;
2016-12-07 10:42:01 +00:00
import com.bytezone.diskbrowser.duplicates.DiskDetails;
2016-12-07 10:56:25 +00:00
import com.bytezone.diskbrowser.duplicates.DuplicateWindow;
import com.bytezone.diskbrowser.duplicates.DuplicateWorker;
2016-12-07 10:42:01 +00:00
import com.bytezone.diskbrowser.gui.RootDirectoryAction.RootDirectoryListener;
2015-06-01 09:35:51 +00:00
2016-12-07 10:42:01 +00:00
public class DuplicateAction extends DefaultAction implements RootDirectoryListener
2015-06-01 09:35:51 +00:00
{
Map<String, List<DiskDetails>> duplicateDisks;
int rootFolderLength;
File rootFolder;
DuplicateWindow window;
public DuplicateAction ()
{
super ("Check for duplicates...", "Check for duplicate disks",
2016-12-07 10:42:01 +00:00
"/com/bytezone/diskbrowser/icons/");
2015-06-01 09:35:51 +00:00
setIcon (Action.SMALL_ICON, "save_delete_16.png");
setIcon (Action.LARGE_ICON_KEY, "save_delete_32.png");
}
2016-12-07 10:42:01 +00:00
// public void setDuplicates (File rootFolder,
// Map<String, List<DiskDetails>> duplicateDisks)
// {
// this.duplicateDisks = duplicateDisks;
// this.rootFolderLength = rootFolder.getAbsolutePath ().length ();
// setEnabled (duplicateDisks.size () > 0);
// }
@Override
public void rootDirectoryChanged (File newRootDirectory)
2015-06-01 09:35:51 +00:00
{
2016-12-07 10:42:01 +00:00
this.rootFolder = newRootDirectory;
System.out.println ("gotcha");
2015-06-01 09:35:51 +00:00
}
@Override
public void actionPerformed (ActionEvent arg0)
{
if (duplicateDisks == null)
{
System.out.println ("No duplicate disks found");
return;
}
if (window != null)
{
window.setVisible (true);
return;
}
2016-12-07 10:56:25 +00:00
window = new DuplicateWindow (rootFolder);
2015-06-01 09:35:51 +00:00
for (List<DiskDetails> diskList : duplicateDisks.values ())
new DuplicateWorker (diskList, window).execute ();
}
}