OSDN Git Service

fix translate in preset-loader
[handbrake-jp/handbrake-jp.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 event EventHandler FilterSettingsChanged;\r
9 \r
10         public Filters()\r
11         {\r
12             InitializeComponent();\r
13             drop_decomb.SelectedIndex = 0;\r
14             drop_deinterlace.SelectedIndex = 0;\r
15             drop_denoise.SelectedIndex = 0;\r
16             drop_detelecine.SelectedIndex = 0;\r
17         }\r
18 \r
19         // Controls\r
20         private void drop_detelecine_SelectedIndexChanged(object sender, EventArgs e)\r
21         {\r
22             text_customDT.Visible = drop_detelecine.Text == "カスタム";\r
23             // A Filter has changed so raise a FilterSettingsChanged event.\r
24             if (this.FilterSettingsChanged != null)\r
25                 this.FilterSettingsChanged(this, new EventArgs());\r
26         }\r
27         private void drop_decomb_SelectedIndexChanged(object sender, EventArgs e)\r
28         {\r
29             text_customDC.Visible = drop_decomb.Text == "カスタム";\r
30             if (drop_decomb.SelectedIndex != 0 && drop_deinterlace.SelectedIndex != 0)\r
31                 drop_deinterlace.SelectedIndex = 0;\r
32 \r
33             // A Filter has changed so raise a FilterSettingsChanged event.\r
34             if (this.FilterSettingsChanged != null)\r
35                 this.FilterSettingsChanged(this, new EventArgs());\r
36         }\r
37         private void drop_deinterlace_SelectedIndexChanged(object sender, EventArgs e)\r
38         {\r
39             text_customDI.Visible = drop_deinterlace.Text == "カスタム";\r
40             if (drop_decomb.SelectedIndex != 0 && drop_deinterlace.SelectedIndex != 0)\r
41                 drop_decomb.SelectedIndex = 0;\r
42 \r
43             // A Filter has changed so raise a FilterSettingsChanged event.\r
44             if (this.FilterSettingsChanged != null)\r
45                 this.FilterSettingsChanged(this, new EventArgs());\r
46         }\r
47         private void drop_denoise_SelectedIndexChanged(object sender, EventArgs e)\r
48         {\r
49             text_customDN.Visible = drop_denoise.Text == "カスタム";\r
50 \r
51             // A Filter has changed so raise a FilterSettingsChanged event.\r
52             if (this.FilterSettingsChanged != null)\r
53                 this.FilterSettingsChanged(this, new EventArgs());\r
54         }\r
55         private void slider_deblock_Scroll(object sender, EventArgs e)\r
56         {\r
57             lbl_deblockVal.Text = slider_deblock.Value == 4 ? "Off" : slider_deblock.Value.ToString();\r
58 \r
59             // A Filter has changed so raise a FilterSettingsChanged event.\r
60             if (this.FilterSettingsChanged != null)\r
61                 this.FilterSettingsChanged(this, new EventArgs());\r
62         }\r
63 \r
64         // Returns the CLI query for the query generator.\r
65         public string getCLIQuery\r
66         {\r
67             get\r
68             {\r
69                 string query = "";\r
70 \r
71                 switch (drop_detelecine.Text)  // DeTelecine\r
72                 {\r
73                     case "Off":\r
74                         query += "";\r
75                         break;\r
76                     case "デフォルト":\r
77                         query += " --detelecine";\r
78                         break;\r
79                     case "カスタム":\r
80                         query += " --detelecine=\"" + text_customDT.Text + "\"";\r
81                         break;\r
82                     default:\r
83                         query += "";\r
84                         break;\r
85                 }\r
86 \r
87 \r
88                 switch (drop_decomb.Text) // Decomb\r
89                 {\r
90                     case "Off":\r
91                         query += "";\r
92                         break;\r
93                     case "デフォルト":\r
94                         query += " --decomb";\r
95                         break;\r
96                     case "カスタム":\r
97                         query += " --decomb=\"" + text_customDC.Text + "\"";\r
98                         break;\r
99                     default:\r
100                         query += "";\r
101                         break;\r
102                 }\r
103 \r
104                 switch (drop_deinterlace.Text) // DeInterlace\r
105                 {\r
106                     case "None":\r
107                         query += "";\r
108                         break;\r
109                     case "高速":\r
110                         query += " --deinterlace=\"fast\"";\r
111                         break;\r
112                     case "低速":\r
113                         query += " --deinterlace=\"slow\"";\r
114                         break;\r
115                     case "最低":\r
116                         query += " --deinterlace=\"slower\"";\r
117                         break;\r
118                     case "カスタム":\r
119                         query += " --deinterlace=\"" + text_customDI.Text + "\"";\r
120                         break;\r
121                     default:\r
122                         query += "";\r
123                         break;\r
124                 }\r
125 \r
126                 switch (drop_denoise.Text) // Denoise\r
127                 {\r
128                     case "None":\r
129                         query += "";\r
130                         break;\r
131                     case "弱":\r
132                         query += " --denoise=\"weak\"";\r
133                         break;\r
134                     case "中":\r
135                         query += " --denoise=\"medium\"";\r
136                         break;\r
137                     case "強":\r
138                         query += " --denoise=\"strong\"";\r
139                         break;\r
140                     case "カスタム":\r
141                         query += " --denoise=\"" + text_customDN.Text + "\"";\r
142                         break;\r
143                     default:\r
144                         query += "";\r
145                         break;\r
146                 }\r
147 \r
148                 if (slider_deblock.Value != 4)\r
149                     query += " --deblock=" + slider_deblock.Value;\r
150 \r
151                 if (check_grayscale.Checked)\r
152                     query += " -g ";\r
153 \r
154                 return query;\r
155             }\r
156         }\r
157 \r
158         // Setup for each component for the preset loader.\r
159         // PresetLoaderから呼び出される。引数には英語が入るので、下記は日本語化不要\r
160         public void setDeTelecine(string value)\r
161         {\r
162             text_customDT.Text = "";\r
163             text_customDT.Visible = false;\r
164             switch (value)\r
165             {\r
166                 case "Off":\r
167                     drop_detelecine.SelectedIndex = 0;\r
168                     break;\r
169                 case "Default":\r
170                     drop_detelecine.SelectedIndex = 2;\r
171                     break;\r
172                 default:\r
173                     drop_detelecine.SelectedIndex = 1;\r
174                     text_customDT.Text = value;\r
175                     text_customDT.Visible = true;\r
176                     break;\r
177             }\r
178         }\r
179         public void setDeNoise(string value)\r
180         {\r
181             text_customDN.Text = "";\r
182             text_customDN.Visible = false;\r
183             switch (value)\r
184             {\r
185                 case "Off":\r
186                     drop_denoise.SelectedIndex = 0;\r
187                     break;\r
188                 case "Weak":\r
189                     drop_denoise.SelectedIndex = 2;\r
190                     break;\r
191                 case "Medium":\r
192                     drop_denoise.SelectedIndex = 3;\r
193                     break;\r
194                 case "Strong":\r
195                     drop_denoise.SelectedIndex = 4;\r
196                     break;\r
197                 default:\r
198                     drop_denoise.SelectedIndex = 1;\r
199                     text_customDN.Text = value;\r
200                     text_customDN.Visible = true;\r
201                     break;\r
202             }\r
203         }\r
204         public void setDeInterlace(string value)\r
205         {\r
206             text_customDI.Text = "";\r
207             text_customDI.Visible = false;\r
208             switch (value)\r
209             {\r
210 \r
211                 case "Off":\r
212                     drop_deinterlace.SelectedIndex = 0;\r
213                     break;\r
214                 case "Fast":\r
215                     drop_deinterlace.SelectedIndex = 2;\r
216                     break;\r
217                 case "Slow":\r
218                     drop_deinterlace.SelectedIndex = 3;\r
219                     break;\r
220                 case "Slower":\r
221                     drop_deinterlace.SelectedIndex = 4;\r
222 \r
223                     break;\r
224                 default:\r
225                     drop_deinterlace.SelectedIndex = 1;\r
226                     text_customDI.Text = value;\r
227                     text_customDI.Visible = true;\r
228                     break;\r
229             }\r
230         }\r
231         public void setDecomb(string value)\r
232         {\r
233             text_customDC.Text = "";\r
234             text_customDC.Visible = false;\r
235             switch (value)\r
236             {\r
237                 case "Off":\r
238                     drop_decomb.SelectedIndex = 0;\r
239                     break;\r
240                 case "Default":\r
241                     drop_decomb.SelectedIndex = 2;\r
242                     break;\r
243                 default:\r
244                     drop_decomb.SelectedIndex = 1;\r
245                     text_customDC.Text = value;\r
246                     text_customDC.Visible = true;\r
247                     break;\r
248             }\r
249         }\r
250         public void setDeBlock(int value)\r
251         {\r
252             if (value != 0)\r
253             {\r
254                 slider_deblock.Value = value;\r
255                 lbl_deblockVal.Text = value.ToString();\r
256             }\r
257             else\r
258             {\r
259                 slider_deblock.Value = 4;\r
260                 lbl_deblockVal.Text = "Off";\r
261             }\r
262         }\r
263         public void setGrayScale(bool value)\r
264         {\r
265             check_grayscale.CheckState = value ? CheckState.Checked : CheckState.Unchecked;\r
266         } \r
267     }\r
268 }\r