OSDN Git Service

d139998ed69f0ee9430655716ae6f1ff41a45465
[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         }\r
118 \r
119         #region General\r
120         private void check_updateCheck_CheckedChanged(object sender, EventArgs e)\r
121         {\r
122             Properties.Settings.Default.updateStatus = check_updateCheck.CheckState.ToString();\r
123         }\r
124 \r
125         private void check_userDefaultSettings_CheckedChanged(object sender, EventArgs e)\r
126         {\r
127             Properties.Settings.Default.defaultSettings = check_userDefaultSettings.CheckState.ToString();\r
128         }\r
129 \r
130         private void check_tooltip_CheckedChanged(object sender, EventArgs e)\r
131         {\r
132             Properties.Settings.Default.tooltipEnable = check_tooltip.CheckState.ToString();\r
133             if (check_tooltip.Checked)\r
134             {\r
135                 ToolTip.Active = true;\r
136                 mainWindow.ToolTip.Active = true;\r
137             }\r
138             else\r
139             {\r
140                 ToolTip.Active = false;\r
141                 mainWindow.ToolTip.Active = false;\r
142             }\r
143         }\r
144         private void drp_completeOption_SelectedIndexChanged(object sender, EventArgs e)\r
145         {\r
146             Properties.Settings.Default.CompletionOption = drp_completeOption.Text;\r
147         }\r
148 \r
149         private void check_autoNaming_CheckedChanged(object sender, EventArgs e)\r
150         {\r
151             Properties.Settings.Default.autoNaming = check_autoNaming.CheckState.ToString();\r
152         }\r
153 \r
154         private void txt_autoNameFormat_TextChanged(object sender, EventArgs e)\r
155         {\r
156             Properties.Settings.Default.autoNameFormat = txt_autoNameFormat.Text;\r
157         }\r
158 \r
159         private void btn_browse_Click(object sender, EventArgs e)\r
160         {\r
161             pathFinder.ShowDialog();\r
162             text_an_path.Text = pathFinder.SelectedPath;\r
163         }\r
164 \r
165         private void text_an_path_TextChanged(object sender, EventArgs e)\r
166         {\r
167             if (text_an_path.Text == string.Empty)\r
168             {\r
169                 Properties.Settings.Default.autoNamePath = "";\r
170                 text_an_path.Text = "Click 'Browse' to set the default location";\r
171             }\r
172             else\r
173                 Properties.Settings.Default.autoNamePath = text_an_path.Text;\r
174         }\r
175         #endregion\r
176 \r
177         #region Picture\r
178         private void txt_decomb_TextChanged(object sender, EventArgs e)\r
179         {\r
180             Properties.Settings.Default.decomb = txt_decomb.Text;\r
181         }\r
182 \r
183         private void btn_vlcPath_Click(object sender, EventArgs e)\r
184         {\r
185             openFile_vlc.ShowDialog();\r
186             if (openFile_vlc.FileName != string.Empty)\r
187                 txt_vlcPath.Text = openFile_vlc.FileName;\r
188         }\r
189         private void txt_vlcPath_TextChanged(object sender, EventArgs e)\r
190         {\r
191             Properties.Settings.Default.VLC_Path = txt_vlcPath.Text;\r
192         }\r
193         #endregion\r
194 \r
195         #region CLI\r
196         private void check_cli_minimized_CheckedChanged(object sender, EventArgs e)\r
197         {\r
198             Properties.Settings.Default.cli_minimized = check_cli_minimized.CheckState.ToString();\r
199         }\r
200 \r
201         private void drp_processors_SelectedIndexChanged(object sender, EventArgs e)\r
202         {\r
203             Properties.Settings.Default.Processors = drp_processors.Text;\r
204         }\r
205 \r
206         private void drp_Priority_SelectedIndexChanged(object sender, EventArgs e)\r
207         {\r
208             Properties.Settings.Default.processPriority = drp_Priority.Text;\r
209         }\r
210 \r
211         private void check_keepLogs_CheckedChanged(object sender, EventArgs e)\r
212         {\r
213             Properties.Settings.Default.saveLog = check_keepLogs.CheckState.ToString();\r
214         }\r
215 \r
216         private void check_saveLogWithVideo_CheckedChanged(object sender, EventArgs e)\r
217         {\r
218             Properties.Settings.Default.saveLogWithVideo = check_saveLogWithVideo.CheckState.ToString();\r
219             if (check_saveLogWithVideo.Checked == true)\r
220                 text_logPath.Text = "";\r
221         }\r
222 \r
223         private void btn_saveLog_Click(object sender, EventArgs e)\r
224         {\r
225             pathFinder.SelectedPath = String.Empty;\r
226             pathFinder.ShowDialog();\r
227             if (pathFinder.SelectedPath != string.Empty)\r
228                 text_logPath.Text = pathFinder.SelectedPath;\r
229         }\r
230 \r
231         private void text_logPath_TextChanged(object sender, EventArgs e)\r
232         {\r
233             Properties.Settings.Default.saveLogPath = text_logPath.Text;\r
234             if (text_logPath.Text != String.Empty)\r
235                 check_saveLogWithVideo.Checked = false;\r
236         }\r
237 \r
238         #endregion\r
239 \r
240         #region Advanced\r
241         private void btn_drive_detect_CheckedChanged(object sender, EventArgs e)\r
242         {\r
243             Properties.Settings.Default.drive_detection = btn_drive_detect.CheckState.ToString();\r
244         }\r
245 \r
246         private void check_snapshot_CheckedChanged(object sender, EventArgs e)\r
247         {\r
248             Properties.Settings.Default.checkSnapshot = check_snapshot.CheckState.ToString();\r
249         }\r
250         #endregion\r
251 \r
252         private void btn_close_Click(object sender, EventArgs e)\r
253         {\r
254             Properties.Settings.Default.Save(); // Small hack for Vista. Seems to work fine on XP without this\r
255             this.Close();\r
256         }\r
257 \r
258     }\r
259 }