OSDN Git Service

LinGui: don't remove srt subs when changing from mkv to mp4
[handbrake-jp/handbrake-jp-git.git] / win / C# / Controls / x264Panel.cs
index e86c1a1..6df49e7 100644 (file)
@@ -15,8 +15,8 @@ namespace Handbrake.Controls
         {\r
             InitializeComponent();\r
 \r
-            if (Properties.Settings.Default.tooltipEnable == "Checked")\r
-                setToolTipActive(true);\r
+            if (Properties.Settings.Default.tooltipEnable)\r
+                ToolTip.Active = true;\r
 \r
             reset2Defaults();\r
         }\r
@@ -26,91 +26,76 @@ namespace Handbrake.Controls
             get { return rtf_x264Query.Text; }\r
             set { rtf_x264Query.Text = value; }\r
         }\r
-        public void setToolTipActive(Boolean active)\r
-        {\r
-            ToolTip.Active = active;\r
-        }\r
 \r
-        #region Controls Changed\r
-        private void drop_refFrames_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("ref");\r
-        }\r
-        private void check_mixedReferences_CheckedChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("mixed-refs");\r
-        }\r
-        private void drop_bFrames_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("bframes");\r
-        }\r
-        private void drop_directPrediction_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("direct");\r
-        }\r
-        private void check_weightedBFrames_CheckedChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("weightb");\r
-        }\r
-        private void check_pyrmidalBFrames_CheckedChanged(object sender, EventArgs e)\r
+        private void widgetControlChanged(object sender, EventArgs e)\r
         {\r
-            on_x264_WidgetChange("b-pyramid");\r
-        }\r
-        private void drop_MotionEstimationMethod_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("me");\r
-        }\r
-        private void drop_MotionEstimationRange_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("merange");\r
-        }\r
-        private void drop_subpixelMotionEstimation_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("subq");\r
-        }\r
-        private void drop_analysis_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("analyse");\r
-        }\r
-        private void check_8x8DCT_CheckedChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("8x8dct");\r
-        }\r
-        private void drop_deblockAlpha_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("deblock");\r
-        }\r
-        private void drop_deblockBeta_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("deblock");\r
-        }\r
-        private void drop_trellis_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("trellis");\r
-        }\r
-        private void check_noFastPSkip_CheckedChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("no-fast-pskip");\r
-        }\r
-        private void check_noDCTDecimate_CheckedChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("no-dct-decimate");\r
-        }\r
-        private void check_Cabac_CheckedChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("cabac");\r
-        }\r
-        private void slider_psyrd_Scroll(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("psy-rd");\r
-        }\r
-        private void slider_psytrellis_Scroll(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("psy-rd");\r
-        }\r
-        private void drop_adaptBFrames_SelectedIndexChanged(object sender, EventArgs e)\r
-        {\r
-            on_x264_WidgetChange("b-adapt");\r
+            Control changedControlName = (Control) sender;\r
+            string controlName = "";\r
+\r
+            switch (changedControlName.Name.Trim())\r
+            {\r
+                case "drop_refFrames":\r
+                    controlName = "ref";\r
+                    break;\r
+                case "check_mixedReferences":\r
+                    controlName = "mixed-refs";\r
+                    break;\r
+                case "drop_bFrames":\r
+                    controlName = "bframes";\r
+                    break;\r
+                case "drop_directPrediction":\r
+                    controlName = "direct";\r
+                    break;\r
+                case "check_weightedBFrames":\r
+                    controlName = "weightb";\r
+                    break;\r
+                case "check_pyrmidalBFrames":\r
+                    controlName = "b-pyramid";\r
+                    break;\r
+                case "drop_MotionEstimationMethod":\r
+                    controlName = "me";\r
+                    break;\r
+                case "drop_MotionEstimationRange":\r
+                    controlName = "merange";\r
+                    break;\r
+                case "drop_subpixelMotionEstimation":\r
+                    controlName = "subq";\r
+                    break;\r
+                case "drop_analysis":\r
+                    controlName = "analyse";\r
+                    break;\r
+                case "check_8x8DCT":\r
+                    controlName = "8x8dct";\r
+                    break;\r
+                case "drop_deblockAlpha":\r
+                    controlName = "deblock";\r
+                    break;\r
+                case "drop_deblockBeta":\r
+                    controlName = "deblock";\r
+                    break;\r
+                case "drop_trellis":\r
+                    controlName = "trellis";\r
+                    break;\r
+                case "check_noFastPSkip":\r
+                    controlName = "no-fast-pskip";\r
+                    break;\r
+                case "check_noDCTDecimate":\r
+                    controlName = "no-dct-decimate";\r
+                    break;\r
+                case "check_Cabac":\r
+                    controlName = "cabac";\r
+                    break;\r
+                case "slider_psyrd":\r
+                    controlName = "psy-rd";\r
+                    break;\r
+                case "slider_psytrellis":\r
+                    controlName = "psy-rd";\r
+                    break;\r
+                case "drop_adaptBFrames":\r
+                    controlName = "b-adapt";\r
+                    break;\r
+            }\r
+            on_x264_WidgetChange(controlName);\r
         }\r
         private void rtf_x264Query_TextChanged(object sender, EventArgs e)\r
         {\r
@@ -131,20 +116,19 @@ namespace Handbrake.Controls
             rtf_x264Query.Text = "";\r
             reset2Defaults();\r
         }\r
-        #endregion\r
-\r
+        \r
         /// <summary>\r
         /// Reset all components to defaults and clears the x264 rtf box\r
         /// </summary>\r
         public void reset2Defaults()\r
         {\r
-            check_8x8DCT.CheckState = CheckState.Unchecked;\r
+            check_8x8DCT.CheckState = CheckState.Checked;\r
             check_Cabac.CheckState = CheckState.Checked;\r
-            check_mixedReferences.CheckState = CheckState.Unchecked;\r
+            check_mixedReferences.CheckState = CheckState.Checked;\r
             check_noDCTDecimate.CheckState = CheckState.Unchecked;\r
             check_noFastPSkip.CheckState = CheckState.Unchecked;\r
             check_pyrmidalBFrames.CheckState = CheckState.Unchecked;\r
-            check_weightedBFrames.CheckState = CheckState.Unchecked;\r
+            check_weightedBFrames.CheckState = CheckState.Checked;\r
             drop_analysis.SelectedIndex = 0;\r
             drop_bFrames.SelectedIndex = 0;\r
             drop_deblockAlpha.SelectedIndex = 0;\r
@@ -409,7 +393,7 @@ namespace Handbrake.Controls
                                     drop_analysis.SelectedItem = "All";\r
                                 continue;\r
                             case "8x8dct":\r
-                                check_8x8DCT.CheckState = CheckState.Checked;\r
+                                check_8x8DCT.CheckState = optValue == "1" ? CheckState.Checked : CheckState.Unchecked;\r
                                 continue;\r
                             case "cabac":\r
                                 check_Cabac.CheckState = CheckState.Unchecked;\r
@@ -535,7 +519,7 @@ namespace Handbrake.Controls
                             }\r
                         }\r
                         else if (optNameToChange.Equals("mixed-refs"))\r
-                            thisOpt = check_mixedReferences.CheckState == CheckState.Checked ? "mixed-refs=1" : "";\r
+                            thisOpt = check_mixedReferences.CheckState == CheckState.Checked ? "mixed-refs=1" : "mixed-refs=0";\r
                         else if (optNameToChange.Equals("weightb"))\r
                             thisOpt = check_weightedBFrames.CheckState == CheckState.Checked ? "weightb=1" : "";\r
                         else if (optNameToChange.Equals("b-pyramid"))\r
@@ -545,7 +529,7 @@ namespace Handbrake.Controls
                         else if (optNameToChange.Equals("no-dct-decimate"))\r
                             thisOpt = check_noDCTDecimate.CheckState == CheckState.Checked ? "no-dct-decimate=1" : "";\r
                         else if (optNameToChange.Equals("8x8dct"))\r
-                            thisOpt = check_8x8DCT.CheckState == CheckState.Checked ? "8x8dct=1" : "";\r
+                            thisOpt = check_8x8DCT.CheckState == CheckState.Checked ? "8x8dct=1" : "8x8dct=0";\r
                         else if (optNameToChange.Equals("cabac"))\r
                             thisOpt = check_Cabac.CheckState == CheckState.Checked ? "" : "cabac=0";\r
                         else if (optNameToChange.Equals("me"))\r
@@ -802,6 +786,8 @@ namespace Handbrake.Controls
             {\r
                 if (check_mixedReferences.CheckState == CheckState.Checked)\r
                     query = query + colon + "mixed-refs=1";\r
+                else\r
+                    query = query + colon + "mixed-refs=0";\r
             }\r
             else if (optNameToChange.Equals("weightb"))\r
             {\r
@@ -877,7 +863,7 @@ namespace Handbrake.Controls
             switch(sender)\r
             {\r
                 case "bframes":\r
-                    if (drop_bFrames.SelectedIndex < 2)\r
+                    if (drop_bFrames.SelectedIndex >0 && drop_bFrames.SelectedIndex < 2  )\r
                     {\r
                         /* If the b-frame widget is at 0 or 1, the user has chosen\r
                            not to use b-frames at all. So disable the options\r
@@ -945,7 +931,7 @@ namespace Handbrake.Controls
                         check_8x8DCT.Visible = true;\r
                 break;\r
                 case "ref":\r
-                    if (drop_refFrames.SelectedIndex < 3)\r
+                    if (drop_refFrames.SelectedIndex > 0 && drop_refFrames.SelectedIndex < 3)\r
                     {\r
                         check_mixedReferences.Visible = false;\r
                         if (sender != "mixed-refs")\r
@@ -992,7 +978,7 @@ namespace Handbrake.Controls
                     }\r
                 break;\r
                 case "trellis":        // subme\r
-                    if (drop_trellis.SelectedIndex < 2)\r
+                    if (drop_trellis.SelectedIndex > 0 && drop_trellis.SelectedIndex < 2 )\r
                     {\r
                         slider_psytrellis.Visible = false;\r
                         slider_psytrellis.Value = 0;\r
@@ -1010,4 +996,4 @@ namespace Handbrake.Controls
             }\r
         }\r
     }\r
-}\r
+}
\ No newline at end of file