Beispiel #1
0
        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);
     }
 }
Beispiel #3
0
        /// <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);
        }
Beispiel #4
0
 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);
 }
Beispiel #5
0
        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);
        }