OSDN Git Service

MacGui: Remove Target Size as a rate control option as it doesn't really work correct...
[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.ApplicationServices.Model;\r
12     using HandBrake.ApplicationServices.Services;\r
13 \r
14     using Handbrake.Functions;\r
15     using Handbrake.Model;\r
16 \r
17     /// <summary>\r
18     /// The Add Preset Window\r
19     /// </summary>\r
20     public partial class frmAddPreset : Form\r
21     {\r
22         private readonly frmMain mainWindow;\r
23 \r
24         /// <summary>\r
25         /// The Preset Handler\r
26         /// </summary>\r
27         private readonly PresetService presetCode;\r
28 \r
29         /// <summary>\r
30         /// Initializes a new instance of the <see cref="frmAddPreset"/> class.\r
31         /// </summary>\r
32         /// <param name="mainWindow">\r
33         /// The Main Window\r
34         /// </param>\r
35         /// <param name="presetHandler">\r
36         /// The preset handler.\r
37         /// </param>\r
38         public frmAddPreset(frmMain mainWindow, PresetService presetHandler)\r
39         {\r
40             InitializeComponent();\r
41             this.mainWindow = mainWindow;\r
42             presetCode = presetHandler;\r
43 \r
44             cb_usePictureSettings.SelectedIndex = 0;\r
45         }\r
46 \r
47         /// <summary>\r
48         /// Handle the Add button event.\r
49         /// </summary>\r
50         /// <param name="sender">\r
51         /// The sender.\r
52         /// </param>\r
53         /// <param name="e">\r
54         /// The e.\r
55         /// </param>\r
56         private void BtnAddClick(object sender, EventArgs e)\r
57         {\r
58             if (string.IsNullOrEmpty(txt_preset_name.Text.Trim()))\r
59             {\r
60                 MessageBox.Show("You must enter a preset name!", "Warning",\r
61                                 MessageBoxButtons.OK, MessageBoxIcon.Warning);                \r
62                 return;\r
63             }\r
64 \r
65             QueryPictureSettingsMode pictureSettingsMode;\r
66 \r
67             switch (cb_usePictureSettings.SelectedIndex)\r
68             {\r
69                 case 0:\r
70                     pictureSettingsMode = QueryPictureSettingsMode.None;\r
71                     break;\r
72                 case 1:\r
73                     pictureSettingsMode = QueryPictureSettingsMode.SourceMaximum;\r
74                     break;\r
75                 default:\r
76                     pictureSettingsMode = QueryPictureSettingsMode.None;\r
77                     break;\r
78             }\r
79 \r
80             string query = QueryGenerator.GenerateQueryForPreset(mainWindow, pictureSettingsMode, check_useFilters.Checked, 0, 0);\r
81 \r
82 \r
83             Preset preset = new Preset\r
84                 {\r
85                     Name = this.txt_preset_name.Text,\r
86                     Query = query,\r
87                     CropSettings = pictureSettingsMode != QueryPictureSettingsMode.None,\r
88                     Description = string.Empty\r
89                 };\r
90 \r
91             if (presetCode.Add(preset))\r
92             {\r
93                 this.DialogResult = DialogResult.OK;\r
94                 this.Close();           \r
95             }\r
96             else\r
97                 MessageBox.Show("Sorry, that preset name already exists. Please choose another!", "Warning", \r
98                                 MessageBoxButtons.OK, MessageBoxIcon.Warning);\r
99         }\r
100 \r
101         /// <summary>\r
102         /// Handle the Cancel button event\r
103         /// </summary>\r
104         /// <param name="sender">\r
105         /// The sender.\r
106         /// </param>\r
107         /// <param name="e">\r
108         /// The e.\r
109         /// </param>\r
110         private void BtnCancelClick(object sender, EventArgs e)\r
111         {\r
112             this.DialogResult = DialogResult.Cancel;\r
113             this.Close();\r
114         }\r
115     }\r
116 }