protected FDFile(FDFile other, FileType type) { file = other.file; path = other.path; size = other.size; this.type = type; progress = -1; included = other.included; sizeString = other.sizeString; }
private void AddFiles(string[] files) { for (int i = 0; i < files.Length; i++) { if (AddFolder(files[i]) == false) { this.files.Add(FDFile.CreateFile(files[i])); } } if (this.files.Count > 0) { btnStart.IsEnabled = true; cbType.IsEnabled = true; ckbIncluded.IsEnabled = true; } }
private void cbType_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (cbType.SelectedIndex == -1) { return; } List <FDFile> selected = lvFiles.SelectedItems.Cast <FDFile>().ToList(); List <int> indices = GetFileIndices(selected); FileType type = (FileType)cbType.SelectedIndex; lvFiles.SelectionChanged -= lvFiles_SelectionChanged; for (int i = 0; i < indices.Count; i++) { FDFile current = files[indices[i]]; switch (type) { case FileType.Unknown: current.type = (FileType)cbType.SelectedIndex; break; case FileType.Image: files[indices[i]] = new FDTextureFile(current); break; } } for (int i = 0; i < indices.Count; i++) { lvFiles.SelectedItems.Add(files[indices[i]]); } lvFiles.SelectionChanged += lvFiles_SelectionChanged; SetOptionsGroupVisibility((FileType)cbType.SelectedIndex); }
private void UpdateIncludeAllCheckbox() { if (lvFiles.SelectedItems.Count == 0) { return; } FDFile tmp = (FDFile)lvFiles.SelectedItems[0]; if (lvFiles.SelectedItems.Count == 1) { ckbIncluded.IsChecked = tmp.included; return; } bool isAllIncluded = true; for (int i = 1; i < lvFiles.SelectedItems.Count; i++) { FDFile file = (FDFile)lvFiles.SelectedItems[i]; if (tmp.included != file.included && isAllIncluded) { isAllIncluded = false; } } if (!isAllIncluded) { ckbIncluded.IsChecked = null; } else { ckbIncluded.IsChecked = tmp.included; } }
private void lvFiles_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (lvFiles.SelectedItems.Count == 0) { btnCancel.IsEnabled = false; btnRemove.IsEnabled = false; } else { foreach (FDFile f in lvFiles.SelectedItems) { if (f.included == null) { btnCancel.IsEnabled = true; } } btnRemove.IsEnabled = true; } FDFile tmp = (FDFile)lvFiles.SelectedItems[0]; cbType.SelectionChanged -= cbType_SelectionChanged; cbImageChannels.SelectionChanged -= cbImageChannels_SelectionChanged; cbImageSizes.SelectionChanged -= cbImageSizes_SelectionChanged; cbType.SelectedIndex = 0; cbImageChannels.SelectedIndex = 0; cbImageSizes.SelectedIndex = 0; for (int i = 1; i < lvFiles.SelectedItems.Count; i++) { FDFile file = (FDFile)lvFiles.SelectedItems[i]; if (tmp.type != file.type) { cbType.SelectedIndex = -1; } if (imageOptionsGroup.IsVisible) { if (((FDTextureFile)tmp).channel != ((FDTextureFile)file).channel) { cbImageChannels.SelectedIndex = -1; } if (((FDTextureFile)tmp).channelType != ((FDTextureFile)file).channelType) { cbImageSizes.SelectedIndex = -1; } } } if (cbType.SelectedIndex == 0) { cbType.SelectedIndex = (int)tmp.type; SetOptionsGroupVisibility(tmp.type); } else { imageOptionsGroup.Visibility = Visibility.Hidden; modelOptionsGroup.Visibility = Visibility.Hidden; } if (imageOptionsGroup.IsVisible) { if (cbImageChannels.SelectedIndex == 0) { cbImageChannels.SelectedIndex = (int)((FDTextureFile)tmp).channel; } if (cbImageSizes.SelectedIndex == 0) { cbImageSizes.SelectedIndex = (int)((FDTextureFile)tmp).channelType; } } cbType.SelectionChanged += cbType_SelectionChanged; cbImageChannels.SelectionChanged += cbImageChannels_SelectionChanged; cbImageSizes.SelectionChanged += cbImageSizes_SelectionChanged; UpdateIncludeAllCheckbox(); }
public FDTextureFile(FDFile file) : base(file, FileType.Image) { channel = TextureChannel.RGBA; channelType = TextureChannelType.Uint8; }