package org.limewire.ui.swing.library.navigator;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import org.limewire.core.api.library.SharedFileList;
import org.limewire.core.api.library.SharedFileListManager;
import org.limewire.ui.swing.util.I18n;
import com.google.inject.Inject;
import com.google.inject.Provider;
/**
* Creates a new PlayList with the name "Untitled", selects
* that PlayList and then enables editing on it.
*/
public class CreateListAction extends AbstractAction {
private final Provider<SharedFileListManager> shareManager;
private final Provider<LibraryNavigatorTable> navTable;
private final Provider<LibraryNavigatorPanel> libraryNavigatorPanel;
@Inject
public CreateListAction(Provider<SharedFileListManager> shareManager,
Provider<LibraryNavigatorTable> navTable,
Provider<LibraryNavigatorPanel> libraryNavigatorPanel) {
super("Create New List");
this.shareManager = shareManager;
this.navTable = navTable;
this.libraryNavigatorPanel = libraryNavigatorPanel;
}
@Override
public void actionPerformed(ActionEvent e) {
final int id = shareManager.get().createNewSharedFileList(I18n.tr("Untitled"));
navTable.get().selectLibraryNavItem(id);
SharedFileList sharedFileList = (SharedFileList)libraryNavigatorPanel.get().getSelectedNavItem().getLocalFileList();
libraryNavigatorPanel.get().editSharedListName(sharedFileList);
}
}