OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / win / C# / frmQueue.cs
index e110a47..51dafd0 100644 (file)
@@ -4,52 +4,61 @@
           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
-        private EncodeAndQueueHandler queue;\r
 \r
-        public frmQueue(EncodeAndQueueHandler q)\r
+        private Queue queue;\r
+        private frmMain mainWindow;\r
+\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.QueueCompleted += new EventHandler(queueOnQueueFinished);\r
-            queue.QueuePauseRequested += new EventHandler(queueOnPaused);\r
+            queue.EncodeStarted += new EventHandler(QueueOnEncodeStart);\r
+            queue.QueueCompleted += new EventHandler(QueueOnQueueFinished);\r
+            queue.QueuePauseRequested += new EventHandler(QueueOnPaused);\r
         }\r
-        void queueOnPaused(object sender, EventArgs e)\r
+\r
+        private void QueueOnPaused(object sender, EventArgs e)\r
         {\r
-            setUIEncodeFinished();\r
-            updateUIElements();\r
+            SetUIEncodeFinished();\r
+            UpdateUIElements();\r
         }\r
-        void queueOnQueueFinished(object sender, EventArgs e)\r
+\r
+        private void QueueOnQueueFinished(object sender, EventArgs e)\r
         {\r
-            setUIEncodeFinished();\r
-            resetQueue(); // Reset the Queue Window\r
+            SetUIEncodeFinished();\r
+            ResetQueue(); // Reset the Queue Window\r
         }\r
-        void queueOnEncodeStart(object sender, EventArgs e)\r
+\r
+        private void QueueOnEncodeStart(object sender, EventArgs e)\r
         {\r
-            setUIEncodeStarted(); // make sure the UI is set correctly\r
-            setCurrentEncodeInformation();\r
-            updateUIElements(); // Redraw the Queue, a new encode has started.\r
+            SetUIEncodeStarted(); // make sure the UI is set correctly\r
+            SetCurrentEncodeInformation();\r
+            UpdateUIElements(); // Redraw the Queue, a new encode has started.\r
         }\r
 \r
         /// <summary>\r
         /// Initializes the Queue list with the Arraylist from the Queue class\r
         /// </summary>\r
-        public void setQueue()\r
+        public void SetQueue()\r
         {\r
-            updateUIElements();\r
+            UpdateUIElements();\r
         }\r
 \r
         /// <summary>\r
@@ -57,7 +66,7 @@ namespace Handbrake
         /// </summary>\r
         public new void Show()\r
         {\r
-           Show(true);\r
+            Show(true);\r
         }\r
 \r
         /// <summary>\r
@@ -66,10 +75,10 @@ namespace Handbrake
         /// <param name="doSetQueue">Indicates whether to call setQueue() before showing the window</param>\r
         public void Show(bool doSetQueue)\r
         {\r
-            if (doSetQueue) setQueue();\r
+            if (doSetQueue) SetQueue();\r
             base.Show();\r
 \r
-            //Activate();\r
+            // Activate();\r
         }\r
 \r
         // Start and Stop Controls\r
@@ -77,48 +86,53 @@ namespace Handbrake
         {\r
             if (queue.PauseRequested)\r
             {\r
-                setUIEncodeStarted();\r
+                SetUIEncodeStarted();\r
                 MessageBox.Show("Encoding restarted", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);\r
             }\r
 \r
-            if (!queue.isEncoding)\r
-                queue.StartEncodeQueue();\r
-\r
+            if (!queue.IsEncoding)\r
+                queue.Start();\r
         }\r
+\r
         private void btn_pause_Click(object sender, EventArgs e)\r
         {\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
+            queue.Pause();\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
+                "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
         }\r
 \r
+\r
         // Window Display Management\r
-        private void setUIEncodeStarted()\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
-        private void setUIEncodeFinished()\r
+\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
-        private void resetQueue()\r
+\r
+        private void ResetQueue()\r
         {\r
             if (InvokeRequired)\r
             {\r
-                BeginInvoke(new UpdateHandler(resetQueue));\r
+                BeginInvoke(new UpdateHandler(ResetQueue));\r
                 return;\r
             }\r
             btn_pause.Visible = false;\r
@@ -133,11 +147,12 @@ namespace Handbrake
 \r
             lbl_encodesPending.Text = list_queue.Items.Count + " encode(s) pending";\r
         }\r
-        private void redrawQueue()\r
+\r
+        private void RedrawQueue()\r
         {\r
             if (InvokeRequired)\r
             {\r
-                BeginInvoke(new UpdateHandler(redrawQueue));\r
+                BeginInvoke(new UpdateHandler(RedrawQueue));\r
                 return;\r
             }\r
 \r
@@ -146,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
@@ -171,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
@@ -183,28 +198,30 @@ namespace Handbrake
                 list_queue.Items.Add(item);\r
             }\r
         }\r
-        private void updateUIElements()\r
+\r
+        private void UpdateUIElements()\r
         {\r
             if (InvokeRequired)\r
             {\r
-                BeginInvoke(new UpdateHandler(updateUIElements));\r
+                BeginInvoke(new UpdateHandler(UpdateUIElements));\r
                 return;\r
             }\r
 \r
-            redrawQueue();\r
+            RedrawQueue();\r
             lbl_encodesPending.Text = list_queue.Items.Count + " encode(s) pending";\r
         }\r
-        private void setCurrentEncodeInformation()\r
+\r
+        private void SetCurrentEncodeInformation()\r
         {\r
             try\r
             {\r
                 if (InvokeRequired)\r
                 {\r
-                    BeginInvoke(new UpdateHandler(setCurrentEncodeInformation));\r
+                    BeginInvoke(new UpdateHandler(SetCurrentEncodeInformation));\r
                 }\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
@@ -224,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
@@ -238,7 +255,8 @@ namespace Handbrake
                 // Do Nothing\r
             }\r
         }\r
-        private void deleteSelectedItems()\r
+\r
+        private void DeleteSelectedItems()\r
         {\r
             // If there are selected items\r
             if (list_queue.SelectedIndices.Count > 0)\r
@@ -255,9 +273,9 @@ namespace Handbrake
 \r
                 // Remove each selected item\r
                 foreach (int selectedIndex in selectedIndices)\r
-                    queue.RemoveJob(selectedIndex);\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
@@ -270,34 +288,41 @@ namespace Handbrake
         // Queue Management\r
         private void mnu_up_Click(object sender, EventArgs e)\r
         {\r
-            moveUp();\r
+            MoveUp();\r
         }\r
+\r
         private void mnu_Down_Click(object sender, EventArgs e)\r
         {\r
-            moveDown();\r
+            MoveDown();\r
         }\r
+\r
         private void mnu_delete_Click(object sender, EventArgs e)\r
         {\r
-            deleteSelectedItems();\r
+            DeleteSelectedItems();\r
         }\r
+\r
         private void btn_up_Click(object sender, EventArgs e)\r
         {\r
-            moveUp();\r
+            MoveUp();\r
         }\r
+\r
         private void btn_down_Click(object sender, EventArgs e)\r
         {\r
-            moveDown();\r
+            MoveDown();\r
         }\r
+\r
         private void btn_delete_Click(object sender, EventArgs e)\r
         {\r
-            deleteSelectedItems();\r
+            DeleteSelectedItems();\r
         }\r
+\r
         private void list_queue_deleteKey(object sender, KeyEventArgs e)\r
         {\r
             if (e.KeyCode == Keys.Delete)\r
-                deleteSelectedItems();\r
+                DeleteSelectedItems();\r
         }\r
-        private void moveUp()\r
+\r
+        private void MoveUp()\r
         {\r
             // If there are selected items and the first item is not selected\r
             if (list_queue.SelectedIndices.Count > 0 && !list_queue.SelectedIndices.Contains(0))\r
@@ -311,7 +336,7 @@ namespace Handbrake
                 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
@@ -321,7 +346,8 @@ namespace Handbrake
 \r
             list_queue.Select(); // Activate the control to show the selected items\r
         }\r
-        private void moveDown()\r
+\r
+        private void MoveDown()\r
         {\r
             // If there are selected items and the last item is not selected\r
             if (list_queue.SelectedIndices.Count > 0 &&\r
@@ -339,7 +365,7 @@ namespace Handbrake
                 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
@@ -353,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
+            UpdateUIElements();\r
         }\r
+\r
         private void mnu_readd_Click(object sender, EventArgs e)\r
         {\r
             if (!queue.LastEncode.IsEmpty)\r
             {\r
-                queue.AddJob(queue.LastEncode.Query, queue.LastEncode.Source, queue.LastEncode.Destination);\r
-                updateUIElements();\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
@@ -391,6 +439,5 @@ namespace Handbrake
             this.Hide();\r
             base.OnClosing(e);\r
         }\r
-\r
     }\r
-}\r
+}
\ No newline at end of file