/**
*
*/
package org.limewire.ui.swing.library.table;
import java.awt.event.ActionEvent;
import java.util.ArrayList;
import java.util.List;
import org.limewire.core.api.library.LocalFileItem;
import org.limewire.ui.swing.action.AbstractAction;
import org.limewire.ui.swing.library.LibrarySelected;
import org.limewire.ui.swing.util.I18n;
import org.limewire.ui.swing.util.NativeLaunchUtils;
import com.google.inject.Inject;
import com.google.inject.Provider;
/**
* Locates the selected file on disk.
*/
class LocateFileAction extends AbstractAction {
private final Provider<List<LocalFileItem>> selectedLocalFileItems;
@Inject
public LocateFileAction(@LibrarySelected Provider<List<LocalFileItem>> selectedLocalFileItems) {
super(I18n.tr("Locate on Disk"));
this.selectedLocalFileItems = selectedLocalFileItems;
}
@Override
public void actionPerformed(ActionEvent e) {
List<LocalFileItem> localFileItems = new ArrayList<LocalFileItem>(selectedLocalFileItems.get());
if(localFileItems.size() > 0) {
LocalFileItem item = localFileItems.get(0);
NativeLaunchUtils.launchExplorer(item.getFile());
}
}
}