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.properties.FileInfoDialogFactory;
import org.limewire.ui.swing.properties.FileInfoDialog.FileInfoType;
import org.limewire.ui.swing.util.I18n;
import com.google.inject.Inject;
import com.google.inject.Provider;
/**
* Opens the file info view for the given file.
*/
class ViewFileInfoAction extends AbstractAction {
private final Provider<List<LocalFileItem>> selectedLocalFileItems;
private final FileInfoDialogFactory fileInfoFactory;
@Inject
public ViewFileInfoAction(@LibrarySelected Provider<List<LocalFileItem>> selectedLocalFileItems,
FileInfoDialogFactory fileInfoFactory) {
super(I18n.tr("View File Info..."));
this.selectedLocalFileItems = selectedLocalFileItems;
this.fileInfoFactory = fileInfoFactory;
}
@Override
public void actionPerformed(ActionEvent e) {
List<LocalFileItem> localFileItems = new ArrayList<LocalFileItem>(selectedLocalFileItems.get());
if(localFileItems.size() > 0)
fileInfoFactory.createFileInfoDialog(localFileItems.get(0), FileInfoType.LOCAL_FILE);
}
}