2 using System.Collections.Generic;
\r
3 using System.ComponentModel;
\r
5 using System.Drawing;
\r
7 using System.Windows.Forms;
\r
8 using System.Threading;
\r
9 using System.Diagnostics;
\r
13 public partial class frmQueue : Form
\r
15 private delegate void ProgressUpdateHandler();
\r
19 InitializeComponent();
\r
22 private void btn_Close_Click(object sender, EventArgs e)
\r
27 private void btn_delete_Click(object sender, EventArgs e)
\r
29 list_queue.Items.Remove(list_queue.SelectedItem);
\r
32 private void btn_up_Click(object sender, EventArgs e)
\r
34 int count = list_queue.Items.Count;
\r
35 int itemToMove = list_queue.SelectedIndex;
\r
36 int previousItemint = 0;
\r
37 String previousItem = "";
\r
39 if (itemToMove > 0){
\r
40 previousItemint = itemToMove - 1;
\r
41 previousItem = list_queue.Items[previousItemint].ToString();
\r
42 list_queue.Items[previousItemint] = list_queue.Items[itemToMove];
\r
43 list_queue.Items[itemToMove] = previousItem;
\r
44 list_queue.SelectedIndex = list_queue.SelectedIndex - 1;
\r
48 private void btn_down_Click(object sender, EventArgs e)
\r
50 int count = list_queue.Items.Count;
\r
51 int itemToMove = list_queue.SelectedIndex;
\r
52 int itemAfterInt = 0;
\r
53 String itemAfter = "";
\r
55 if (itemToMove < (count - 1))
\r
57 itemAfterInt = itemToMove + 1;
\r
58 itemAfter = list_queue.Items[itemAfterInt].ToString();
\r
59 list_queue.Items[itemAfterInt] = list_queue.Items[itemToMove];
\r
60 list_queue.Items[itemToMove] = itemAfter;
\r
61 list_queue.SelectedIndex = list_queue.SelectedIndex + 1;
\r
65 private void btn_q_encoder_Click(object sender, EventArgs e)
\r
67 progressBar.Value = 0;
\r
68 lbl_progressValue.Text = "0 %";
\r
69 progressBar.Step = 100 / list_queue.Items.Count;
\r
70 progressBar.Update();
\r
71 ThreadPool.QueueUserWorkItem(startProc);
\r
74 private void startProc(object state)
\r
76 for (int i = 0; i < list_queue.Items.Count; i++)
\r
78 string query = list_queue.Items[i] as string;
\r
79 Process hbProc = new Process();
\r
80 hbProc.StartInfo.FileName = "hbcli.exe";
\r
81 hbProc.StartInfo.Arguments = query;
\r
82 hbProc.StartInfo.UseShellExecute = false;
\r
85 // Set the process Priority
\r
87 switch (Properties.Settings.Default.processPriority)
\r
90 hbProc.PriorityClass = ProcessPriorityClass.RealTime;
\r
93 hbProc.PriorityClass = ProcessPriorityClass.High;
\r
95 case "Above Normal":
\r
96 hbProc.PriorityClass = ProcessPriorityClass.AboveNormal;
\r
99 hbProc.PriorityClass = ProcessPriorityClass.Normal;
\r
102 hbProc.PriorityClass = ProcessPriorityClass.Idle;
\r
105 hbProc.PriorityClass = ProcessPriorityClass.BelowNormal;
\r
109 hbProc.WaitForExit();
\r
112 updateUIElements();
\r
116 private void updateUIElements()
\r
118 if (this.InvokeRequired)
\r
120 this.BeginInvoke(new ProgressUpdateHandler(updateUIElements));
\r
124 this.list_queue.Items.RemoveAt(0);
\r
125 progressBar.PerformStep();
\r
126 lbl_progressValue.Text = string.Format("{0} %", progressBar.Value);
\r
127 progressBar.Update();
\r