OSDN Git Service

4e6d698e238de906d35c9fe2746df383fc697b35
[handbrake-jp/handbrake-jp-git.git] / win / C# / frmOptions.cs
1 /*  frmOptions.cs $\r
2         \r
3            This file is part of the HandBrake source code.\r
4            Homepage: <http://handbrake.fr>.\r
5            It may be used under the terms of the GNU General Public License. */\r
6 \r
7 using System;\r
8 using System.Collections.Generic;\r
9 using System.ComponentModel;\r
10 using System.Data;\r
11 using System.Drawing;\r
12 using System.Text;\r
13 using System.Windows.Forms;\r
14 \r
15 namespace Handbrake\r
16 {\r
17     public partial class frmOptions : Form\r
18     {\r
19         private frmMain mainWindow;\r
20         /// <summary>\r
21         /// When the form loads, Initialise all the setting components with their correct values\r
22         /// </summary>\r
23         public frmOptions(frmMain window)\r
24         {\r
25             InitializeComponent();\r
26             mainWindow = window;\r
27 \r
28             // #############################\r
29             // General\r
30             // #############################\r
31 \r
32             // Enable Tooltips.\r
33             if (Properties.Settings.Default.tooltipEnable == "Checked")\r
34             {\r
35                 check_tooltip.CheckState = CheckState.Checked;\r
36                 ToolTip.Active = true;\r
37             }\r
38 \r
39             // Setup Widgets to match settings.\r
40             if (Properties.Settings.Default.updateStatus == "Checked")\r
41                 check_updateCheck.CheckState = CheckState.Checked;\r
42 \r
43             // enable loading of default user settings.\r
44             if (Properties.Settings.Default.defaultSettings == "Checked")\r
45                 check_userDefaultSettings.CheckState = CheckState.Checked;\r
46 \r
47             // On Encode Completeion Action\r
48             drp_completeOption.Text = Properties.Settings.Default.CompletionOption;\r
49             \r
50             // Enable auto naming feature.\r
51             if (Properties.Settings.Default.autoNaming == "Checked")\r
52                 check_autoNaming.CheckState = CheckState.Checked;\r
53 \r
54             // Store the auto name path\r
55             text_an_path.Text = Properties.Settings.Default.autoNamePath;\r
56             if (text_an_path.Text == string.Empty)\r
57                 text_an_path.Text = "Click 'Browse' to set the default location";\r
58 \r
59             // Store auto name format\r
60             txt_autoNameFormat.Text = Properties.Settings.Default.autoNameFormat;\r
61 \r
62             // #############################\r
63             // Picture Tab\r
64             // #############################\r
65 \r
66             // Store decomb value string\r
67             txt_decomb.Text = Properties.Settings.Default.decomb;\r
68 \r
69             // #############################\r
70             // CLI\r
71             // #############################\r
72 \r
73             // Enable Start CLI minimized\r
74             if (Properties.Settings.Default.cli_minimized == "Checked")\r
75                 check_cli_minimized.CheckState = CheckState.Checked;\r
76 \r
77             // Number of processor cores\r
78             drp_processors.Text = Properties.Settings.Default.Processors;\r
79 \r
80             // Priority level for encodes\r
81             drp_Priority.Text = Properties.Settings.Default.processPriority;\r
82 \r
83             // Save individual log files\r
84             if (Properties.Settings.Default.saveLog == "Checked")\r
85                 check_keepLogs.CheckState = CheckState.Checked;\r
86 \r
87             // Save logs in the same directory as encoded files\r
88             if (Properties.Settings.Default.saveLogWithVideo == "Checked")\r
89                 check_saveLogWithVideo.CheckState = CheckState.Checked;\r
90 \r
91             // The saved log path\r
92             text_logPath.Text = Properties.Settings.Default.saveLogPath;\r
93 \r
94 \r
95             // #############################\r
96             // Advanced\r
97             // #############################\r
98 \r
99             // Unstable Snapshot checking should only be visible for stable builds.\r
100             if (Properties.Settings.Default.hb_build.ToString().EndsWith("1"))\r
101             {\r
102                 lbl_appcastUnstable.Visible = false;\r
103                 check_snapshot.Visible = false;\r
104             }\r
105 \r
106             // Enable snapshot updating\r
107             if (Properties.Settings.Default.checkSnapshot == "Checked")\r
108                 check_snapshot.CheckState = CheckState.Checked;\r
109 \r
110             // Enable GUI DVD Drive detection code\r
111             if (Properties.Settings.Default.drive_detection == "Checked")\r
112                 btn_drive_detect.CheckState = CheckState.Checked;\r
113 \r
114         }\r
115 \r
116         #region General\r
117         private void check_updateCheck_CheckedChanged(object sender, EventArgs e)\r
118         {\r
119             Properties.Settings.Default.updateStatus = check_updateCheck.CheckState.ToString();\r
120         }\r
121 \r
122         private void check_userDefaultSettings_CheckedChanged(object sender, EventArgs e)\r
123         {\r
124             Properties.Settings.Default.defaultSettings = check_userDefaultSettings.CheckState.ToString();\r
125         }\r
126 \r
127         private void check_tooltip_CheckedChanged(object sender, EventArgs e)\r
128         {\r
129             Properties.Settings.Default.tooltipEnable = check_tooltip.CheckState.ToString();\r
130             if (check_tooltip.Checked)\r
131             {\r
132                 ToolTip.Active = true;\r
133                 mainWindow.ToolTip.Active = true;\r
134             }\r
135             else\r
136             {\r
137                 ToolTip.Active = false;\r
138                 mainWindow.ToolTip.Active = false;\r
139             }\r
140         }\r
141         private void drp_completeOption_SelectedIndexChanged(object sender, EventArgs e)\r
142         {\r
143             Properties.Settings.Default.CompletionOption = drp_completeOption.Text;\r
144         }\r
145 \r
146         private void check_autoNaming_CheckedChanged(object sender, EventArgs e)\r
147         {\r
148             Properties.Settings.Default.autoNaming = check_autoNaming.CheckState.ToString();\r
149         }\r
150 \r
151         private void txt_autoNameFormat_TextChanged(object sender, EventArgs e)\r
152         {\r
153             Properties.Settings.Default.autoNameFormat = txt_autoNameFormat.Text;\r
154         }\r
155 \r
156         private void btn_browse_Click(object sender, EventArgs e)\r
157         {\r
158             pathFinder.ShowDialog();\r
159             text_an_path.Text = pathFinder.SelectedPath;\r
160         }\r
161 \r
162         private void text_an_path_TextChanged(object sender, EventArgs e)\r
163         {\r
164             if (text_an_path.Text == string.Empty)\r
165             {\r
166                 Properties.Settings.Default.autoNamePath = "";\r
167                 text_an_path.Text = "Click 'Browse' to set the default location";\r
168             }\r
169             else\r
170                 Properties.Settings.Default.autoNamePath = text_an_path.Text;\r
171         }\r
172         #endregion\r
173 \r
174         #region Picture\r
175         private void txt_decomb_TextChanged(object sender, EventArgs e)\r
176         {\r
177             Properties.Settings.Default.decomb = txt_decomb.Text;\r
178         }\r
179         #endregion\r
180 \r
181         #region CLI\r
182         private void check_cli_minimized_CheckedChanged(object sender, EventArgs e)\r
183         {\r
184             Properties.Settings.Default.cli_minimized = check_cli_minimized.CheckState.ToString();\r
185         }\r
186 \r
187         private void drp_processors_SelectedIndexChanged(object sender, EventArgs e)\r
188         {\r
189             Properties.Settings.Default.Processors = drp_processors.Text;\r
190         }\r
191 \r
192         private void drp_Priority_SelectedIndexChanged(object sender, EventArgs e)\r
193         {\r
194             Properties.Settings.Default.processPriority = drp_Priority.Text;\r
195         }\r
196 \r
197         private void check_keepLogs_CheckedChanged(object sender, EventArgs e)\r
198         {\r
199             Properties.Settings.Default.saveLog = check_keepLogs.CheckState.ToString();\r
200         }\r
201 \r
202         private void check_saveLogWithVideo_CheckedChanged(object sender, EventArgs e)\r
203         {\r
204             Properties.Settings.Default.saveLogWithVideo = check_saveLogWithVideo.CheckState.ToString();\r
205             if (check_saveLogWithVideo.Checked == true)\r
206                 text_logPath.Text = "";\r
207         }\r
208 \r
209         private void btn_saveLog_Click(object sender, EventArgs e)\r
210         {\r
211             pathFinder.SelectedPath = String.Empty;\r
212             pathFinder.ShowDialog();\r
213             if (pathFinder.SelectedPath != string.Empty)\r
214                 text_logPath.Text = pathFinder.SelectedPath;\r
215         }\r
216 \r
217         private void text_logPath_TextChanged(object sender, EventArgs e)\r
218         {\r
219             Properties.Settings.Default.saveLogPath = text_logPath.Text;\r
220             if (text_logPath.Text != String.Empty)\r
221                 check_saveLogWithVideo.Checked = false;\r
222         }\r
223 \r
224         #endregion\r
225 \r
226         #region Advanced\r
227         private void btn_drive_detect_CheckedChanged(object sender, EventArgs e)\r
228         {\r
229             Properties.Settings.Default.drive_detection = btn_drive_detect.CheckState.ToString();\r
230         }\r
231 \r
232         private void check_snapshot_CheckedChanged(object sender, EventArgs e)\r
233         {\r
234             Properties.Settings.Default.checkSnapshot = check_snapshot.CheckState.ToString();\r
235         }\r
236         #endregion\r
237 \r
238         private void btn_close_Click(object sender, EventArgs e)\r
239         {\r
240             Properties.Settings.Default.Save(); // Small hack for Vista. Seems to work fine on XP without this\r
241             this.Close();\r
242         }\r
243     }\r
244 }