OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / win / C# / frmQueue.cs
index 4f8ac2c..3529789 100644 (file)
@@ -8,34 +8,36 @@ using System;
 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
     public partial class frmQueue : Form\r
     {\r
         private delegate void UpdateHandler();\r
-        Queue.QueueHandler queue;\r
+        private EncodeAndQueueHandler queue;\r
 \r
-        public frmQueue(Queue.QueueHandler q)\r
+        public frmQueue(EncodeAndQueueHandler q)\r
         {\r
             InitializeComponent();\r
 \r
             this.queue = q;\r
-            queue.OnEncodeStart += new EventHandler(queue_OnEncodeStart);\r
-            queue.OnQueueFinished += new EventHandler(queue_OnQueueFinished);\r
-            queue.OnPaused += new EventHandler(queue_OnPaused);\r
+            queue.NewJobStarted += new EventHandler(queueOnEncodeStart);\r
+            queue.QueueCompleted += new EventHandler(queueOnQueueFinished);\r
+            queue.QueuePauseRequested += new EventHandler(queueOnPaused);\r
         }\r
-        void queue_OnPaused(object sender, EventArgs e)\r
+        void queueOnPaused(object sender, EventArgs e)\r
         {\r
             setUIEncodeFinished();\r
             updateUIElements();\r
         }\r
-        void queue_OnQueueFinished(object sender, EventArgs e)\r
+        void queueOnQueueFinished(object sender, EventArgs e)\r
         {\r
             setUIEncodeFinished();\r
             resetQueue(); // Reset the Queue Window\r
         }\r
-        void queue_OnEncodeStart(object sender, EventArgs e)\r
+        void queueOnEncodeStart(object sender, EventArgs e)\r
         {\r
             setUIEncodeStarted(); // make sure the UI is set correctly\r
             setCurrentEncodeInformation();\r
@@ -55,7 +57,7 @@ namespace Handbrake
         /// </summary>\r
         public new void Show()\r
         {\r
-            Show(true);\r
+           Show(true);\r
         }\r
 \r
         /// <summary>\r
@@ -66,25 +68,26 @@ namespace Handbrake
         {\r
             if (doSetQueue) setQueue();\r
             base.Show();\r
-            Activate();\r
+\r
+            //Activate();\r
         }\r
 \r
         // Start and Stop Controls\r
         private void btn_encode_Click(object sender, EventArgs e)\r
         {\r
-            if (queue.isPaused)\r
+            if (queue.PauseRequested)\r
             {\r
                 setUIEncodeStarted();\r
                 MessageBox.Show("Encoding restarted", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);\r
             }\r
 \r
-            if (!queue.isEncodeStarted)\r
-                queue.startEncode();\r
+            if (!queue.isEncoding)\r
+                queue.StartEncodeQueue();\r
 \r
         }\r
         private void btn_pause_Click(object sender, EventArgs e)\r
         {\r
-            queue.pauseEncode();\r
+            queue.RequestPause();\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
@@ -139,8 +142,8 @@ namespace Handbrake
             }\r
 \r
             list_queue.Items.Clear();\r
-            List<Queue.QueueItem> theQueue = queue.getQueue();\r
-            foreach (Queue.QueueItem queue_item in theQueue)\r
+            ReadOnlyCollection<Job> theQueue = queue.CurrentQueue;\r
+            foreach (Job queue_item in theQueue)\r
             {\r
                 string q_item = queue_item.Query;\r
                 Functions.QueryParser parsed = Functions.QueryParser.Parse(q_item);\r
@@ -166,17 +169,15 @@ namespace Handbrake
                 item.SubItems.Add(queue_item.Destination); // Destination\r
                 item.SubItems.Add(parsed.VideoEncoder); // Video\r
 \r
-                // Display the first 4 audio tracks.\r
-                String audio = parsed.AudioEncoder1;\r
-                if (parsed.AudioEncoder2 != null)\r
-                    audio += ", " + parsed.AudioEncoder2;\r
-\r
-                if (parsed.AudioEncoder3 != null)\r
-                    audio += ", " + parsed.AudioEncoder3;\r
-\r
-                if (parsed.AudioEncoder4 != null)\r
-                    audio += ", " + parsed.AudioEncoder4;\r
-\r
+                // Display The Audio Track Information\r
+                string audio = string.Empty;\r
+                foreach (Functions.AudioTrack track in parsed.AudioInformation)\r
+                {\r
+                    if (audio != "")\r
+                        audio += ", " + track.Encoder;\r
+                    else\r
+                        audio = track.Encoder;\r
+                }\r
                 item.SubItems.Add(audio); // Audio\r
 \r
                 list_queue.Items.Add(item);\r
@@ -203,9 +204,9 @@ namespace Handbrake
                 }\r
 \r
                 // found query is a global varible\r
-                Functions.QueryParser parsed = Functions.QueryParser.Parse(queue.getLastQueryItem().Query);\r
-                lbl_source.Text = queue.getLastQueryItem().Source;\r
-                lbl_dest.Text = queue.getLastQueryItem().Destination;\r
+                Functions.QueryParser parsed = Functions.QueryParser.Parse(queue.LastEncode.Query);\r
+                lbl_source.Text = queue.LastEncode.Source;\r
+                lbl_dest.Text = queue.LastEncode.Destination;\r
 \r
                 lbl_title.Text = parsed.DVDTitle == 0 ? "Auto" : parsed.DVDTitle.ToString();\r
 \r
@@ -220,16 +221,16 @@ namespace Handbrake
                 }\r
 \r
                 lbl_vEnc.Text = parsed.VideoEncoder;\r
-                String audio = parsed.AudioEncoder1;\r
-                if (parsed.AudioEncoder2 != null)\r
-                    audio += ", " + parsed.AudioEncoder2;\r
-\r
-                if (parsed.AudioEncoder3 != null)\r
-                    audio += ", " + parsed.AudioEncoder3;\r
-\r
-                if (parsed.AudioEncoder4 != null)\r
-                    audio += ", " + parsed.AudioEncoder4;\r
 \r
+                // Display The Audio Track Information\r
+                string audio = string.Empty;\r
+                foreach (Functions.AudioTrack track in parsed.AudioInformation)\r
+                {\r
+                    if (audio != "")\r
+                        audio += ", " + track.Encoder;\r
+                    else\r
+                        audio = track.Encoder;\r
+                }\r
                 lbl_aEnc.Text = audio;\r
             }\r
             catch (Exception)\r
@@ -254,9 +255,8 @@ namespace Handbrake
 \r
                 // Remove each selected item\r
                 foreach (int selectedIndex in selectedIndices)\r
-                    queue.remove(selectedIndex);\r
+                    queue.RemoveJob(selectedIndex);\r
 \r
-                queue.write2disk("hb_queue_recovery.xml"); // Update the queue recovery file\r
                 updateUIElements();\r
 \r
                 // Select the item where the first deleted item was previously\r
@@ -309,9 +309,8 @@ namespace Handbrake
 \r
                 // Move up each selected item\r
                 foreach (int selectedIndex in selectedIndices)\r
-                    queue.moveUp(selectedIndex);\r
+                    queue.MoveUp(selectedIndex);\r
 \r
-                queue.write2disk("hb_queue_recovery.xml"); // Update the queue recovery file\r
                 updateUIElements();\r
 \r
                 // Keep the selected item(s) selected, now moved up one index\r
@@ -338,9 +337,8 @@ namespace Handbrake
 \r
                 // Move down each selected item\r
                 foreach (int selectedIndex in selectedIndices)\r
-                    queue.moveDown(selectedIndex);\r
+                    queue.MoveDown(selectedIndex);\r
 \r
-                queue.write2disk("hb_queue_recovery.xml"); // Update the queue recovery file\r
                 updateUIElements();\r
 \r
                 // Keep the selected item(s) selected, now moved down one index\r
@@ -359,7 +357,7 @@ namespace Handbrake
             SaveFile.Filter = "Batch|.bat";\r
             SaveFile.ShowDialog();\r
             if (SaveFile.FileName != String.Empty)\r
-                queue.writeBatchScript(SaveFile.FileName);\r
+                queue.WriteBatchScriptToFile(SaveFile.FileName);\r
         }\r
         private void mnu_export_Click(object sender, EventArgs e)\r
         {\r
@@ -367,22 +365,21 @@ namespace Handbrake
             SaveFile.Filter = "HandBrake Queue|*.queue";\r
             SaveFile.ShowDialog();\r
             if (SaveFile.FileName != String.Empty)\r
-                queue.write2disk(SaveFile.FileName);\r
+                queue.WriteQueueStateToFile(SaveFile.FileName);\r
         }\r
         private void mnu_import_Click(object sender, EventArgs e)\r
         {\r
             OpenFile.FileName = "";\r
             OpenFile.ShowDialog();\r
             if (OpenFile.FileName != String.Empty)\r
-                queue.recoverQueue(OpenFile.FileName);\r
+                queue.LoadQueueFromFile(OpenFile.FileName);\r
             updateUIElements();\r
         }\r
         private void mnu_readd_Click(object sender, EventArgs e)\r
         {\r
-            if (queue.getLastQueryItem() != null)\r
+            if (!queue.LastEncode.IsEmpty)\r
             {\r
-                queue.add(queue.getLastQueryItem().Query, queue.getLastQueryItem().Source, queue.getLastQueryItem().Destination);\r
-                queue.write2disk("hb_queue_recovery.xml"); // Update the queue recovery file\r
+                queue.AddJob(queue.LastEncode.Query, queue.LastEncode.Source, queue.LastEncode.Destination, queue.LastEncode.CustomQuery);\r
                 updateUIElements();\r
             }\r
         }\r