private byte[] UnconvertData(BARViewModel.FileViewModel file, byte[] tmpdata) { return file.Owner.UnConvertData(file, tmpdata); }
private string AskForPathForItems(BARViewModel.NamedItem[] item, bool doConversion) { if (item.Length == 0) return null; if (item.Length > 1 || item[0] is BARViewModel.FolderViewModel) { var folderBrowser = new Forms.FolderBrowserDialog(); if (folderBrowser.ShowDialog() != Forms.DialogResult.OK) return null; return folderBrowser.SelectedPath + Path.DirectorySeparatorChar; } else if (item[0] is BARViewModel.FileViewModel) { var file = item[0] as BARViewModel.FileViewModel; string[] exts = new[] { file.Extension }; if (doConversion) exts = BARViewModel.GetConversionExtensions(file); string prefferedOutName = Path.GetFileNameWithoutExtension(file.Name) + exts[0]; var folderBrowser = new Forms.SaveFileDialog() { FileName = prefferedOutName, DefaultExt = exts[0], Filter = BARViewModel.CreateFilter(exts), }; if (folderBrowser.ShowDialog() != Forms.DialogResult.OK) return null; return folderBrowser.FileName; } return null; }
private string EnsureFilename(string path, BARViewModel.FileViewModel file, string newExt) { var lastC = path.LastOrDefault(); if (lastC == Path.DirectorySeparatorChar || lastC == Path.AltDirectorySeparatorChar) { if (newExt == null) { path += file.Name; } else { path += Path.GetFileNameWithoutExtension(file.Name) + newExt; } } return path; }
private string SaveItem(BARViewModel.FileViewModel file, string path) { path = EnsureFilename(path, file, null); return file.Owner.SaveFileTo(file, path); }
private string ConvertItem(BARViewModel.FileViewModel file, string path) { var conversions = BARViewModel.GetConversionExtensions(file); if (conversions == null) return null; path = EnsureFilename(path, file, conversions[0]); return file.Owner.ConvertFileTo(file, path); }
private void DoAction(Func<BARViewModel.FileViewModel, string, string> with, BARViewModel.NamedItem[] items, string path) { for (int i = 0; i < items.Length; ++i) { var item = items[i]; if (item is BARViewModel.FolderViewModel) { var folder = item as BARViewModel.FolderViewModel; if (path != null) folder.Owner.ProcessFolderTo(with, folder, path); } else if (item is BARViewModel.FileViewModel) { var file = item as BARViewModel.FileViewModel; if (path != null) with(file, path); } } }
public NamedItem(BARViewModel owner) { Owner = owner; }
private string AttemptConvertOrSave(BARViewModel.FileViewModel file, out bool wasConverted) { wasConverted = true; string tmpFile = ConvertItem(file, Path.GetTempPath()); if (tmpFile == null) { tmpFile = SaveItem(file, Path.GetTempPath()); wasConverted = false; } return tmpFile; }
public FolderViewModel(string name, BARViewModel owner) : base(owner) { Name = name; Folders = new ObservableCollection<FolderViewModel>(); Files = new ObservableCollection<FileViewModel>(); }
public FileViewModel(BARFile.Entry entry, BARViewModel owner) : base(owner) { Entry = entry; Name = Path.GetFileName(Entry.Name); }
public FolderViewModel(string name, BARViewModel owner) : base(owner) { Name = name; Folders = new ObservableCollection <FolderViewModel>(); Files = new ObservableCollection <FileViewModel>(); }