public void ActionItem(RenderSettingsItem item) { switch (item.Status) { case RenderQueueItemStatus.Queued: parent.RenderFromRenderSettings(item); break; case RenderQueueItemStatus.Encoding: item.cancellationTokenSource.Cancel(); item.Status = RenderQueueItemStatus.Stopped; break; case RenderQueueItemStatus.Finished: Process.Start("explorer.exe", $"/select,\"{item.OutputPath}\""); break; case RenderQueueItemStatus.Error: if (item.Msg != null) { MessageBox.Show(item.Msg, "Error", MessageBoxButton.OK); } break; } RefreshItems(); }
private void ButtonSaveAsPreset_Click(object sender, RoutedEventArgs e) { if (DataGridRenderHistory.SelectedItem != null) { var item = DataGridRenderHistory.SelectedItem as RenderSettingsItem; RenderSettingsItem.ToJsonFileWithDialog(item); parent.ReadPresetsMenuItems(parent.Menu_PresetsRoot); } }
/// <summary> /// Performs a DeepClone on the current object and replaces the cloned guid with a fresh one /// </summary> /// <returns>A clone with a new guid</returns> public RenderSettingsItem GetClone() { RenderSettingsItem rh = this.DeepClone(); rh.guid = Guid.NewGuid(); if (rh.Name == null || rh.Name == "") { Name = rh.ToString(); } return(rh); }
public static bool ToJsonFile(RenderSettingsItem renderSettings, string path, bool sanitize = true) { try { var jsonPreset = renderSettings.ToJson(sanitize: sanitize); System.IO.File.WriteAllText(path, jsonPreset); } catch (Exception ex) { Debug.WriteLine(ex.Message); return(false); } return(true); }
public static bool ToJsonFileWithDialog(RenderSettingsItem renderSettings, bool sanitize = true) { try { Microsoft.Win32.SaveFileDialog saveFileDialog = new Microsoft.Win32.SaveFileDialog(); saveFileDialog.InitialDirectory = Properties.Settings.Default.PresetFolderPath; saveFileDialog.Filter = "Presets(*.json)|*.json";; if (saveFileDialog.ShowDialog() == true) { var filename = saveFileDialog.FileName; if (Path.GetExtension(filename) != ".json") { filename = $"{Path.GetFileNameWithoutExtension(filename)}.json"; } if (File.Exists(filename)) { FileInfo fi = new FileInfo(filename); var res = MessageBox.Show($"File {fi.Name} exists, would you like to overwrite it?", "File exists", MessageBoxButton.YesNo, MessageBoxImage.Warning); if (res == MessageBoxResult.No) { return(false); } } renderSettings.Name = Path.GetFileNameWithoutExtension(filename); return(ToJsonFile(renderSettings, filename, sanitize)); //var jsonPreset = renderSettings.ToJson(sanitize:sanitize); //System.IO.File.WriteAllText(filename, jsonPreset); } } catch (Exception ex) { Debug.WriteLine(ex.Message); return(false); } return(true); }