OSDN Git Service

WinGui:
[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.Windows.Forms;\r
9 \r
10 namespace Handbrake\r
11 {\r
12     public partial class frmOptions : Form\r
13     {\r
14         public frmOptions()\r
15         {\r
16             InitializeComponent();\r
17 \r
18             // #############################\r
19             // General\r
20             // #############################\r
21 \r
22             // Enable Tooltips.\r
23             if (Properties.Settings.Default.tooltipEnable)\r
24             {\r
25                 check_tooltip.CheckState = CheckState.Checked;\r
26                 ToolTip.Active = true;\r
27             }\r
28 \r
29             // Setup Widgets to match settings.\r
30             if (Properties.Settings.Default.updateStatus)\r
31                 check_updateCheck.CheckState = CheckState.Checked;\r
32 \r
33             // enable loading of default user settings.\r
34             if (Properties.Settings.Default.defaultSettings)\r
35                 check_userDefaultSettings.CheckState = CheckState.Checked;\r
36 \r
37             // On Encode Completeion Action\r
38             drp_completeOption.Text = Properties.Settings.Default.CompletionOption;\r
39             \r
40             // Enable auto naming feature.\r
41             if (Properties.Settings.Default.autoNaming)\r
42                 check_autoNaming.CheckState = CheckState.Checked;\r
43 \r
44             // Store the auto name path\r
45             text_an_path.Text = Properties.Settings.Default.autoNamePath;\r
46             if (text_an_path.Text == string.Empty)\r
47                 text_an_path.Text = "Click 'Browse' to set the default location";\r
48 \r
49             // Store auto name format\r
50             txt_autoNameFormat.Text = Properties.Settings.Default.autoNameFormat;\r
51 \r
52             // #############################\r
53             // Picture Tab\r
54             // #############################\r
55 \r
56             // VLC Path\r
57             txt_vlcPath.Text = Properties.Settings.Default.VLC_Path;\r
58 \r
59             // #############################\r
60             // CLI\r
61             // #############################\r
62 \r
63             // Enable Start CLI minimized\r
64             if (Properties.Settings.Default.cli_minimized)\r
65                 check_cli_minimized.CheckState = CheckState.Checked;\r
66 \r
67             // Number of processor cores\r
68             drp_processors.Text = Properties.Settings.Default.Processors;\r
69 \r
70             // Priority level for encodes\r
71             drp_Priority.Text = Properties.Settings.Default.processPriority;\r
72 \r
73             // Log Verbosity Level\r
74             cb_logVerboseLvl.SelectedIndex = Properties.Settings.Default.verboseLevel;\r
75 \r
76 \r
77             // Save logs in the same directory as encoded files\r
78             if (Properties.Settings.Default.saveLogWithVideo)\r
79                 check_saveLogWithVideo.CheckState = CheckState.Checked;\r
80 \r
81             // Save Logs in a specified path\r
82             if (Properties.Settings.Default.saveLogToSpecifiedPath)\r
83                 check_logsInSpecifiedLocation.CheckState = CheckState.Checked;\r
84 \r
85             // The saved log path\r
86             text_logPath.Text = Properties.Settings.Default.saveLogPath;\r
87 \r
88 \r
89             // #############################\r
90             // Advanced\r
91             // #############################\r
92 \r
93             // Enable GUI DVD Drive detection code\r
94             if (Properties.Settings.Default.drive_detection)\r
95                 btn_drive_detect.CheckState = CheckState.Checked;\r
96 \r
97             // Minimise to Tray\r
98             if (Properties.Settings.Default.trayIconAlerts)\r
99                 check_trayStatusAlerts.CheckState = CheckState.Checked;\r
100 \r
101             // Tray Balloon popups\r
102             if (Properties.Settings.Default.MainWindowMinimize)\r
103                 check_mainMinimize.CheckState = CheckState.Checked;\r
104 \r
105             // Enable / Disable Query editor tab\r
106             if (Properties.Settings.Default.QueryEditorTab)\r
107                 check_queryEditorTab.CheckState = CheckState.Checked;\r
108 \r
109             // Preset update notification\r
110             if (Properties.Settings.Default.presetNotification)\r
111                 check_disablePresetNotification.CheckState = CheckState.Checked;\r
112 \r
113             // Experimental In-GUI encode status indicator.\r
114             if (Properties.Settings.Default.enocdeStatusInGui)\r
115                 check_inGuiStatus.CheckState = CheckState.Checked;\r
116 \r
117             // Days between update checks\r
118             numeric_updateCheckDays.Value = Properties.Settings.Default.daysBetweenUpdateCheck;\r
119 \r
120             // x264 step\r
121             drop_x264step.SelectedItem = Properties.Settings.Default.x264cqstep;\r
122 \r
123             // Use Experimental dvdnav\r
124             if (Properties.Settings.Default.dvdnav)\r
125                 check_dvdnav.CheckState = CheckState.Checked;\r
126         }\r
127 \r
128         #region General\r
129         private void check_updateCheck_CheckedChanged(object sender, EventArgs e)\r
130         {\r
131             Properties.Settings.Default.updateStatus = check_updateCheck.Checked;\r
132         }\r
133 \r
134         private void check_userDefaultSettings_CheckedChanged(object sender, EventArgs e)\r
135         {\r
136             Properties.Settings.Default.defaultSettings = check_userDefaultSettings.Checked;\r
137         }\r
138 \r
139         private void check_tooltip_CheckedChanged(object sender, EventArgs e)\r
140         {\r
141             Properties.Settings.Default.tooltipEnable = check_tooltip.Checked;\r
142         }\r
143         private void drp_completeOption_SelectedIndexChanged(object sender, EventArgs e)\r
144         {\r
145             Properties.Settings.Default.CompletionOption = drp_completeOption.Text;\r
146         }\r
147 \r
148         private void check_autoNaming_CheckedChanged(object sender, EventArgs e)\r
149         {\r
150             Properties.Settings.Default.autoNaming = check_autoNaming.Checked;\r
151         }\r
152 \r
153         private void txt_autoNameFormat_TextChanged(object sender, EventArgs e)\r
154         {\r
155             Properties.Settings.Default.autoNameFormat = txt_autoNameFormat.Text;\r
156         }\r
157 \r
158         private void btn_browse_Click(object sender, EventArgs e)\r
159         {\r
160             pathFinder.ShowDialog();\r
161             text_an_path.Text = pathFinder.SelectedPath;\r
162         }\r
163 \r
164         private void text_an_path_TextChanged(object sender, EventArgs e)\r
165         {\r
166             if (text_an_path.Text == string.Empty)\r
167             {\r
168                 Properties.Settings.Default.autoNamePath = "";\r
169                 text_an_path.Text = "Click 'Browse' to set the default location";\r
170             }\r
171             else\r
172                 Properties.Settings.Default.autoNamePath = text_an_path.Text;\r
173         }\r
174         #endregion\r
175 \r
176         #region Picture\r
177         private void btn_vlcPath_Click(object sender, EventArgs e)\r
178         {\r
179             openFile_vlc.ShowDialog();\r
180             if (openFile_vlc.FileName != string.Empty)\r
181                 txt_vlcPath.Text = openFile_vlc.FileName;\r
182         }\r
183         private void txt_vlcPath_TextChanged(object sender, EventArgs e)\r
184         {\r
185             Properties.Settings.Default.VLC_Path = txt_vlcPath.Text;\r
186         }\r
187         #endregion\r
188 \r
189         #region CLI\r
190         private void check_cli_minimized_CheckedChanged(object sender, EventArgs e)\r
191         {\r
192             Properties.Settings.Default.cli_minimized = check_cli_minimized.Checked;\r
193         }\r
194 \r
195         private void drp_processors_SelectedIndexChanged(object sender, EventArgs e)\r
196         {\r
197             Properties.Settings.Default.Processors = drp_processors.Text;\r
198         }\r
199 \r
200         private void drp_Priority_SelectedIndexChanged(object sender, EventArgs e)\r
201         {\r
202             Properties.Settings.Default.processPriority = drp_Priority.Text;\r
203         }\r
204 \r
205         private void cb_logVerboseLvl_SelectedIndexChanged(object sender, EventArgs e)\r
206         {\r
207             Properties.Settings.Default.verboseLevel = cb_logVerboseLvl.SelectedIndex;\r
208         }\r
209 \r
210         private void check_saveLogWithVideo_CheckedChanged(object sender, EventArgs e)\r
211         {\r
212             Properties.Settings.Default.saveLogWithVideo = check_saveLogWithVideo.Checked;\r
213         }\r
214         private void check_logsInSpecifiedLocation_CheckedChanged(object sender, EventArgs e)\r
215         {\r
216             Properties.Settings.Default.saveLogToSpecifiedPath = check_logsInSpecifiedLocation.Checked;\r
217         }\r
218 \r
219         private void btn_saveLog_Click(object sender, EventArgs e)\r
220         {\r
221             pathFinder.SelectedPath = String.Empty;\r
222             pathFinder.ShowDialog();\r
223             if (pathFinder.SelectedPath != string.Empty)\r
224                 text_logPath.Text = pathFinder.SelectedPath;\r
225         }\r
226 \r
227         private void text_logPath_TextChanged(object sender, EventArgs e)\r
228         {\r
229             Properties.Settings.Default.saveLogPath = text_logPath.Text;\r
230         }\r
231 \r
232         #endregion\r
233 \r
234         #region Advanced\r
235         private void btn_drive_detect_CheckedChanged(object sender, EventArgs e)\r
236         {\r
237             Properties.Settings.Default.drive_detection = btn_drive_detect.Checked;\r
238         }\r
239 \r
240         private void check_mainMinimize_CheckedChanged(object sender, EventArgs e)\r
241         {\r
242             Properties.Settings.Default.MainWindowMinimize = check_mainMinimize.Checked;\r
243         }\r
244 \r
245         private void check_trayStatusAlerts_CheckedChanged(object sender, EventArgs e)\r
246         {\r
247             Properties.Settings.Default.trayIconAlerts = check_trayStatusAlerts.Checked;\r
248         }\r
249 \r
250         private void check_queryEditorTab_CheckedChanged(object sender, EventArgs e)\r
251         {\r
252             Properties.Settings.Default.QueryEditorTab = check_queryEditorTab.Checked;\r
253         }\r
254 \r
255         private void check_disablePresetNotification_CheckedChanged(object sender, EventArgs e)\r
256         {\r
257             Properties.Settings.Default.presetNotification = check_disablePresetNotification.Checked;\r
258         }\r
259 \r
260         private void check_inGuiStatus_CheckedChanged(object sender, EventArgs e)\r
261         {\r
262             Properties.Settings.Default.enocdeStatusInGui = check_inGuiStatus.Checked;\r
263         }\r
264 \r
265         private void numeric_updateCheckDays_ValueChanged(object sender, EventArgs e)\r
266         {\r
267             Properties.Settings.Default.daysBetweenUpdateCheck = (int)numeric_updateCheckDays.Value;\r
268         }\r
269 \r
270         private void x264step_SelectedIndexChanged(object sender, EventArgs e)\r
271         {\r
272             Properties.Settings.Default.x264cqstep = drop_x264step.Text;\r
273         }\r
274 \r
275         private void check_dvdnav_CheckedChanged(object sender, EventArgs e)\r
276         {\r
277             Properties.Settings.Default.dvdnav = check_dvdnav.Checked;\r
278         } \r
279         #endregion\r
280 \r
281         private void btn_close_Click(object sender, EventArgs e)\r
282         {\r
283             Properties.Settings.Default.Save(); // Small hack for Vista. Seems to work fine on XP without this\r
284             this.Close();\r
285         }\r
286     }\r
287 }