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         /// <summary>\r
15         /// When the form loads, Initialise all the setting components with their correct values\r
16         /// </summary>\r
17         public frmOptions()\r
18         {\r
19             InitializeComponent();\r
20 \r
21             // #############################\r
22             // General\r
23             // #############################\r
24 \r
25             // Enable Tooltips.\r
26             if (Properties.Settings.Default.tooltipEnable == "Checked")\r
27             {\r
28                 check_tooltip.CheckState = CheckState.Checked;\r
29                 ToolTip.Active = true;\r
30             }\r
31 \r
32             // Setup Widgets to match settings.\r
33             if (Properties.Settings.Default.updateStatus == "Checked")\r
34                 check_updateCheck.CheckState = CheckState.Checked;\r
35 \r
36             // enable loading of default user settings.\r
37             if (Properties.Settings.Default.defaultSettings == "Checked")\r
38                 check_userDefaultSettings.CheckState = CheckState.Checked;\r
39 \r
40             // On Encode Completeion Action\r
41             drp_completeOption.Text = Properties.Settings.Default.CompletionOption;\r
42             \r
43             // Enable auto naming feature.\r
44             if (Properties.Settings.Default.autoNaming == "Checked")\r
45                 check_autoNaming.CheckState = CheckState.Checked;\r
46 \r
47             // Store the auto name path\r
48             text_an_path.Text = Properties.Settings.Default.autoNamePath;\r
49             if (text_an_path.Text == string.Empty)\r
50                 text_an_path.Text = "Click 'Browse' to set the default location";\r
51 \r
52             // Store auto name format\r
53             txt_autoNameFormat.Text = Properties.Settings.Default.autoNameFormat;\r
54 \r
55             // #############################\r
56             // Picture Tab\r
57             // #############################\r
58 \r
59             // VLC Path\r
60             txt_vlcPath.Text = Properties.Settings.Default.VLC_Path;\r
61 \r
62             // #############################\r
63             // CLI\r
64             // #############################\r
65 \r
66             // Enable Start CLI minimized\r
67             if (Properties.Settings.Default.cli_minimized == "Checked")\r
68                 check_cli_minimized.CheckState = CheckState.Checked;\r
69 \r
70             // Number of processor cores\r
71             drp_processors.Text = Properties.Settings.Default.Processors;\r
72 \r
73             // Priority level for encodes\r
74             drp_Priority.Text = Properties.Settings.Default.processPriority;\r
75 \r
76             // Log Verbosity Level\r
77             cb_logVerboseLvl.SelectedIndex = Properties.Settings.Default.verboseLevel;\r
78 \r
79             // Save individual log files\r
80             if (Properties.Settings.Default.saveLog == "Checked")\r
81                 check_keepLogs.CheckState = CheckState.Checked;\r
82 \r
83             // Save logs in the same directory as encoded files\r
84             if (Properties.Settings.Default.saveLogWithVideo == "Checked")\r
85                 check_saveLogWithVideo.CheckState = CheckState.Checked;\r
86 \r
87             // The saved log path\r
88             text_logPath.Text = Properties.Settings.Default.saveLogPath;\r
89 \r
90 \r
91             // #############################\r
92             // Advanced\r
93             // #############################\r
94 \r
95             // Unstable Snapshot checking should only be visible for stable builds.\r
96             if (Properties.Settings.Default.hb_build.ToString().EndsWith("1"))\r
97             {\r
98                 lbl_appcastUnstable.Visible = false;\r
99                 check_snapshot.Visible = false;\r
100             }\r
101 \r
102             // Enable snapshot updating\r
103             if (Properties.Settings.Default.checkSnapshot == "Checked")\r
104                 check_snapshot.CheckState = CheckState.Checked;\r
105 \r
106             // Enable GUI DVD Drive detection code\r
107             if (Properties.Settings.Default.drive_detection == "Checked")\r
108                 btn_drive_detect.CheckState = CheckState.Checked;\r
109 \r
110             if (Properties.Settings.Default.QueryEditorTab == "Checked")\r
111                 check_queryEditorTab.CheckState = CheckState.Checked;\r
112 \r
113             // Enable snapshot updating\r
114             if (Properties.Settings.Default.MainWindowMinimize == "Checked")\r
115                 check_mainMinimize.CheckState = CheckState.Checked;\r
116 \r
117             drop_x264step.SelectedItem = Properties.Settings.Default.x264cqstep;\r
118         }\r
119 \r
120         #region General\r
121         private void check_updateCheck_CheckedChanged(object sender, EventArgs e)\r
122         {\r
123             Properties.Settings.Default.updateStatus = check_updateCheck.CheckState.ToString();\r
124         }\r
125 \r
126         private void check_userDefaultSettings_CheckedChanged(object sender, EventArgs e)\r
127         {\r
128             Properties.Settings.Default.defaultSettings = check_userDefaultSettings.CheckState.ToString();\r
129         }\r
130 \r
131         private void check_tooltip_CheckedChanged(object sender, EventArgs e)\r
132         {\r
133             Properties.Settings.Default.tooltipEnable = check_tooltip.CheckState.ToString();\r
134         }\r
135         private void drp_completeOption_SelectedIndexChanged(object sender, EventArgs e)\r
136         {\r
137             Properties.Settings.Default.CompletionOption = drp_completeOption.Text;\r
138         }\r
139 \r
140         private void check_autoNaming_CheckedChanged(object sender, EventArgs e)\r
141         {\r
142             Properties.Settings.Default.autoNaming = check_autoNaming.CheckState.ToString();\r
143         }\r
144 \r
145         private void txt_autoNameFormat_TextChanged(object sender, EventArgs e)\r
146         {\r
147             Properties.Settings.Default.autoNameFormat = txt_autoNameFormat.Text;\r
148         }\r
149 \r
150         private void btn_browse_Click(object sender, EventArgs e)\r
151         {\r
152             pathFinder.ShowDialog();\r
153             text_an_path.Text = pathFinder.SelectedPath;\r
154         }\r
155 \r
156         private void text_an_path_TextChanged(object sender, EventArgs e)\r
157         {\r
158             if (text_an_path.Text == string.Empty)\r
159             {\r
160                 Properties.Settings.Default.autoNamePath = "";\r
161                 text_an_path.Text = "Click 'Browse' to set the default location";\r
162             }\r
163             else\r
164                 Properties.Settings.Default.autoNamePath = text_an_path.Text;\r
165         }\r
166         #endregion\r
167 \r
168         #region Picture\r
169         private void btn_vlcPath_Click(object sender, EventArgs e)\r
170         {\r
171             openFile_vlc.ShowDialog();\r
172             if (openFile_vlc.FileName != string.Empty)\r
173                 txt_vlcPath.Text = openFile_vlc.FileName;\r
174         }\r
175         private void txt_vlcPath_TextChanged(object sender, EventArgs e)\r
176         {\r
177             Properties.Settings.Default.VLC_Path = txt_vlcPath.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 cb_logVerboseLvl_SelectedIndexChanged(object sender, EventArgs e)\r
198         {\r
199             Properties.Settings.Default.verboseLevel = cb_logVerboseLvl.SelectedIndex;\r
200         }\r
201 \r
202         private void check_keepLogs_CheckedChanged(object sender, EventArgs e)\r
203         {\r
204             Properties.Settings.Default.saveLog = check_keepLogs.CheckState.ToString();\r
205         }\r
206 \r
207         private void check_saveLogWithVideo_CheckedChanged(object sender, EventArgs e)\r
208         {\r
209             Properties.Settings.Default.saveLogWithVideo = check_saveLogWithVideo.CheckState.ToString();\r
210             if (check_saveLogWithVideo.Checked)\r
211                 text_logPath.Text = "";\r
212         }\r
213 \r
214         private void btn_saveLog_Click(object sender, EventArgs e)\r
215         {\r
216             pathFinder.SelectedPath = String.Empty;\r
217             pathFinder.ShowDialog();\r
218             if (pathFinder.SelectedPath != string.Empty)\r
219                 text_logPath.Text = pathFinder.SelectedPath;\r
220         }\r
221 \r
222         private void text_logPath_TextChanged(object sender, EventArgs e)\r
223         {\r
224             Properties.Settings.Default.saveLogPath = text_logPath.Text;\r
225             if (text_logPath.Text != String.Empty)\r
226                 check_saveLogWithVideo.Checked = false;\r
227         }\r
228 \r
229         #endregion\r
230 \r
231         #region Advanced\r
232         private void btn_drive_detect_CheckedChanged(object sender, EventArgs e)\r
233         {\r
234             Properties.Settings.Default.drive_detection = btn_drive_detect.CheckState.ToString();\r
235         }\r
236 \r
237         private void check_mainMinimize_CheckedChanged(object sender, EventArgs e)\r
238         {\r
239             Properties.Settings.Default.MainWindowMinimize = check_mainMinimize.CheckState.ToString();\r
240         }\r
241 \r
242         private void check_queryEditorTab_CheckedChanged(object sender, EventArgs e)\r
243         {\r
244             Properties.Settings.Default.QueryEditorTab = check_queryEditorTab.CheckState.ToString();\r
245         }\r
246 \r
247         private void check_snapshot_CheckedChanged(object sender, EventArgs e)\r
248         {\r
249             Properties.Settings.Default.checkSnapshot = check_snapshot.CheckState.ToString();\r
250         }\r
251 \r
252         private void x264step_SelectedIndexChanged(object sender, EventArgs e)\r
253         {\r
254             Properties.Settings.Default.x264cqstep = drop_x264step.Text;\r
255         }\r
256 \r
257         #endregion\r
258 \r
259         private void btn_close_Click(object sender, EventArgs e)\r
260         {\r
261             Properties.Settings.Default.Save(); // Small hack for Vista. Seems to work fine on XP without this\r
262             this.Close();\r
263         }        \r
264     }\r
265 }