/// <summary> /// Shows the start time and duration of a full scan of the input folders /// </summary> /// <param name="Sender"></param> /// <param name="e"></param> public void scanevent(object Sender, EventArgs e) { string scantext; scantext = (string)Sender; try { if (ScanEventBox.InvokeRequired) { ThreadUpdateCallback d = new ThreadUpdateCallback(scanevent); Invoke(d, new object[] { Sender, e }); //BeginInvoke(d, new object[] { Sender, e }); } else { ScanEventBox.Text = scantext; } } catch (Exception ex) { Console.WriteLine("Error while updating the folder scan box.\n" + ex); Global.log("Error while updating the folder scan box.\n" + ex); } }
/// <summary> /// Remove job from list /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void RemoveJobFromList(object sender, EventArgs e) { try { if (InvokeRequired) { ThreadUpdateCallback d = new ThreadUpdateCallback(RemoveJobFromList); Invoke(d, new object[] { sender, e }); //BeginInvoke(d, new object[] { sender, e }); } else { try { //GjobList.Remove((Job)sender); RemoveJob((Job)sender); // Global.log("RemoveJob " + (Job)sender);//Melek } catch (SystemException ex) { Global.log("Problem adding a job to the list of jobs to remove from GUI.\n" + ex); } } } catch (Exception ex) { Global.log("Problem while removing job \"" + ((Job)sender).path.StreamPath + "\"from the joblist.\n" + ex); } }
/// <summary> /// Edit jobs in joblist /// e.g. profile or priorities have been changed /// or processing job status update (demux/audio/video %..) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void EditJobInList(object sender, EventArgs e) { try { if (InvokeRequired) { ThreadUpdateCallback d = new ThreadUpdateCallback(EditJobInList); Invoke(d, new object[] { sender, EventArgs.Empty }); //BeginInvoke(d, new object[] { sender, EventArgs.Empty }); } else { try { // Trace.WriteLine("WHAT IS THIS SUPPOSED TO DO????"); // Job jte = (Job)sender; //IEnumerable<Job> jobQuery = //from job in GUI.ReadOnlyJobs //where job.path.RootName == jte.path.RootName //select job; //// should only be one job found //foreach (Job job in jobQuery) //{ // int index = GUI.ReadOnlyJobs.IndexOf(job); // GUI.ReadOnlyJobs[index] = jte; // JobListView.Sort("Priority"); // break; //} Job jte = (Job)sender; lock (padlock) { var job = jobList.FirstOrDefault(j => j.path.StreamFileName == jte.path.StreamFileName); //MElek- Rootname changed to filenamme if (job != null) { int index = jobList.IndexOf(job); // Replace the existing job jobList[index] = jte; } } } catch (SystemException ex) { Global.log("Problem editing a job to the list of jobs to edit in GUI.\n" + ex); } } } catch { Job jte = (Job)sender; Global.log("Issue editing job in GUI: " + jte.StreamFileName); //Melek - path.name => streamfilename } }
// Log events in log window public void GuilogEvent(object Sender, EventArgs e) { string logtext; try { if (LogText.InvokeRequired) { ThreadUpdateCallback d = new ThreadUpdateCallback(GuilogEvent); Invoke(d, new object[] { Sender, e }); //BeginInvoke(d, new object[] { Sender, e }); } else { logtext = (string)Sender; Console.WriteLine(logtext); // add the log event text in the notification list box and focus on it LogText.Text = logtext + Environment.NewLine + LogText.Text; string firstlineonly = logtext.Split('\n')[0]; status_notification.Text = firstlineonly; } } catch (Exception ex) { Console.WriteLine("Problem with notification box or log window update\n" + ex); } }
/// <summary> /// Add new detected job to list /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void AddJobToList(object sender, EventArgs e) { try { if (InvokeRequired) { ThreadUpdateCallback d = new ThreadUpdateCallback(AddJobToList); Invoke(d, new object[] { sender, EventArgs.Empty }); //BeginInvoke(d, new object[] { sender, EventArgs.Empty }); } else { try { //if(((Job)sender).){}//Melek //GjobList.Add((Job)sender); //if (!((Job)sender).path.MonitoredFolderDeleted)//Melek //{ AddJob((Job)sender); //} } catch (SystemException ex) { Global.log("Problem adding a job to the list of jobs to add to GUI.\n" + ex); } } } catch (Exception ex) { Global.log("Problem while adding a job \"" + ((Job)sender).path.StreamFileName + "\" to the list.\n" + ex);//Melek- (Job)sender).path.StreamPath changed to Streamfilename } }