X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=win%2FC%23%2FfrmQueue.cs;h=326fb72411b7d85ecbdb58de1bf6e44ddbc30640;hb=b8c7cf18f82ad8552e4a79ab3e93794a2e7759e5;hp=13c0e1f3ed6aee2f24fcbb5efca3a8abdd774197;hpb=dd81e75c737198c25fb915a1ba62c287f4156750;p=handbrake-jp%2Fhandbrake-jp-git.git
diff --git a/win/C#/frmQueue.cs b/win/C#/frmQueue.cs
index 13c0e1f3..326fb724 100644
--- a/win/C#/frmQueue.cs
+++ b/win/C#/frmQueue.cs
@@ -9,46 +9,52 @@ using System.Collections.Generic;
using System.ComponentModel;
using System.Windows.Forms;
using Handbrake.EncodeQueue;
+using System.Collections.ObjectModel;
+using Handbrake.Model;
namespace Handbrake
{
public partial class frmQueue : Form
{
private delegate void UpdateHandler();
- QueueHandler queue;
+ private Queue queue;
+ private frmMain mainWindow;
- public frmQueue(QueueHandler q)
+ public frmQueue(Queue q, frmMain mw)
{
InitializeComponent();
+ this.mainWindow = mw;
+
this.queue = q;
- queue.OnEncodeStart += new EventHandler(queue_OnEncodeStart);
- queue.OnQueueFinished += new EventHandler(queue_OnQueueFinished);
- queue.OnPaused += new EventHandler(queue_OnPaused);
+ queue.EncodeStarted += new EventHandler(QueueOnEncodeStart);
+ queue.QueueCompleted += new EventHandler(QueueOnQueueFinished);
+ queue.QueuePauseRequested += new EventHandler(QueueOnPaused);
}
- void queue_OnPaused(object sender, EventArgs e)
+
+ private void QueueOnPaused(object sender, EventArgs e)
{
- setUIEncodeFinished();
- updateUIElements();
+ SetUIEncodeFinished();
+ UpdateUIElements();
}
- void queue_OnQueueFinished(object sender, EventArgs e)
+ private void QueueOnQueueFinished(object sender, EventArgs e)
{
- setUIEncodeFinished();
- resetQueue(); // Reset the Queue Window
+ SetUIEncodeFinished();
+ ResetQueue(); // Reset the Queue Window
}
- void queue_OnEncodeStart(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();
}
///
@@ -56,7 +62,7 @@ namespace Handbrake
///
public new void Show()
{
- Show(true);
+ Show(true);
}
///
@@ -65,58 +71,60 @@ 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
private void btn_encode_Click(object sender, EventArgs e)
{
- if (queue.isPaused)
+ if (queue.PauseRequested)
{
- setUIEncodeStarted();
+ SetUIEncodeStarted();
MessageBox.Show("Encoding restarted", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
- if (!queue.isEncodeStarted)
- queue.startEncode();
+ if (!queue.IsEncoding)
+ queue.Start();
}
private void btn_pause_Click(object sender, EventArgs e)
{
- queue.pauseEncodeQueue();
- setUIEncodeFinished();
- resetQueue();
+ 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;
@@ -131,16 +139,16 @@ 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;
}
list_queue.Items.Clear();
- List theQueue = queue.getQueue();
+ ReadOnlyCollection theQueue = queue.CurrentQueue;
foreach (Job queue_item in theQueue)
{
string q_item = queue_item.Query;
@@ -169,7 +177,7 @@ 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 != "")
audio += ", " + track.Encoder;
@@ -181,30 +189,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.lastQueueItem.Query);
- lbl_source.Text = queue.lastQueueItem.Source;
- lbl_dest.Text = queue.lastQueueItem.Destination;
+ Functions.QueryParser parsed = Functions.QueryParser.Parse(queue.LastEncode.Query);
+ lbl_source.Text = queue.LastEncode.Source;
+ lbl_dest.Text = queue.LastEncode.Destination;
lbl_title.Text = parsed.DVDTitle == 0 ? "Auto" : parsed.DVDTitle.ToString();
@@ -222,7 +230,7 @@ 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 != "")
audio += ", " + track.Encoder;
@@ -236,7 +244,7 @@ namespace Handbrake
// Do Nothing
}
}
- private void deleteSelectedItems()
+ private void DeleteSelectedItems()
{
// If there are selected items
if (list_queue.SelectedIndices.Count > 0)
@@ -253,9 +261,9 @@ namespace Handbrake
// Remove each selected item
foreach (int selectedIndex in selectedIndices)
- queue.remove(selectedIndex);
+ queue.Remove(selectedIndex);
- updateUIElements();
+ UpdateUIElements();
// Select the item where the first deleted item was previously
if (firstSelectedIndex < list_queue.Items.Count)
@@ -268,34 +276,34 @@ 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))
@@ -307,9 +315,9 @@ namespace Handbrake
// Move up each selected item
foreach (int selectedIndex in selectedIndices)
- queue.moveUp(selectedIndex);
+ queue.MoveUp(selectedIndex);
- updateUIElements();
+ UpdateUIElements();
// Keep the selected item(s) selected, now moved up one index
foreach (int selectedIndex in selectedIndices)
@@ -319,7 +327,7 @@ 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 &&
@@ -335,9 +343,9 @@ namespace Handbrake
// Move down each selected item
foreach (int selectedIndex in selectedIndices)
- queue.moveDown(selectedIndex);
+ queue.MoveDown(selectedIndex);
- updateUIElements();
+ UpdateUIElements();
// Keep the selected item(s) selected, now moved down one index
foreach (int selectedIndex in selectedIndices)
@@ -355,7 +363,7 @@ namespace Handbrake
SaveFile.Filter = "Batch|.bat";
SaveFile.ShowDialog();
if (SaveFile.FileName != String.Empty)
- queue.writeBatchScript(SaveFile.FileName);
+ queue.WriteBatchScriptToFile(SaveFile.FileName);
}
private void mnu_export_Click(object sender, EventArgs e)
{
@@ -363,25 +371,42 @@ namespace Handbrake
SaveFile.Filter = "HandBrake Queue|*.queue";
SaveFile.ShowDialog();
if (SaveFile.FileName != String.Empty)
- queue.updateQueueRecoveryFile(SaveFile.FileName);
+ queue.WriteQueueStateToFile(SaveFile.FileName);
}
private void mnu_import_Click(object sender, EventArgs e)
{
OpenFile.FileName = "";
OpenFile.ShowDialog();
if (OpenFile.FileName != String.Empty)
- queue.recoverQueue(OpenFile.FileName);
- updateUIElements();
+ queue.LoadQueueFromFile(OpenFile.FileName);
+ UpdateUIElements();
}
private void mnu_readd_Click(object sender, EventArgs e)
{
- if (queue.lastQueueItem != null)
+ if (!queue.LastEncode.IsEmpty)
+ {
+ 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)
{
- queue.add(queue.lastQueueItem.Query, queue.lastQueueItem.Source, queue.lastQueueItem.Destination);
- updateUIElements();
+ 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)
{
@@ -389,6 +414,5 @@ namespace Handbrake
this.Hide();
base.OnClosing(e);
}
-
}
}