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"></param>\r
32         /// <param name="presetHandler">\r
33         /// The preset handler.\r
34         /// </param>\r
35         public frmAddPreset(frmMain mainWindow, PresetsHandler presetHandler)\r
36         {\r
37             InitializeComponent();\r
38             this.mainWindow = mainWindow;\r
39             presetCode = presetHandler;\r
40 \r
41             cb_usePictureSettings.SelectedIndex = 0;\r
42         }\r
43 \r
44         /// <summary>\r
45         /// Handle the Add button event.\r
46         /// </summary>\r
47         /// <param name="sender">\r
48         /// The sender.\r
49         /// </param>\r
50         /// <param name="e">\r
51         /// The e.\r
52         /// </param>\r
53         private void BtnAddClick(object sender, EventArgs e)\r
54         {\r
55             if (string.IsNullOrEmpty(txt_preset_name.Text.Trim()))\r
56             {\r
57                 MessageBox.Show("You must enter a preset name!", "Warning",\r
58                                 MessageBoxButtons.OK, MessageBoxIcon.Warning);                \r
59                 return;\r
60             }\r
61 \r
62             QueryPictureSettingsMode pictureSettingsMode;\r
63 \r
64             switch (cb_usePictureSettings.SelectedIndex)\r
65             {\r
66                 case 0:\r
67                     pictureSettingsMode = QueryPictureSettingsMode.None;\r
68                     break;\r
69                 case 1:\r
70                     pictureSettingsMode = QueryPictureSettingsMode.SourceMaximum;\r
71                     break;\r
72                 default:\r
73                     pictureSettingsMode = QueryPictureSettingsMode.None;\r
74                     break;\r
75             }\r
76 \r
77             string query = QueryGenerator.GenerateQueryForPreset(mainWindow, pictureSettingsMode, check_useFilters.Checked, 0, 0);\r
78 \r
79             if (presetCode.Add(txt_preset_name.Text.Trim(), query, pictureSettingsMode != QueryPictureSettingsMode.None))\r
80             {\r
81                 this.DialogResult = DialogResult.OK;\r
82                 this.Close();           \r
83             }\r
84             else\r
85                 MessageBox.Show("Sorry, that preset name already exists. Please choose another!", "Warning", \r
86                                 MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
87         }\r
88 \r
89         /// <summary>\r
90         /// Handle the Cancel button event\r
91         /// </summary>\r
92         /// <param name="sender">\r
93         /// The sender.\r
94         /// </param>\r
95         /// <param name="e">\r
96         /// The e.\r
97         /// </param>\r
98         private void BtnCancelClick(object sender, EventArgs e)\r
99         {\r
100             this.DialogResult = DialogResult.Cancel;\r
101             this.Close();\r
102         }\r
103     }\r
104 }