OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / win / C# / frmAddPreset.cs
1 /*  frmAddPreset.cs $\r
2     This file is part of the HandBrake source code.\r
3     Homepage: <http://handbrake.fr>.\r
4     It may be used under the terms of the GNU General Public License. */\r
5 \r
6 namespace Handbrake\r
7 {\r
8     using System;\r
9     using System.Windows.Forms;\r
10 \r
11     using Handbrake.Functions;\r
12     using Handbrake.Model;\r
13 \r
14     using Presets;\r
15 \r
16     /// <summary>\r
17     /// The Add Preset Window\r
18     /// </summary>\r
19     public partial class frmAddPreset : Form\r
20     {\r
21         private readonly frmMain mainWindow;\r
22 \r
23         /// <summary>\r
24         /// The Preset Handler\r
25         /// </summary>\r
26         private readonly PresetsHandler presetCode;\r
27 \r
28         /// <summary>\r
29         /// Initializes a new instance of the <see cref="frmAddPreset"/> class.\r
30         /// </summary>\r
31         /// <param name="mainWindow">\r
32         /// The Main Window\r
33         /// </param>\r
34         /// <param name="presetHandler">\r
35         /// The preset handler.\r
36         /// </param>\r
37         public frmAddPreset(frmMain mainWindow, PresetsHandler presetHandler)\r
38         {\r
39             InitializeComponent();\r
40             this.mainWindow = mainWindow;\r
41             presetCode = presetHandler;\r
42 \r
43             cb_usePictureSettings.SelectedIndex = 0;\r
44         }\r
45 \r
46         /// <summary>\r
47         /// Handle the Add button event.\r
48         /// </summary>\r
49         /// <param name="sender">\r
50         /// The sender.\r
51         /// </param>\r
52         /// <param name="e">\r
53         /// The e.\r
54         /// </param>\r
55         private void BtnAddClick(object sender, EventArgs e)\r
56         {\r
57             if (string.IsNullOrEmpty(txt_preset_name.Text.Trim()))\r
58             {\r
59                 MessageBox.Show("You must enter a preset name!", "Warning",\r
60                                 MessageBoxButtons.OK, MessageBoxIcon.Warning);                \r
61                 return;\r
62             }\r
63 \r
64             QueryPictureSettingsMode pictureSettingsMode;\r
65 \r
66             switch (cb_usePictureSettings.SelectedIndex)\r
67             {\r
68                 case 0:\r
69                     pictureSettingsMode = QueryPictureSettingsMode.None;\r
70                     break;\r
71                 case 1:\r
72                     pictureSettingsMode = QueryPictureSettingsMode.SourceMaximum;\r
73                     break;\r
74                 default:\r
75                     pictureSettingsMode = QueryPictureSettingsMode.None;\r
76                     break;\r
77             }\r
78 \r
79             string query = QueryGenerator.GenerateQueryForPreset(mainWindow, pictureSettingsMode, check_useFilters.Checked, 0, 0);\r
80 \r
81             if (presetCode.Add(txt_preset_name.Text.Trim(), query, pictureSettingsMode != QueryPictureSettingsMode.None))\r
82             {\r
83                 this.DialogResult = DialogResult.OK;\r
84                 this.Close();           \r
85             }\r
86             else\r
87                 MessageBox.Show("Sorry, that preset name already exists. Please choose another!", "Warning", \r
88                                 MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
89         }\r
90 \r
91         /// <summary>\r
92         /// Handle the Cancel button event\r
93         /// </summary>\r
94         /// <param name="sender">\r
95         /// The sender.\r
96         /// </param>\r
97         /// <param name="e">\r
98         /// The e.\r
99         /// </param>\r
100         private void BtnCancelClick(object sender, EventArgs e)\r
101         {\r
102             this.DialogResult = DialogResult.Cancel;\r
103             this.Close();\r
104         }\r
105     }\r
106 }