OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / win / C# / frmQueue.cs
index 3d3e28f..51dafd0 100644 (file)
@@ -4,26 +4,32 @@
           Homepage: <http://handbrake.fr>.\r
           It may be used under the terms of the GNU General Public License. */\r
 \r
-using System;\r
-using System.Collections.Generic;\r
-using System.ComponentModel;\r
-using System.Windows.Forms;\r
-using Handbrake.EncodeQueue;\r
-using System.Collections.ObjectModel;\r
-\r
 namespace Handbrake\r
 {\r
+    using System;\r
+    using System.Collections.Generic;\r
+    using System.Collections.ObjectModel;\r
+    using System.ComponentModel;\r
+    using System.Windows.Forms;\r
+    using Functions;\r
+    using Model;\r
+    using Services;\r
+\r
     public partial class frmQueue : Form\r
     {\r
         private delegate void UpdateHandler();\r
+\r
         private Queue queue;\r
+        private frmMain mainWindow;\r
 \r
-        public frmQueue(Queue q)\r
+        public frmQueue(Queue q, frmMain mw)\r
         {\r
             InitializeComponent();\r
 \r
+            this.mainWindow = mw;\r
+\r
             this.queue = q;\r
-            queue.NewJobStarted += new EventHandler(QueueOnEncodeStart);\r
+            queue.EncodeStarted += new EventHandler(QueueOnEncodeStart);\r
             queue.QueueCompleted += new EventHandler(QueueOnQueueFinished);\r
             queue.QueuePauseRequested += new EventHandler(QueueOnPaused);\r
         }\r
@@ -33,11 +39,13 @@ namespace Handbrake
             SetUIEncodeFinished();\r
             UpdateUIElements();\r
         }\r
+\r
         private void QueueOnQueueFinished(object sender, EventArgs e)\r
         {\r
             SetUIEncodeFinished();\r
             ResetQueue(); // Reset the Queue Window\r
         }\r
+\r
         private void QueueOnEncodeStart(object sender, EventArgs e)\r
         {\r
             SetUIEncodeStarted(); // make sure the UI is set correctly\r
@@ -58,7 +66,7 @@ namespace Handbrake
         /// </summary>\r
         public new void Show()\r
         {\r
-           Show(true);\r
+            Show(true);\r
         }\r
 \r
         /// <summary>\r
@@ -70,7 +78,7 @@ namespace Handbrake
             if (doSetQueue) SetQueue();\r
             base.Show();\r
 \r
-            //Activate();\r
+            // Activate();\r
         }\r
 \r
         // Start and Stop Controls\r
@@ -84,16 +92,19 @@ namespace Handbrake
 \r
             if (!queue.IsEncoding)\r
                 queue.Start();\r
-\r
         }\r
+\r
         private void btn_pause_Click(object sender, EventArgs e)\r
         {\r
             queue.Pause();\r
             SetUIEncodeFinished();\r
             ResetQueue();\r
-            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);\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
+                "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
         }\r
 \r
+\r
         // Window Display Management\r
         private void SetUIEncodeStarted()\r
         {\r
@@ -105,6 +116,7 @@ namespace Handbrake
             btn_encode.Enabled = false;\r
             btn_pause.Visible = true;\r
         }\r
+\r
         private void SetUIEncodeFinished()\r
         {\r
             if (InvokeRequired)\r
@@ -115,6 +127,7 @@ namespace Handbrake
             btn_pause.Visible = false;\r
             btn_encode.Enabled = true;\r
         }\r
+\r
         private void ResetQueue()\r
         {\r
             if (InvokeRequired)\r
@@ -134,6 +147,7 @@ namespace Handbrake
 \r
             lbl_encodesPending.Text = list_queue.Items.Count + " encode(s) pending";\r
         }\r
+\r
         private void RedrawQueue()\r
         {\r
             if (InvokeRequired)\r
@@ -147,7 +161,7 @@ namespace Handbrake
             foreach (Job queue_item in theQueue)\r
             {\r
                 string q_item = queue_item.Query;\r
-                Functions.QueryParser parsed = Functions.QueryParser.Parse(q_item);\r
+                QueryParser parsed = Functions.QueryParser.Parse(q_item);\r
 \r
                 // Get the DVD Title\r
                 string title = parsed.DVDTitle == 0 ? "Auto" : parsed.DVDTitle.ToString();\r
@@ -172,9 +186,9 @@ namespace Handbrake
 \r
                 // Display The Audio Track Information\r
                 string audio = string.Empty;\r
-                foreach (Functions.AudioTrack track in parsed.AudioInformation)\r
+                foreach (AudioTrack track in parsed.AudioInformation)\r
                 {\r
-                    if (audio != "")\r
+                    if (audio != string.Empty)\r
                         audio += ", " + track.Encoder;\r
                     else\r
                         audio = track.Encoder;\r
@@ -184,6 +198,7 @@ namespace Handbrake
                 list_queue.Items.Add(item);\r
             }\r
         }\r
+\r
         private void UpdateUIElements()\r
         {\r
             if (InvokeRequired)\r
@@ -195,6 +210,7 @@ namespace Handbrake
             RedrawQueue();\r
             lbl_encodesPending.Text = list_queue.Items.Count + " encode(s) pending";\r
         }\r
+\r
         private void SetCurrentEncodeInformation()\r
         {\r
             try\r
@@ -205,7 +221,7 @@ namespace Handbrake
                 }\r
 \r
                 // found query is a global varible\r
-                Functions.QueryParser parsed = Functions.QueryParser.Parse(queue.LastEncode.Query);\r
+                QueryParser parsed = Functions.QueryParser.Parse(queue.LastEncode.Query);\r
                 lbl_source.Text = queue.LastEncode.Source;\r
                 lbl_dest.Text = queue.LastEncode.Destination;\r
 \r
@@ -225,9 +241,9 @@ namespace Handbrake
 \r
                 // Display The Audio Track Information\r
                 string audio = string.Empty;\r
-                foreach (Functions.AudioTrack track in parsed.AudioInformation)\r
+                foreach (AudioTrack track in parsed.AudioInformation)\r
                 {\r
-                    if (audio != "")\r
+                    if (audio != string.Empty)\r
                         audio += ", " + track.Encoder;\r
                     else\r
                         audio = track.Encoder;\r
@@ -239,6 +255,7 @@ namespace Handbrake
                 // Do Nothing\r
             }\r
         }\r
+\r
         private void DeleteSelectedItems()\r
         {\r
             // If there are selected items\r
@@ -273,31 +290,38 @@ namespace Handbrake
         {\r
             MoveUp();\r
         }\r
+\r
         private void mnu_Down_Click(object sender, EventArgs e)\r
         {\r
             MoveDown();\r
         }\r
+\r
         private void mnu_delete_Click(object sender, EventArgs e)\r
         {\r
             DeleteSelectedItems();\r
         }\r
+\r
         private void btn_up_Click(object sender, EventArgs e)\r
         {\r
             MoveUp();\r
         }\r
+\r
         private void btn_down_Click(object sender, EventArgs e)\r
         {\r
             MoveDown();\r
         }\r
+\r
         private void btn_delete_Click(object sender, EventArgs e)\r
         {\r
             DeleteSelectedItems();\r
         }\r
+\r
         private void list_queue_deleteKey(object sender, KeyEventArgs e)\r
         {\r
             if (e.KeyCode == Keys.Delete)\r
                 DeleteSelectedItems();\r
         }\r
+\r
         private void MoveUp()\r
         {\r
             // If there are selected items and the first item is not selected\r
@@ -322,6 +346,7 @@ namespace Handbrake
 \r
             list_queue.Select(); // Activate the control to show the selected items\r
         }\r
+\r
         private void MoveDown()\r
         {\r
             // If there are selected items and the last item is not selected\r
@@ -354,37 +379,59 @@ namespace Handbrake
         // Queue Import/Export Features\r
         private void mnu_batch_Click(object sender, EventArgs e)\r
         {\r
-            SaveFile.FileName = "";\r
+            SaveFile.FileName = string.Empty;\r
             SaveFile.Filter = "Batch|.bat";\r
             SaveFile.ShowDialog();\r
             if (SaveFile.FileName != String.Empty)\r
                 queue.WriteBatchScriptToFile(SaveFile.FileName);\r
         }\r
+\r
         private void mnu_export_Click(object sender, EventArgs e)\r
         {\r
-            SaveFile.FileName = "";\r
+            SaveFile.FileName = string.Empty;\r
             SaveFile.Filter = "HandBrake Queue|*.queue";\r
             SaveFile.ShowDialog();\r
             if (SaveFile.FileName != String.Empty)\r
                 queue.WriteQueueStateToFile(SaveFile.FileName);\r
         }\r
+\r
         private void mnu_import_Click(object sender, EventArgs e)\r
         {\r
-            OpenFile.FileName = "";\r
+            OpenFile.FileName = string.Empty;\r
             OpenFile.ShowDialog();\r
             if (OpenFile.FileName != String.Empty)\r
                 queue.LoadQueueFromFile(OpenFile.FileName);\r
             UpdateUIElements();\r
         }\r
+\r
         private void mnu_readd_Click(object sender, EventArgs e)\r
         {\r
             if (!queue.LastEncode.IsEmpty)\r
             {\r
-                queue.Add(queue.LastEncode.Query, queue.LastEncode.Source, queue.LastEncode.Destination, queue.LastEncode.CustomQuery);\r
+                queue.Add(queue.LastEncode.Query, queue.LastEncode.Source, queue.LastEncode.Destination, \r
+                          queue.LastEncode.CustomQuery);\r
                 UpdateUIElements();\r
             }\r
         }\r
 \r
+        private void mnu_reconfigureJob_Click(object sender, EventArgs e)\r
+        {\r
+            if (list_queue.SelectedIndices != null)\r
+            {\r
+                lock (queue)\r
+                {\r
+                    lock (list_queue)\r
+                    {\r
+                        int index = list_queue.SelectedIndices[0];\r
+                        mainWindow.RecievingJob(queue.GetJob(index));\r
+                        queue.Remove(index);\r
+                        RedrawQueue();\r
+                    }\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
         protected override void OnClosing(CancelEventArgs e)\r
         {\r
@@ -392,6 +439,5 @@ namespace Handbrake
             this.Hide();\r
             base.OnClosing(e);\r
         }\r
-\r
     }\r
-}\r
+}
\ No newline at end of file