OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / win / C# / frmMain.cs
index 2e9541a..6c4a2ed 100644 (file)
@@ -1,8 +1,7 @@
 /*  frmMain.cs $\r
-       \r
-          This file is part of the HandBrake source code.\r
-          Homepage: <http://handbrake.fr/>.\r
-          It may be used under the terms of the GNU General Public License. */\r
+    This file is part of the HandBrake source code.\r
+    Homepage: <http://handbrake.fr/>.\r
+    It may be used under the terms of the GNU General Public License. */\r
 \r
 namespace Handbrake\r
 {\r
@@ -429,7 +428,7 @@ namespace Handbrake
 \r
         private void mnu_importMacPreset_Click(object sender, EventArgs e)\r
         {\r
-            importPreset();\r
+            ImportPreset();\r
         }\r
 \r
         private void btn_new_preset_Click(object sender, EventArgs e)\r
@@ -518,7 +517,7 @@ namespace Handbrake
 \r
         private void pmnu_import_Click(object sender, EventArgs e)\r
         {\r
-            importPreset();\r
+            ImportPreset();\r
         }\r
 \r
         private void pmnu_saveChanges_Click(object sender, EventArgs e)\r
@@ -698,7 +697,7 @@ namespace Handbrake
             }\r
         }\r
 \r
-        private void importPreset()\r
+        private void ImportPreset()\r
         {\r
             if (openPreset.ShowDialog() == DialogResult.OK)\r
             {\r
@@ -720,10 +719,6 @@ namespace Handbrake
                 else\r
                 {\r
                     PresetLoader.LoadPreset(this, parsed, parsed.PresetName, parsed.UsesPictureSettings);\r
-                    presetHandler.Add(parsed.PresetName,\r
-                                      QueryGenerator.GenerateCliQuery(this, drop_mode.SelectedIndex, 0, null),\r
-                                      parsed.UsesPictureSettings);\r
-\r
                     if (presetHandler.Add(parsed.PresetName + " (Imported)",\r
                                           QueryGenerator.GenerateCliQuery(this, drop_mode.SelectedIndex, 0, null),\r
                                           parsed.UsesPictureSettings))\r
@@ -861,7 +856,7 @@ namespace Handbrake
                     if (overwrite == DialogResult.Yes)\r
                     {\r
                         if (encodeQueue.Count == 0)\r
-                            encodeQueue.Add(query, sourcePath, text_destination.Text, (rtf_query.Text != string.Empty));\r
+                            encodeQueue.Add(query, getTitle(), sourcePath, text_destination.Text, (rtf_query.Text != string.Empty));\r
 \r
                         queueWindow.SetQueue();\r
                         if (encodeQueue.Count > 1)\r
@@ -900,10 +895,10 @@ namespace Handbrake
                             "There is already a queue item for this destination path. \n\n If you continue, the encode will be overwritten. Do you wish to continue?",\r
                             "Warning", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);\r
                     if (result == DialogResult.Yes)\r
-                        encodeQueue.Add(query, sourcePath, text_destination.Text, (rtf_query.Text != string.Empty));\r
+                        encodeQueue.Add(query, getTitle(), sourcePath, text_destination.Text, (rtf_query.Text != string.Empty));\r
                 }\r
                 else\r
-                    encodeQueue.Add(query, sourcePath, text_destination.Text, (rtf_query.Text != string.Empty));\r
+                    encodeQueue.Add(query, getTitle(), sourcePath, text_destination.Text, (rtf_query.Text != string.Empty));\r
 \r
                 lbl_encode.Text = encodeQueue.Count + " encode(s) pending in the queue";\r
 \r
@@ -1073,7 +1068,7 @@ namespace Handbrake
             drop_chapterFinish.Items.Clear();\r
 \r
             // If the dropdown is set to automatic nothing else needs to be done.\r
-            // Otheriwse if its not, title data has to be loased from parsing.\r
+            // Otheriwse if its not, title data has to be loaded from parsing.\r
             if (drp_dvdtitle.Text != "Automatic")\r
             {\r
                 selectedTitle = drp_dvdtitle.SelectedItem as Title;\r
@@ -1110,7 +1105,7 @@ namespace Handbrake
                     drop_chapterFinish.Text = drop_chapterFinish.Items[drop_chapterFinish.Items.Count - 1].ToString();\r
 \r
                 // Populate the Audio Channels Dropdown\r
-                AudioSettings.SetTrackList(selectedTitle);\r
+                AudioSettings.SetTrackList(selectedTitle, CurrentlySelectedPreset);\r
 \r
                 // Populate the Subtitles dropdown\r
                 Subtitles.SetSubtitleTrackAuto(selectedTitle.Subtitles.ToArray());\r
@@ -1328,8 +1323,7 @@ namespace Handbrake
                         break;\r
                     case 2:\r
                         if (\r
-                            !Path.GetExtension(DVD_Save.FileName).Equals(".mkv",\r
-                                                                         StringComparison.InvariantCultureIgnoreCase))\r
+                            !Path.GetExtension(DVD_Save.FileName).Equals(".mkv", StringComparison.InvariantCultureIgnoreCase))\r
                             DVD_Save.FileName = DVD_Save.FileName.Replace(".mp4", ".mkv").Replace(".m4v", ".mkv");\r
                         break;\r
                     default:\r
@@ -1443,24 +1437,8 @@ namespace Handbrake
                     double multiplier = 1.0 / cqStep;\r
                     double value = slider_videoQuality.Value * multiplier;\r
 \r
-                    switch (Properties.Settings.Default.x264cqstep.ToString(culture))\r
-                    {\r
-                        case "0.2":\r
-                            slider_videoQuality.Maximum = 255;\r
-                            break;\r
-                        case "0.25":\r
-                            slider_videoQuality.Maximum = 204;\r
-                            break;\r
-                        case "0.5":\r
-                            slider_videoQuality.Maximum = 102;\r
-                            break;\r
-                        case "1":\r
-                            slider_videoQuality.Maximum = 51;\r
-                            break;\r
-                        default:\r
-                            slider_videoQuality.Maximum = 51;\r
-                            break;\r
-                    }\r
+                    slider_videoQuality.Maximum = (int)(51 / Properties.Settings.Default.x264cqstep);\r
+\r
                     if (value < slider_videoQuality.Maximum)\r
                         slider_videoQuality.Value = slider_videoQuality.Maximum - (int)value;\r
 \r
@@ -1508,24 +1486,7 @@ namespace Handbrake
             double rfValue = 51.0 - slider_videoQuality.Value * cqStep;\r
 \r
             // Change the maximum value for the slider\r
-            switch (Properties.Settings.Default.x264cqstep.ToString(new CultureInfo("en-US")))\r
-            {\r
-                case "0.2":\r
-                    slider_videoQuality.Maximum = 255;\r
-                    break;\r
-                case "0.25":\r
-                    slider_videoQuality.Maximum = 204;\r
-                    break;\r
-                case "0.5":\r
-                    slider_videoQuality.Maximum = 102;\r
-                    break;\r
-                case "1":\r
-                    slider_videoQuality.Maximum = 51;\r
-                    break;\r
-                default:\r
-                    slider_videoQuality.Maximum = 51;\r
-                    break;\r
-            }\r
+            slider_videoQuality.Maximum = (int)(51 / Properties.Settings.Default.x264cqstep);\r
 \r
             // Reset the CQ slider to RF0\r
             slider_videoQuality.Value = slider_videoQuality.Maximum;\r
@@ -1740,8 +1701,10 @@ namespace Handbrake
                     drp_dvdtitle.SelectedItem = Main.SelectLongestTitle(currentSource);\r
 \r
                 // Enable the creation of chapter markers if the file is an image of a dvd.\r
-                if (sourcePath.ToLower().Contains(".iso") || sourcePath.Contains("VIDEO_TS") ||\r
-                    Directory.Exists(Path.Combine(sourcePath, "VIDEO_TS")))\r
+                int start, end;\r
+                int.TryParse(drop_chapterStart.Items[0].ToString(), out start);\r
+                int.TryParse(drop_chapterFinish.Items[drop_chapterFinish.Items.Count - 1].ToString(), out end);\r
+                if (end > start)\r
                     Check_ChapterMarkers.Enabled = true;\r
                 else\r
                 {\r
@@ -1840,8 +1803,7 @@ namespace Handbrake
         public void RecievingJob(Job job)\r
         {\r
             string query = job.Query;\r
-            StartScan(job.Source, 0);\r
-\r
+            StartScan(job.Source, job.Title);\r
 \r
             if (query != null)\r
             {\r
@@ -1975,6 +1937,24 @@ namespace Handbrake
             treeView_presets.Update();\r
         }\r
 \r
+        /// <summary>\r
+        /// Get the title from the selected item in the title dropdown.\r
+        /// </summary>\r
+        /// <returns>\r
+        /// The title.\r
+        /// </returns>\r
+        private int getTitle()\r
+        {\r
+            int title = 0;\r
+            if (drp_dvdtitle.SelectedItem != null)\r
+            {\r
+                string[] titleInfo = drp_dvdtitle.SelectedItem.ToString().Split(' ');\r
+                int.TryParse(titleInfo[0], out title);\r
+            }\r
+\r
+            return title;\r
+        }\r
+\r
         #endregion\r
 \r
         #region Overrides\r