OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / win / C# / Controls / Filters.cs
1 using System;\r
2 using System.Windows.Forms;\r
3 \r
4 namespace Handbrake.Controls\r
5 {\r
6     public partial class Filters : UserControl\r
7     {\r
8         public Filters()\r
9         {\r
10             InitializeComponent();\r
11             drop_decomb.SelectedIndex = 0;\r
12             drop_deinterlace.SelectedIndex = 0;\r
13             drop_denoise.SelectedIndex = 0;\r
14             drop_detelecine.SelectedIndex = 0;\r
15         }\r
16 \r
17         // Controls\r
18         private void drop_detelecine_SelectedIndexChanged(object sender, EventArgs e)\r
19         {\r
20             text_customDT.Visible = drop_detelecine.Text == "Custom";\r
21         }\r
22         private void drop_decomb_SelectedIndexChanged(object sender, EventArgs e)\r
23         {\r
24             text_customDC.Visible = drop_decomb.Text == "Custom";\r
25             if (drop_decomb.SelectedIndex != 0 && drop_deinterlace.SelectedIndex != 0)\r
26                 drop_deinterlace.SelectedIndex = 0;\r
27         }\r
28         private void drop_deinterlace_SelectedIndexChanged(object sender, EventArgs e)\r
29         {\r
30             text_customDI.Visible = drop_deinterlace.Text == "Custom";\r
31             if (drop_decomb.SelectedIndex != 0 && drop_deinterlace.SelectedIndex != 0)\r
32                 drop_decomb.SelectedIndex = 0;\r
33         }\r
34         private void drop_denoise_SelectedIndexChanged(object sender, EventArgs e)\r
35         {\r
36             text_customDN.Visible = drop_denoise.Text == "Custom";\r
37         }\r
38         private void slider_deblock_Scroll(object sender, EventArgs e)\r
39         {\r
40             lbl_deblockVal.Text = slider_deblock.Value == 4 ? "Off" : slider_deblock.Value.ToString();\r
41         }\r
42 \r
43         // Returns the CLI query for the query generator.\r
44         public string getCLIQuery\r
45         {\r
46             get\r
47             {\r
48                 string query = "";\r
49 \r
50                 switch (drop_detelecine.Text)  // DeTelecine\r
51                 {\r
52                     case "Off":\r
53                         query += "";\r
54                         break;\r
55                     case "Default":\r
56                         query += " --detelecine";\r
57                         break;\r
58                     case "Custom":\r
59                         query += " --detelecine=\"" + text_customDT.Text + "\"";\r
60                         break;\r
61                     default:\r
62                         query += "";\r
63                         break;\r
64                 }\r
65 \r
66 \r
67                 switch (drop_decomb.Text) // Decomb\r
68                 {\r
69                     case "Off":\r
70                         query += "";\r
71                         break;\r
72                     case "Default":\r
73                         query += " --decomb";\r
74                         break;\r
75                     case "Custom":\r
76                         query += " --decomb=\"" + text_customDC.Text + "\"";\r
77                         break;\r
78                     default:\r
79                         query += "";\r
80                         break;\r
81                 }\r
82 \r
83                 switch (drop_deinterlace.Text) // DeInterlace\r
84                 {\r
85                     case "None":\r
86                         query += "";\r
87                         break;\r
88                     case "Fast":\r
89                         query += " --deinterlace=\"fast\"";\r
90                         break;\r
91                     case "Slow":\r
92                         query += " --deinterlace=\"slow\"";\r
93                         break;\r
94                     case "Slower":\r
95                         query += " --deinterlace=\"slower\"";\r
96                         break;\r
97                     case "Custom":\r
98                         query += " --deinterlace=\"" + text_customDI.Text + "\"";\r
99                         break;\r
100                     default:\r
101                         query += "";\r
102                         break;\r
103                 }\r
104 \r
105                 switch (drop_denoise.Text) // Denoise\r
106                 {\r
107                     case "None":\r
108                         query += "";\r
109                         break;\r
110                     case "Weak":\r
111                         query += " --denoise=\"weak\"";\r
112                         break;\r
113                     case "Medium":\r
114                         query += " --denoise=\"medium\"";\r
115                         break;\r
116                     case "Strong":\r
117                         query += " --denoise=\"strong\"";\r
118                         break;\r
119                     case "Custom":\r
120                         query += " --denoise=\"" + text_customDN.Text + "\"";\r
121                         break;\r
122                     default:\r
123                         query += "";\r
124                         break;\r
125                 }\r
126 \r
127                 if (slider_deblock.Value != 4)\r
128                     query += " --deblock=" + slider_deblock.Value;\r
129 \r
130                 if (check_grayscale.Checked)\r
131                     query += " -g ";\r
132 \r
133                 return query;\r
134             }\r
135         }\r
136 \r
137         // Setup for each component for the preset loader.\r
138         public void setDeTelecine(string value)\r
139         {\r
140             text_customDT.Text = "";\r
141             text_customDT.Visible = false;\r
142             switch (value)\r
143             {\r
144                 case "Off":\r
145                     drop_detelecine.SelectedIndex = 0;\r
146                     break;\r
147                 case "Default":\r
148                     drop_detelecine.SelectedIndex = 1;\r
149                     break;\r
150                 default:\r
151                     drop_detelecine.SelectedIndex = 2;\r
152                     text_customDT.Text = value;\r
153                     text_customDT.Visible = true;\r
154                     break;\r
155             }\r
156         }\r
157         public void setDeNoise(string value)\r
158         {\r
159             text_customDN.Text = "";\r
160             text_customDN.Visible = false;\r
161             switch (value)\r
162             {\r
163                 case "None":\r
164                     drop_denoise.SelectedIndex = 0;\r
165                     break;\r
166                 case "Weak":\r
167                     drop_denoise.SelectedIndex = 1;\r
168                     break;\r
169                 case "Medium":\r
170                     drop_denoise.SelectedIndex = 2;\r
171                     break;\r
172                 case "Strong":\r
173                     drop_denoise.SelectedIndex = 3;\r
174                     break;\r
175                 default:\r
176                     drop_denoise.SelectedIndex = 4;\r
177                     text_customDN.Text = value;\r
178                     text_customDN.Visible = true;\r
179                     break;\r
180             }\r
181         }\r
182         public void setDeInterlace(string value)\r
183         {\r
184             text_customDI.Text = "";\r
185             text_customDI.Visible = false;\r
186             switch (value)\r
187             {\r
188 \r
189                 case "None":\r
190                     drop_deinterlace.SelectedIndex = 0;\r
191                     break;\r
192                 case "Fast":\r
193                     drop_deinterlace.SelectedIndex = 1;\r
194                     break;\r
195                 case "Slow":\r
196                     drop_deinterlace.SelectedIndex = 2;\r
197                     break;\r
198                 case "Slower":\r
199                     drop_deinterlace.SelectedIndex = 3;\r
200 \r
201                     break;\r
202                 default:\r
203                     drop_deinterlace.SelectedIndex = 4;\r
204                     text_customDI.Text = value;\r
205                     text_customDI.Visible = true;\r
206                     break;\r
207             }\r
208         }\r
209         public void setDecomb(string value)\r
210         {\r
211             text_customDC.Text = "";\r
212             text_customDC.Visible = false;\r
213             switch (value)\r
214             {\r
215                 case "Off":\r
216                     drop_decomb.SelectedIndex = 0;\r
217                     break;\r
218                 case "Default":\r
219                     drop_decomb.SelectedIndex = 1;\r
220                     break;\r
221                 default:\r
222                     drop_decomb.SelectedIndex = 2;\r
223                     text_customDC.Text = value;\r
224                     text_customDC.Visible = true;\r
225                     break;\r
226             }\r
227         }\r
228         public void setDeBlock(int value)\r
229         {\r
230             if (value != 0)\r
231             {\r
232                 slider_deblock.Value = value;\r
233                 lbl_deblockVal.Text = value.ToString();\r
234             }\r
235             else\r
236             {\r
237                 slider_deblock.Value = 4;\r
238                 lbl_deblockVal.Text = "Off";\r
239             }\r
240         }\r
241         public void setGrayScale(bool value)\r
242         {\r
243             check_grayscale.CheckState = value ? CheckState.Checked : CheckState.Unchecked;\r
244         } \r
245     }\r
246 }\r