/* frmQueue.cs $\r
- \r
- This file is part of the HandBrake source code.\r
- Homepage: <http://handbrake.fr>.\r
- It may be used under the terms of the GNU General Public License. */\r
+ This file is part of the HandBrake source code.\r
+ Homepage: <http://handbrake.fr>.\r
+ It may be used under the terms of the GNU General Public License. */\r
\r
namespace Handbrake\r
{\r
using Model;\r
using Services;\r
\r
+ /// <summary>\r
+ /// The Queue Window\r
+ /// </summary>\r
public partial class frmQueue : Form\r
{\r
+ /// <summary>\r
+ /// Update Handler Delegate\r
+ /// </summary>\r
private delegate void UpdateHandler();\r
\r
- private Queue queue;\r
- private frmMain mainWindow;\r
+ /// <summary>\r
+ /// An instance of the Queue service\r
+ /// </summary>\r
+ private readonly Queue queue;\r
\r
+ /// <summary>\r
+ /// A reference to the main application window\r
+ /// </summary>\r
+ private readonly frmMain mainWindow;\r
+\r
+ /// <summary>\r
+ /// Initializes a new instance of the <see cref="frmQueue"/> class.\r
+ /// </summary>\r
+ /// <param name="q">\r
+ /// An instance of the queue service.\r
+ /// </param>\r
+ /// <param name="mw">\r
+ /// The main window.\r
+ /// </param>\r
public frmQueue(Queue q, frmMain mw)\r
{\r
InitializeComponent();\r
queue.QueuePauseRequested += new EventHandler(QueueOnPaused);\r
}\r
\r
+ /// <summary>\r
+ /// Handle the Queue Paused event\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The EventArgs.\r
+ /// </param>\r
private void QueueOnPaused(object sender, EventArgs e)\r
{\r
- SetUIEncodeFinished();\r
- UpdateUIElements();\r
+ SetUiEncodeFinished();\r
+ UpdateUiElements();\r
}\r
\r
+ /// <summary>\r
+ /// Handle the Queue Finished event.\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The EventArgs.\r
+ /// </param>\r
private void QueueOnQueueFinished(object sender, EventArgs e)\r
{\r
- SetUIEncodeFinished();\r
+ SetUiEncodeFinished();\r
ResetQueue(); // Reset the Queue Window\r
}\r
\r
+ /// <summary>\r
+ /// Handle the Encode Started event\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
private void QueueOnEncodeStart(object sender, EventArgs e)\r
{\r
- SetUIEncodeStarted(); // make sure the UI is set correctly\r
+ SetUiEncodeStarted(); // make sure the UI is set correctly\r
SetCurrentEncodeInformation();\r
- UpdateUIElements(); // Redraw the Queue, a new encode has started.\r
+ UpdateUiElements(); // Redraw the Queue, a new encode has started.\r
}\r
\r
/// <summary>\r
/// </summary>\r
public void SetQueue()\r
{\r
- UpdateUIElements();\r
+ UpdateUiElements();\r
}\r
\r
/// <summary>\r
// Activate();\r
}\r
\r
- // Start and Stop Controls\r
- private void btn_encode_Click(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Handle the Encode button Click event\r
+ /// </summary>\r
+ /// <param name="sender">The sender</param>\r
+ /// <param name="e">the EventArgs</param>\r
+ private void BtnEncodeClick(object sender, EventArgs e)\r
{\r
if (queue.PauseRequested)\r
{\r
- SetUIEncodeStarted();\r
+ SetUiEncodeStarted();\r
MessageBox.Show("Encoding restarted", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);\r
}\r
\r
queue.Start();\r
}\r
\r
- private void btn_pause_Click(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Handle the Pause button click event.\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The EventArgs.\r
+ /// </param>\r
+ private void BtnPauseClick(object sender, EventArgs e)\r
{\r
queue.Pause();\r
- SetUIEncodeFinished();\r
+ SetUiEncodeFinished();\r
ResetQueue();\r
MessageBox.Show(\r
- "No further items on the queue will start. The current encode process will continue until it is finished. \nClick 'Encode' when you wish to continue encoding the queue.", \r
+ "No further items on the queue will start. The current encode process will continue until it is finished. \nClick 'Encode' when you wish to continue encoding the queue.",\r
"Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
}\r
\r
+ // UI Work\r
\r
- // Window Display Management\r
- private void SetUIEncodeStarted()\r
+ /// <summary>\r
+ /// Setup the UI to show that an encode has started\r
+ /// </summary>\r
+ private void SetUiEncodeStarted()\r
{\r
if (InvokeRequired)\r
{\r
- BeginInvoke(new UpdateHandler(SetUIEncodeStarted));\r
+ BeginInvoke(new UpdateHandler(SetUiEncodeStarted));\r
return;\r
}\r
btn_encode.Enabled = false;\r
btn_pause.Visible = true;\r
}\r
\r
- private void SetUIEncodeFinished()\r
+ /// <summary>\r
+ /// Setup the UI to indicate that an encode has finished.\r
+ /// </summary>\r
+ private void SetUiEncodeFinished()\r
{\r
if (InvokeRequired)\r
{\r
- BeginInvoke(new UpdateHandler(SetUIEncodeFinished));\r
+ BeginInvoke(new UpdateHandler(SetUiEncodeFinished));\r
return;\r
}\r
btn_pause.Visible = false;\r
btn_encode.Enabled = true;\r
}\r
\r
+ /// <summary>\r
+ /// Reset the Queue Window display\r
+ /// </summary>\r
private void ResetQueue()\r
{\r
if (InvokeRequired)\r
lbl_encodesPending.Text = list_queue.Items.Count + " encode(s) pending";\r
}\r
\r
+ /// <summary>\r
+ /// Redraw the Queue window with the latest information about HandBrakes status\r
+ /// </summary>\r
private void RedrawQueue()\r
{\r
if (InvokeRequired)\r
\r
list_queue.Items.Clear();\r
ReadOnlyCollection<Job> theQueue = queue.CurrentQueue;\r
- foreach (Job queue_item in theQueue)\r
+ foreach (Job queueItem in theQueue)\r
{\r
- string q_item = queue_item.Query;\r
- QueryParser parsed = Functions.QueryParser.Parse(q_item);\r
+ string qItem = queueItem.Query;\r
+ QueryParser parsed = Functions.QueryParser.Parse(qItem);\r
\r
// Get the DVD Title\r
string title = parsed.DVDTitle == 0 ? "Auto" : parsed.DVDTitle.ToString();\r
ListViewItem item = new ListViewItem();\r
item.Text = title; // Title\r
item.SubItems.Add(chapters); // Chapters\r
- item.SubItems.Add(queue_item.Source); // Source\r
- item.SubItems.Add(queue_item.Destination); // Destination\r
+ item.SubItems.Add(queueItem.Source); // Source\r
+ item.SubItems.Add(queueItem.Destination); // Destination\r
item.SubItems.Add(parsed.VideoEncoder); // Video\r
\r
// Display The Audio Track Information\r
}\r
}\r
\r
- private void UpdateUIElements()\r
+ /// <summary>\r
+ /// Update the UI elements\r
+ /// </summary>\r
+ private void UpdateUiElements()\r
{\r
if (InvokeRequired)\r
{\r
- BeginInvoke(new UpdateHandler(UpdateUIElements));\r
+ BeginInvoke(new UpdateHandler(UpdateUiElements));\r
return;\r
}\r
\r
lbl_encodesPending.Text = list_queue.Items.Count + " encode(s) pending";\r
}\r
\r
+ /// <summary>\r
+ /// Set the window up with the current encode information\r
+ /// </summary>\r
private void SetCurrentEncodeInformation()\r
{\r
try\r
}\r
}\r
\r
+ /// <summary>\r
+ /// Delete the currently selected items on the queue\r
+ /// </summary>\r
private void DeleteSelectedItems()\r
{\r
// If there are selected items\r
foreach (int selectedIndex in selectedIndices)\r
queue.Remove(selectedIndex);\r
\r
- UpdateUIElements();\r
+ UpdateUiElements();\r
\r
// Select the item where the first deleted item was previously\r
if (firstSelectedIndex < list_queue.Items.Count)\r
}\r
\r
// Queue Management\r
- private void mnu_up_Click(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Handle the Move Up Menu Item\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void MnuUpClick(object sender, EventArgs e)\r
{\r
MoveUp();\r
}\r
\r
- private void mnu_Down_Click(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Handle the Move down Menu Item\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void MnuDownClick(object sender, EventArgs e)\r
{\r
MoveDown();\r
}\r
\r
- private void mnu_delete_Click(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Handle the delete Menu Item\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void MnuDeleteClick(object sender, EventArgs e)\r
{\r
DeleteSelectedItems();\r
}\r
\r
- private void btn_up_Click(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Handle the Button Up Click\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void BtnUpClick(object sender, EventArgs e)\r
{\r
MoveUp();\r
}\r
\r
- private void btn_down_Click(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Handle the button down click\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void BtnDownClick(object sender, EventArgs e)\r
{\r
MoveDown();\r
}\r
\r
- private void btn_delete_Click(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Handle the delete button click\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void BtnDeleteClick(object sender, EventArgs e)\r
{\r
DeleteSelectedItems();\r
}\r
\r
- private void list_queue_deleteKey(object sender, KeyEventArgs e)\r
+ /// <summary>\r
+ /// Handle the delete keyboard press\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void ListQueueDeleteKey(object sender, KeyEventArgs e)\r
{\r
if (e.KeyCode == Keys.Delete)\r
DeleteSelectedItems();\r
}\r
\r
+ /// <summary>\r
+ /// Move items up in the queue\r
+ /// </summary>\r
private void MoveUp()\r
{\r
// If there are selected items and the first item is not selected\r
foreach (int selectedIndex in selectedIndices)\r
queue.MoveUp(selectedIndex);\r
\r
- UpdateUIElements();\r
+ UpdateUiElements();\r
\r
// Keep the selected item(s) selected, now moved up one index\r
foreach (int selectedIndex in selectedIndices)\r
list_queue.Select(); // Activate the control to show the selected items\r
}\r
\r
+ /// <summary>\r
+ /// Move items down in the queue\r
+ /// </summary>\r
private void MoveDown()\r
{\r
// If there are selected items and the last item is not selected\r
foreach (int selectedIndex in selectedIndices)\r
queue.MoveDown(selectedIndex);\r
\r
- UpdateUIElements();\r
+ UpdateUiElements();\r
\r
// Keep the selected item(s) selected, now moved down one index\r
foreach (int selectedIndex in selectedIndices)\r
}\r
\r
// Queue Import/Export Features\r
- private void mnu_batch_Click(object sender, EventArgs e)\r
+\r
+ /// <summary>\r
+ /// Create a batch script\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void MnuBatchClick(object sender, EventArgs e)\r
{\r
SaveFile.FileName = string.Empty;\r
SaveFile.Filter = "Batch|.bat";\r
queue.WriteBatchScriptToFile(SaveFile.FileName);\r
}\r
\r
- private void mnu_export_Click(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Export Queue\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void MnuExportClick(object sender, EventArgs e)\r
{\r
SaveFile.FileName = string.Empty;\r
SaveFile.Filter = "HandBrake Queue|*.queue";\r
queue.WriteQueueStateToFile(SaveFile.FileName);\r
}\r
\r
- private void mnu_import_Click(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Import Queue\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void MnuImportClick(object sender, EventArgs e)\r
{\r
OpenFile.FileName = string.Empty;\r
OpenFile.ShowDialog();\r
if (OpenFile.FileName != String.Empty)\r
queue.LoadQueueFromFile(OpenFile.FileName);\r
- UpdateUIElements();\r
+ UpdateUiElements();\r
}\r
\r
- private void mnu_readd_Click(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Readd current job to queue\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void MnuReaddClick(object sender, EventArgs e)\r
{\r
if (!queue.LastEncode.IsEmpty)\r
{\r
- queue.Add(queue.LastEncode.Query, queue.LastEncode.Source, queue.LastEncode.Destination, \r
+ queue.Add(queue.LastEncode.Query, queue.LastEncode.Source, queue.LastEncode.Destination,\r
queue.LastEncode.CustomQuery);\r
- UpdateUIElements();\r
+ UpdateUiElements();\r
}\r
}\r
\r
- private void mnu_reconfigureJob_Click(object sender, EventArgs e)\r
+ /// <summary>\r
+ /// Edit Job\r
+ /// </summary>\r
+ /// <param name="sender">\r
+ /// The sender.\r
+ /// </param>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
+ private void MnuReconfigureJobClick(object sender, EventArgs e)\r
{\r
if (list_queue.SelectedIndices != null)\r
{\r
}\r
}\r
\r
-\r
- // Hide's the window when the user tries to "x" out of the window instead of closing it.\r
+ /// <summary>\r
+ /// Hide's the window when the user tries to "x" out of the window instead of closing it.\r
+ /// </summary>\r
+ /// <param name="e">\r
+ /// The e.\r
+ /// </param>\r
protected override void OnClosing(CancelEventArgs e)\r
{\r
e.Cancel = true;\r