package org.arong.egdownloader.ui.menuitem;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.List;
import javax.swing.JMenuItem;
import org.arong.egdownloader.model.Task;
import org.arong.egdownloader.model.TaskStatus;
import org.arong.egdownloader.ui.IconManager;
import org.arong.egdownloader.ui.table.TaskingTable;
import org.arong.egdownloader.ui.window.EgDownloaderWindow;
import org.arong.util.Tracker;
/**
* 开始所有任务
* @author dipoo
* @since 2014-12-07
*/
public class StartAllTaskMenuItem extends JMenuItem {
private static final long serialVersionUID = -2960067609351359632L;
public StartAllTaskMenuItem(String text, final EgDownloaderWindow window){
super(text);
this.setIcon(IconManager.getIcon("start"));
this.setForeground(new Color(0,0,85));
this.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
//获取所有未完成、未开始的任务
TaskingTable table = (TaskingTable) window.runningTable;
//如果正在重建,则不下载
if(table.isRebuild()){
Tracker.println(StartAllTaskMenuItem.class, "正在重建任务");
return;
}
List<Task> tasks = table.getTasks();
for(int i = 0; i < tasks.size(); i ++){
if(tasks.get(i).getStatus() == TaskStatus.UNSTARTED
|| tasks.get(i).getStatus() == TaskStatus.UNCREATED
|| tasks.get(i).getStatus() == TaskStatus.STOPED){
//开启任务
table.startTask(tasks.get(i));
}
}
Tracker.println(getClass(), "【所有任务已开启】");
}
});
}
}