private void StopTask(int TempID, TaskListViewItem Item) { Worker Worker = Workers[TempID]; Worker.Stop(); Item.SubItems[3].Text = "Stopped"; }
private void StartTask(int TempID, TaskListViewItem Item) { Worker Worker = Workers[TempID]; Worker.Start(Tasks[TempID]); Item.SubItems[3].Text = "Running"; }
private void RemoveTask(int TempID, TaskListViewItem Item) { View.Items.Remove(Item); foreach (KeyValuePair <int, Task> Task in Tasks) { if (Task.Key == TempID) { Workers.Remove(TempID); Tasks.Remove(TempID); break; } } }
public TaskManager(ListView View) { // Init lists this.View = View; Tasks = new ListSerializer().Load(); Workers = new Dictionary <int, Worker>(); // Fill view and workers foreach (KeyValuePair <int, Task> Task in Tasks) { TaskListViewItem Item = new TaskListViewItem(Task.Key, Task.Value); Workers.Add(Task.Key, new Worker()); View.Items.Add(Item); // Start task, if autostart is enabled if (Task.Value.bAutostart) { StartTask(Task.Key, Item); } } }
public bool AddTask(string URL, string Keyword, string File, bool bAutostart) { // Check if url is valid XmlNodeList NodeList; if (!new RSSReader().LoadRSS(URL, out NodeList)) { return(false); } // Create task Task Task = new Task(); Task.URL = URL; Task.File = File; Task.Keywords = Keyword; Task.Interval = 15; Task.bAutostart = bAutostart; // Add task internally int TempID = ListSerializer.GetNewTempID(); TaskListViewItem Item = new TaskListViewItem(TempID, Task); Worker Worker = new Worker(); View.Items.Add(Item); Workers.Add(TempID, Worker); Tasks.Add(TempID, Task); // Start task, if autostart is enabled if (Task.bAutostart) { StartTask(TempID, Item); } // Save new task ListSerializer Serializer = new ListSerializer(); Serializer.Save(Tasks); return(true); }