OSDN Git Service

e31e41abfcc3aee1f05bd5a77af23de9c8669857
[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             // VLC Path\r
70             txt_vlcPath.Text = Properties.Settings.Default.VLC_Path;\r
71 \r
72             // #############################\r
73             // CLI\r
74             // #############################\r
75 \r
76             // Enable Start CLI minimized\r
77             if (Properties.Settings.Default.cli_minimized == "Checked")\r
78                 check_cli_minimized.CheckState = CheckState.Checked;\r
79 \r
80             // Number of processor cores\r
81             drp_processors.Text = Properties.Settings.Default.Processors;\r
82 \r
83             // Priority level for encodes\r
84             drp_Priority.Text = Properties.Settings.Default.processPriority;\r
85 \r
86             // Save individual log files\r
87             if (Properties.Settings.Default.saveLog == "Checked")\r
88                 check_keepLogs.CheckState = CheckState.Checked;\r
89 \r
90             // Save logs in the same directory as encoded files\r
91             if (Properties.Settings.Default.saveLogWithVideo == "Checked")\r
92                 check_saveLogWithVideo.CheckState = CheckState.Checked;\r
93 \r
94             // The saved log path\r
95             text_logPath.Text = Properties.Settings.Default.saveLogPath;\r
96 \r
97 \r
98             // #############################\r
99             // Advanced\r
100             // #############################\r
101 \r
102             // Unstable Snapshot checking should only be visible for stable builds.\r
103             if (Properties.Settings.Default.hb_build.ToString().EndsWith("1"))\r
104             {\r
105                 lbl_appcastUnstable.Visible = false;\r
106                 check_snapshot.Visible = false;\r
107             }\r
108 \r
109             // Enable snapshot updating\r
110             if (Properties.Settings.Default.checkSnapshot == "Checked")\r
111                 check_snapshot.CheckState = CheckState.Checked;\r
112 \r
113             // Enable GUI DVD Drive detection code\r
114             if (Properties.Settings.Default.drive_detection == "Checked")\r
115                 btn_drive_detect.CheckState = CheckState.Checked;\r
116 \r
117             if (Properties.Settings.Default.QueryEditorTab == "Checked")\r
118                 check_queryEditorTab.CheckState = CheckState.Checked;\r
119 \r
120             // Enable snapshot updating\r
121             if (Properties.Settings.Default.MainWindowMinimize == "Checked")\r
122                 check_mainMinimize.CheckState = CheckState.Checked;\r
123         }\r
124 \r
125         #region General\r
126         private void check_updateCheck_CheckedChanged(object sender, EventArgs e)\r
127         {\r
128             Properties.Settings.Default.updateStatus = check_updateCheck.CheckState.ToString();\r
129         }\r
130 \r
131         private void check_userDefaultSettings_CheckedChanged(object sender, EventArgs e)\r
132         {\r
133             Properties.Settings.Default.defaultSettings = check_userDefaultSettings.CheckState.ToString();\r
134         }\r
135 \r
136         private void check_tooltip_CheckedChanged(object sender, EventArgs e)\r
137         {\r
138             Properties.Settings.Default.tooltipEnable = check_tooltip.CheckState.ToString();\r
139             if (check_tooltip.Checked)\r
140             {\r
141                 ToolTip.Active = true;\r
142                 mainWindow.ToolTip.Active = true;\r
143             }\r
144             else\r
145             {\r
146                 ToolTip.Active = false;\r
147                 mainWindow.ToolTip.Active = false;\r
148             }\r
149         }\r
150         private void drp_completeOption_SelectedIndexChanged(object sender, EventArgs e)\r
151         {\r
152             Properties.Settings.Default.CompletionOption = drp_completeOption.Text;\r
153         }\r
154 \r
155         private void check_autoNaming_CheckedChanged(object sender, EventArgs e)\r
156         {\r
157             Properties.Settings.Default.autoNaming = check_autoNaming.CheckState.ToString();\r
158         }\r
159 \r
160         private void txt_autoNameFormat_TextChanged(object sender, EventArgs e)\r
161         {\r
162             Properties.Settings.Default.autoNameFormat = txt_autoNameFormat.Text;\r
163         }\r
164 \r
165         private void btn_browse_Click(object sender, EventArgs e)\r
166         {\r
167             pathFinder.ShowDialog();\r
168             text_an_path.Text = pathFinder.SelectedPath;\r
169         }\r
170 \r
171         private void text_an_path_TextChanged(object sender, EventArgs e)\r
172         {\r
173             if (text_an_path.Text == string.Empty)\r
174             {\r
175                 Properties.Settings.Default.autoNamePath = "";\r
176                 text_an_path.Text = "Click 'Browse' to set the default location";\r
177             }\r
178             else\r
179                 Properties.Settings.Default.autoNamePath = text_an_path.Text;\r
180         }\r
181         #endregion\r
182 \r
183         #region Picture\r
184         private void txt_decomb_TextChanged(object sender, EventArgs e)\r
185         {\r
186             Properties.Settings.Default.decomb = txt_decomb.Text;\r
187         }\r
188 \r
189         private void btn_vlcPath_Click(object sender, EventArgs e)\r
190         {\r
191             openFile_vlc.ShowDialog();\r
192             if (openFile_vlc.FileName != string.Empty)\r
193                 txt_vlcPath.Text = openFile_vlc.FileName;\r
194         }\r
195         private void txt_vlcPath_TextChanged(object sender, EventArgs e)\r
196         {\r
197             Properties.Settings.Default.VLC_Path = txt_vlcPath.Text;\r
198         }\r
199         #endregion\r
200 \r
201         #region CLI\r
202         private void check_cli_minimized_CheckedChanged(object sender, EventArgs e)\r
203         {\r
204             Properties.Settings.Default.cli_minimized = check_cli_minimized.CheckState.ToString();\r
205         }\r
206 \r
207         private void drp_processors_SelectedIndexChanged(object sender, EventArgs e)\r
208         {\r
209             Properties.Settings.Default.Processors = drp_processors.Text;\r
210         }\r
211 \r
212         private void drp_Priority_SelectedIndexChanged(object sender, EventArgs e)\r
213         {\r
214             Properties.Settings.Default.processPriority = drp_Priority.Text;\r
215         }\r
216 \r
217         private void check_keepLogs_CheckedChanged(object sender, EventArgs e)\r
218         {\r
219             Properties.Settings.Default.saveLog = check_keepLogs.CheckState.ToString();\r
220         }\r
221 \r
222         private void check_saveLogWithVideo_CheckedChanged(object sender, EventArgs e)\r
223         {\r
224             Properties.Settings.Default.saveLogWithVideo = check_saveLogWithVideo.CheckState.ToString();\r
225             if (check_saveLogWithVideo.Checked == true)\r
226                 text_logPath.Text = "";\r
227         }\r
228 \r
229         private void btn_saveLog_Click(object sender, EventArgs e)\r
230         {\r
231             pathFinder.SelectedPath = String.Empty;\r
232             pathFinder.ShowDialog();\r
233             if (pathFinder.SelectedPath != string.Empty)\r
234                 text_logPath.Text = pathFinder.SelectedPath;\r
235         }\r
236 \r
237         private void text_logPath_TextChanged(object sender, EventArgs e)\r
238         {\r
239             Properties.Settings.Default.saveLogPath = text_logPath.Text;\r
240             if (text_logPath.Text != String.Empty)\r
241                 check_saveLogWithVideo.Checked = false;\r
242         }\r
243 \r
244         #endregion\r
245 \r
246         #region Advanced\r
247         private void btn_drive_detect_CheckedChanged(object sender, EventArgs e)\r
248         {\r
249             Properties.Settings.Default.drive_detection = btn_drive_detect.CheckState.ToString();\r
250         }\r
251 \r
252         private void check_mainMinimize_CheckedChanged(object sender, EventArgs e)\r
253         {\r
254             Properties.Settings.Default.MainWindowMinimize = check_mainMinimize.CheckState.ToString();\r
255         }\r
256 \r
257         private void check_queryEditorTab_CheckedChanged(object sender, EventArgs e)\r
258         {\r
259             Properties.Settings.Default.QueryEditorTab = check_queryEditorTab.CheckState.ToString();\r
260         }\r
261 \r
262         private void check_snapshot_CheckedChanged(object sender, EventArgs e)\r
263         {\r
264             Properties.Settings.Default.checkSnapshot = check_snapshot.CheckState.ToString();\r
265         }\r
266         #endregion\r
267 \r
268         private void btn_close_Click(object sender, EventArgs e)\r
269         {\r
270             Properties.Settings.Default.Save(); // Small hack for Vista. Seems to work fine on XP without this\r
271             this.Close();\r
272         }\r
273     }\r
274 }