X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=win%2FC%23%2FfrmQueue.cs;h=86596e05266fdbfeff242e854466f0c502906c38;hb=bbadff781cdcb5c4676d26141c493939ea28b769;hp=352978960565caf1fa194c8a8985ae2816f6f26e;hpb=a80d8f21b6b9d16ed292f90eb36e3c12072ea69a;p=handbrake-jp%2Fhandbrake-jp-git.git diff --git a/win/C#/frmQueue.cs b/win/C#/frmQueue.cs index 35297896..86596e05 100644 --- a/win/C#/frmQueue.cs +++ b/win/C#/frmQueue.cs @@ -4,52 +4,61 @@ Homepage: . It may be used under the terms of the GNU General Public License. */ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Windows.Forms; -using Handbrake.EncodeQueue; -using System.Collections.ObjectModel; - namespace Handbrake { + using System; + using System.Collections.Generic; + using System.Collections.ObjectModel; + using System.ComponentModel; + using System.Windows.Forms; + using EncodeQueue; + using Functions; + using Model; + public partial class frmQueue : Form { private delegate void UpdateHandler(); - private EncodeAndQueueHandler queue; - public frmQueue(EncodeAndQueueHandler q) + private Queue queue; + private frmMain mainWindow; + + public frmQueue(Queue q, frmMain mw) { InitializeComponent(); + this.mainWindow = mw; + this.queue = q; - queue.NewJobStarted += new EventHandler(queueOnEncodeStart); - queue.QueueCompleted += new EventHandler(queueOnQueueFinished); - queue.QueuePauseRequested += new EventHandler(queueOnPaused); + queue.EncodeStarted += new EventHandler(QueueOnEncodeStart); + queue.QueueCompleted += new EventHandler(QueueOnQueueFinished); + queue.QueuePauseRequested += new EventHandler(QueueOnPaused); } - void queueOnPaused(object sender, EventArgs e) + + private void QueueOnPaused(object sender, EventArgs e) { - setUIEncodeFinished(); - updateUIElements(); + SetUIEncodeFinished(); + UpdateUIElements(); } - void queueOnQueueFinished(object sender, EventArgs e) + + private void QueueOnQueueFinished(object sender, EventArgs e) { - setUIEncodeFinished(); - resetQueue(); // Reset the Queue Window + SetUIEncodeFinished(); + ResetQueue(); // Reset the Queue Window } - void queueOnEncodeStart(object sender, EventArgs e) + + private void QueueOnEncodeStart(object sender, EventArgs e) { - setUIEncodeStarted(); // make sure the UI is set correctly - setCurrentEncodeInformation(); - updateUIElements(); // Redraw the Queue, a new encode has started. + SetUIEncodeStarted(); // make sure the UI is set correctly + SetCurrentEncodeInformation(); + UpdateUIElements(); // Redraw the Queue, a new encode has started. } /// /// Initializes the Queue list with the Arraylist from the Queue class /// - public void setQueue() + public void SetQueue() { - updateUIElements(); + UpdateUIElements(); } /// @@ -57,7 +66,7 @@ namespace Handbrake /// public new void Show() { - Show(true); + Show(true); } /// @@ -66,10 +75,10 @@ namespace Handbrake /// Indicates whether to call setQueue() before showing the window public void Show(bool doSetQueue) { - if (doSetQueue) setQueue(); + if (doSetQueue) SetQueue(); base.Show(); - //Activate(); + // Activate(); } // Start and Stop Controls @@ -77,48 +86,53 @@ namespace Handbrake { if (queue.PauseRequested) { - setUIEncodeStarted(); + SetUIEncodeStarted(); MessageBox.Show("Encoding restarted", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } - if (!queue.isEncoding) - queue.StartEncodeQueue(); - + if (!queue.IsEncoding) + queue.Start(); } + private void btn_pause_Click(object sender, EventArgs e) { - queue.RequestPause(); - setUIEncodeFinished(); - resetQueue(); - MessageBox.Show("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.", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); + queue.Pause(); + SetUIEncodeFinished(); + ResetQueue(); + MessageBox.Show( + "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.", + "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning); } + // Window Display Management - private void setUIEncodeStarted() + private void SetUIEncodeStarted() { if (InvokeRequired) { - BeginInvoke(new UpdateHandler(setUIEncodeStarted)); + BeginInvoke(new UpdateHandler(SetUIEncodeStarted)); return; } btn_encode.Enabled = false; btn_pause.Visible = true; } - private void setUIEncodeFinished() + + private void SetUIEncodeFinished() { if (InvokeRequired) { - BeginInvoke(new UpdateHandler(setUIEncodeFinished)); + BeginInvoke(new UpdateHandler(SetUIEncodeFinished)); return; } btn_pause.Visible = false; btn_encode.Enabled = true; } - private void resetQueue() + + private void ResetQueue() { if (InvokeRequired) { - BeginInvoke(new UpdateHandler(resetQueue)); + BeginInvoke(new UpdateHandler(ResetQueue)); return; } btn_pause.Visible = false; @@ -133,11 +147,12 @@ namespace Handbrake lbl_encodesPending.Text = list_queue.Items.Count + " encode(s) pending"; } - private void redrawQueue() + + private void RedrawQueue() { if (InvokeRequired) { - BeginInvoke(new UpdateHandler(redrawQueue)); + BeginInvoke(new UpdateHandler(RedrawQueue)); return; } @@ -146,7 +161,7 @@ namespace Handbrake foreach (Job queue_item in theQueue) { string q_item = queue_item.Query; - Functions.QueryParser parsed = Functions.QueryParser.Parse(q_item); + QueryParser parsed = Functions.QueryParser.Parse(q_item); // Get the DVD Title string title = parsed.DVDTitle == 0 ? "Auto" : parsed.DVDTitle.ToString(); @@ -171,9 +186,9 @@ namespace Handbrake // Display The Audio Track Information string audio = string.Empty; - foreach (Functions.AudioTrack track in parsed.AudioInformation) + foreach (AudioTrack track in parsed.AudioInformation) { - if (audio != "") + if (audio != string.Empty) audio += ", " + track.Encoder; else audio = track.Encoder; @@ -183,28 +198,30 @@ namespace Handbrake list_queue.Items.Add(item); } } - private void updateUIElements() + + private void UpdateUIElements() { if (InvokeRequired) { - BeginInvoke(new UpdateHandler(updateUIElements)); + BeginInvoke(new UpdateHandler(UpdateUIElements)); return; } - redrawQueue(); + RedrawQueue(); lbl_encodesPending.Text = list_queue.Items.Count + " encode(s) pending"; } - private void setCurrentEncodeInformation() + + private void SetCurrentEncodeInformation() { try { if (InvokeRequired) { - BeginInvoke(new UpdateHandler(setCurrentEncodeInformation)); + BeginInvoke(new UpdateHandler(SetCurrentEncodeInformation)); } // found query is a global varible - Functions.QueryParser parsed = Functions.QueryParser.Parse(queue.LastEncode.Query); + QueryParser parsed = Functions.QueryParser.Parse(queue.LastEncode.Query); lbl_source.Text = queue.LastEncode.Source; lbl_dest.Text = queue.LastEncode.Destination; @@ -224,9 +241,9 @@ namespace Handbrake // Display The Audio Track Information string audio = string.Empty; - foreach (Functions.AudioTrack track in parsed.AudioInformation) + foreach (AudioTrack track in parsed.AudioInformation) { - if (audio != "") + if (audio != string.Empty) audio += ", " + track.Encoder; else audio = track.Encoder; @@ -238,7 +255,8 @@ namespace Handbrake // Do Nothing } } - private void deleteSelectedItems() + + private void DeleteSelectedItems() { // If there are selected items if (list_queue.SelectedIndices.Count > 0) @@ -255,9 +273,9 @@ namespace Handbrake // Remove each selected item foreach (int selectedIndex in selectedIndices) - queue.RemoveJob(selectedIndex); + queue.Remove(selectedIndex); - updateUIElements(); + UpdateUIElements(); // Select the item where the first deleted item was previously if (firstSelectedIndex < list_queue.Items.Count) @@ -270,34 +288,41 @@ namespace Handbrake // Queue Management private void mnu_up_Click(object sender, EventArgs e) { - moveUp(); + MoveUp(); } + private void mnu_Down_Click(object sender, EventArgs e) { - moveDown(); + MoveDown(); } + private void mnu_delete_Click(object sender, EventArgs e) { - deleteSelectedItems(); + DeleteSelectedItems(); } + private void btn_up_Click(object sender, EventArgs e) { - moveUp(); + MoveUp(); } + private void btn_down_Click(object sender, EventArgs e) { - moveDown(); + MoveDown(); } + private void btn_delete_Click(object sender, EventArgs e) { - deleteSelectedItems(); + DeleteSelectedItems(); } + private void list_queue_deleteKey(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Delete) - deleteSelectedItems(); + DeleteSelectedItems(); } - private void moveUp() + + private void MoveUp() { // If there are selected items and the first item is not selected if (list_queue.SelectedIndices.Count > 0 && !list_queue.SelectedIndices.Contains(0)) @@ -311,7 +336,7 @@ namespace Handbrake foreach (int selectedIndex in selectedIndices) queue.MoveUp(selectedIndex); - updateUIElements(); + UpdateUIElements(); // Keep the selected item(s) selected, now moved up one index foreach (int selectedIndex in selectedIndices) @@ -321,7 +346,8 @@ namespace Handbrake list_queue.Select(); // Activate the control to show the selected items } - private void moveDown() + + private void MoveDown() { // If there are selected items and the last item is not selected if (list_queue.SelectedIndices.Count > 0 && @@ -339,7 +365,7 @@ namespace Handbrake foreach (int selectedIndex in selectedIndices) queue.MoveDown(selectedIndex); - updateUIElements(); + UpdateUIElements(); // Keep the selected item(s) selected, now moved down one index foreach (int selectedIndex in selectedIndices) @@ -353,37 +379,59 @@ namespace Handbrake // Queue Import/Export Features private void mnu_batch_Click(object sender, EventArgs e) { - SaveFile.FileName = ""; + SaveFile.FileName = string.Empty; SaveFile.Filter = "Batch|.bat"; SaveFile.ShowDialog(); if (SaveFile.FileName != String.Empty) queue.WriteBatchScriptToFile(SaveFile.FileName); } + private void mnu_export_Click(object sender, EventArgs e) { - SaveFile.FileName = ""; + SaveFile.FileName = string.Empty; SaveFile.Filter = "HandBrake Queue|*.queue"; SaveFile.ShowDialog(); if (SaveFile.FileName != String.Empty) queue.WriteQueueStateToFile(SaveFile.FileName); } + private void mnu_import_Click(object sender, EventArgs e) { - OpenFile.FileName = ""; + OpenFile.FileName = string.Empty; OpenFile.ShowDialog(); if (OpenFile.FileName != String.Empty) queue.LoadQueueFromFile(OpenFile.FileName); - updateUIElements(); + UpdateUIElements(); } + private void mnu_readd_Click(object sender, EventArgs e) { if (!queue.LastEncode.IsEmpty) { - queue.AddJob(queue.LastEncode.Query, queue.LastEncode.Source, queue.LastEncode.Destination, queue.LastEncode.CustomQuery); - updateUIElements(); + queue.Add(queue.LastEncode.Query, queue.LastEncode.Source, queue.LastEncode.Destination, + queue.LastEncode.CustomQuery); + UpdateUIElements(); } } + private void mnu_reconfigureJob_Click(object sender, EventArgs e) + { + if (list_queue.SelectedIndices != null) + { + lock (queue) + { + lock (list_queue) + { + int index = list_queue.SelectedIndices[0]; + mainWindow.RecievingJob(queue.GetJob(index)); + queue.Remove(index); + RedrawQueue(); + } + } + } + } + + // Hide's the window when the user tries to "x" out of the window instead of closing it. protected override void OnClosing(CancelEventArgs e) { @@ -391,6 +439,5 @@ namespace Handbrake this.Hide(); base.OnClosing(e); } - } -} +} \ No newline at end of file