diff options
Diffstat (limited to 'win/CS/Functions')
-rw-r--r-- | win/CS/Functions/PresetLoader.cs | 19 | ||||
-rw-r--r-- | win/CS/Functions/QueryGenerator.cs | 9 |
2 files changed, 25 insertions, 3 deletions
diff --git a/win/CS/Functions/PresetLoader.cs b/win/CS/Functions/PresetLoader.cs index e78754925..de4058210 100644 --- a/win/CS/Functions/PresetLoader.cs +++ b/win/CS/Functions/PresetLoader.cs @@ -28,6 +28,21 @@ namespace Handbrake.Functions private static readonly IUserSettingService UserSettingService = ServiceManager.UserSettingService;
/// <summary>
+ /// Load an Encode task as a Preset
+ /// </summary>
+ /// <param name="mainWindow">
+ /// The main window.
+ /// </param>
+ /// <param name="encodeTask">
+ /// The encode task.
+ /// </param>
+ public static void LoadPreset(frmMain mainWindow, EncodeTask encodeTask)
+ {
+ Preset preset = new Preset { Name = "Unknown", Task = encodeTask };
+ LoadPreset(mainWindow, preset);
+ }
+
+ /// <summary>
/// This function takes in a Query which has been parsed by QueryParser and
/// set's all the GUI widgets correctly.
/// </summary>
@@ -37,10 +52,10 @@ namespace Handbrake.Functions /// <param name="preset">
/// The preset.
/// </param>
- public static void LoadPreset(frmMain mainWindow, Preset preset)
+ public static void LoadPreset(frmMain mainWindow, Preset preset)
{
// Send the query from the file to the Query Parser class
- EncodeTask presetQuery = QueryParserUtility.Parse(preset.Query);
+ EncodeTask presetQuery = preset.Task ?? QueryParserUtility.Parse(preset.Query);
#region Source
diff --git a/win/CS/Functions/QueryGenerator.cs b/win/CS/Functions/QueryGenerator.cs index ac5947ba6..c042daa79 100644 --- a/win/CS/Functions/QueryGenerator.cs +++ b/win/CS/Functions/QueryGenerator.cs @@ -69,7 +69,14 @@ namespace Handbrake.Functions query += GenerateTabbedComponentsQuery(mainWindow, true, QueryPictureSettingsMode.UserInterfaceSettings, 0, 0);
// Create the Queue Task and setup the EncodeTask model object.
- Preset preset = mainWindow.treeView_presets.SelectedNode.Tag as Preset;
+
+
+ Preset preset = null;
+ if (mainWindow.treeView_presets.SelectedNode != null)
+ {
+ preset = mainWindow.treeView_presets.SelectedNode.Tag as Preset;
+ }
+
bool isCustom = true;
if (preset != null && preset.IsBuildIn)
{
|