public SimpleCustomizeFolder(ICustomizeFolder source) { this.FAutoSizeColumns = source.AutoSizeColumns; this.FColumns = source.Columns; this.FIcon = source.Icon; this.FFilter = source.Filter; this.FSort = source.Sort; this.FListColumnCount = source.ListColumnCount; this.FThumbnailSize = source.ThumbnailSize; this.FThumbnailSpacing = source.ThumbnailSpacing; this.FView = source.View; this.FBackColor = source.BackColor; this.FForeColor = source.ForeColor; }
private void btnCustomize_Click(object sender, EventArgs e) { using (CustomizeFolderDialog dialog = new CustomizeFolderDialog()) { base.AddOwnedForm(dialog); dialog.ApplyToChildrenEnabled = false; this.FCustomize = new SimpleCustomizeFolder(); int[] properties = new int[1]; if (dialog.Execute(this.FFolder, this.FCustomize, null, new VirtualPropertySet(properties))) { dialog.UpdateCustomizeFolder(this.FCustomize); } else { this.FCustomize = null; } } }
public static void Set(this ICustomizeFolder dest, ICustomizeFolder source, CustomizeFolderParts parts) { if ((parts & CustomizeFolderParts.Columns) > 0) { dest.AutoSizeColumns = source.AutoSizeColumns; dest.Columns = source.Columns; } if ((parts & CustomizeFolderParts.Icon) > 0) { dest.Icon = source.Icon; } if ((parts & CustomizeFolderParts.Filter) > 0) { dest.Filter = source.Filter; } if ((parts & CustomizeFolderParts.Sort) > 0) { dest.Sort = source.Sort; } if ((parts & CustomizeFolderParts.ListColumnCount) > 0) { dest.ListColumnCount = source.ListColumnCount; } if ((parts & CustomizeFolderParts.ThumbnailSize) > 0) { dest.ThumbnailSize = source.ThumbnailSize; dest.ThumbnailSpacing = source.ThumbnailSpacing; } if ((parts & CustomizeFolderParts.View) > 0) { dest.View = source.View; } if ((parts & CustomizeFolderParts.Colors) > 0) { dest.BackColor = source.BackColor; dest.ForeColor = source.ForeColor; } }
public SimpleCustomizeFolder(CustomizeFolderParts updatableParts, ICustomizeFolder source) : this(source) { this.FUpdatebleParts = updatableParts; }
public void UpdateCustomizeFolder(ICustomizeFolder customize) { if ((customize.UpdatableParts & CustomizeFolderParts.Colors) > 0) { customize.BackColor = this.btnListBackColor.Color; customize.ForeColor = this.btnListForeColor.Color; } else { customize.BackColor = Color.Empty; customize.ForeColor = Color.Empty; } if ((customize.UpdatableParts & CustomizeFolderParts.Filter) > 0) { customize.Filter = this.chkCustomizeFilter.Checked ? (this.btnCustomizeFilter.Tag as IVirtualItemFilter) : null; } if ((customize.UpdatableParts & CustomizeFolderParts.Sort) > 0) { customize.Sort = this.chkCustomizeSort.Checked ? (this.btnCustomizeSort.Tag as VirtualItemComparer) : null; } if ((customize.UpdatableParts & CustomizeFolderParts.View) > 0) { customize.View = this.chkCustomizeView.Checked ? ((PanelView?) this.cmbView.SelectedItem) : null; } CustomizeFolderParts parts = CustomizeFolderParts.ListColumnCount | CustomizeFolderParts.View; if (((((customize.UpdatableParts & parts) == parts) && customize.View.HasValue) && (((PanelView) customize.View.Value) == PanelView.List)) && (this.FListColumnCount > 0)) { customize.ListColumnCount = new int?(this.FListColumnCount); } else { customize.ListColumnCount = null; } CustomizeFolderParts parts2 = CustomizeFolderParts.ThumbnailSize | CustomizeFolderParts.View; if ((((customize.UpdatableParts & parts2) == parts2) && customize.View.HasValue) && (((PanelView) customize.View.Value) == PanelView.Thumbnail)) { customize.ThumbnailSize = this.FThumbnailSize; customize.ThumbnailSpacing = this.FThumbnailSpacing; } else { customize.ThumbnailSize = Size.Empty; customize.ThumbnailSpacing = Size.Empty; } if ((customize.UpdatableParts & CustomizeFolderParts.Columns) > 0) { customize.AutoSizeColumns = this.chkCustomizeColumns.Checked ? new bool?(this.FAutoSizeColumns) : null; IEnumerable<ListViewColumnInfo> tag = this.btnCustomizeColumns.Tag as IEnumerable<ListViewColumnInfo>; if (this.chkCustomizeColumns.Checked && (tag != null)) { customize.Columns = new List<ListViewColumnInfo>(tag).ToArray(); } else { customize.Columns = null; } } if ((customize.UpdatableParts & CustomizeFolderParts.Icon) > 0) { if (this.chkCustomizeIcon.Checked && this.UpdateIcon(this.txtIconLocation.Text)) { customize.Icon = IconLocation.TryParse(this.txtIconLocation.Text); } else { customize.Icon = null; } } }
public bool Execute(IVirtualFolder folder, ICustomizeFolder customize, ICustomizeFolder defaultCustomize, VirtualPropertySet availableProperties) { if (folder == null) { throw new ArgumentNullException("folder"); } if (customize == null) { throw new ArgumentNullException("customizeFolder"); } this.FAvailableProperties = availableProperties; this.FCustomizeFolder = customize; this.tsFolder.Add(folder); this.btnListBackColor.Color = (customize.BackColor.IsEmpty && (defaultCustomize != null)) ? defaultCustomize.BackColor : customize.BackColor; this.btnListForeColor.Color = (customize.ForeColor.IsEmpty && (defaultCustomize != null)) ? defaultCustomize.ForeColor : customize.ForeColor; this.chkCustomizeFilter.Enabled = (this.FCustomizeFolder.UpdatableParts & CustomizeFolderParts.Filter) > 0; if (this.chkCustomizeFilter.Enabled) { this.btnCustomizeFilter.Tag = this.FCustomizeFolder.Filter; this.chkCustomizeFilter.Checked = this.btnCustomizeFilter.Tag != null; if ((this.btnCustomizeFilter.Tag == null) && (defaultCustomize != null)) { this.btnCustomizeFilter.Tag = defaultCustomize.Filter; } } this.chkCustomizeSort.Enabled = (this.FCustomizeFolder.UpdatableParts & CustomizeFolderParts.Sort) > 0; if (this.chkCustomizeSort.Enabled) { this.btnCustomizeSort.Tag = this.FCustomizeFolder.Sort; this.chkCustomizeSort.Checked = this.btnCustomizeSort.Tag != null; if ((this.btnCustomizeSort.Tag == null) && (defaultCustomize != null)) { this.btnCustomizeSort.Tag = defaultCustomize.Sort; } } this.chkCustomizeView.Enabled = (this.FCustomizeFolder.UpdatableParts & CustomizeFolderParts.View) > 0; if (this.chkCustomizeView.Enabled) { this.FFolderView = this.FCustomizeFolder.View; this.chkCustomizeView.Checked = this.FFolderView.HasValue; if (this.FFolderView.HasValue) { this.cmbView.SelectedItem = this.FFolderView.Value; } else if (defaultCustomize != null) { this.cmbView.SelectedItem = defaultCustomize.View; } int? listColumnCount = this.FCustomizeFolder.ListColumnCount; if (listColumnCount.HasValue) { this.FListColumnCount = listColumnCount.Value; } else if ((defaultCustomize != null) && defaultCustomize.ListColumnCount.HasValue) { this.FListColumnCount = defaultCustomize.ListColumnCount.Value; } this.FThumbnailSize = this.FCustomizeFolder.ThumbnailSize; if (this.FThumbnailSize.IsEmpty && (defaultCustomize != null)) { this.FThumbnailSize = defaultCustomize.ThumbnailSize; } this.FThumbnailSpacing = this.FCustomizeFolder.ThumbnailSpacing; if (this.FThumbnailSpacing.IsEmpty && (defaultCustomize != null)) { this.FThumbnailSpacing = defaultCustomize.ThumbnailSpacing; } } this.chkCustomizeColumns.Enabled = (this.FCustomizeFolder.UpdatableParts & CustomizeFolderParts.Columns) > 0; if (this.chkCustomizeColumns.Enabled) { this.btnCustomizeColumns.Tag = this.FCustomizeFolder.Columns; this.chkCustomizeColumns.Checked = this.btnCustomizeColumns.Tag != null; if ((this.btnCustomizeColumns.Tag == null) && (defaultCustomize != null)) { this.btnCustomizeColumns.Tag = defaultCustomize.Columns; } bool? autoSizeColumns = this.FCustomizeFolder.AutoSizeColumns; if (autoSizeColumns.HasValue) { this.FAutoSizeColumns = autoSizeColumns.Value; } else if ((defaultCustomize != null) && defaultCustomize.AutoSizeColumns.HasValue) { this.FAutoSizeColumns = defaultCustomize.AutoSizeColumns.Value; } } Size size = new Size(0x20, 0x20); if ((this.FCustomizeFolder.UpdatableParts & CustomizeFolderParts.Icon) == 0) { this.chkCustomizeIcon.Enabled = false; IVirtualItemUI mui = folder as IVirtualItemUI; if (mui != null) { this.picIcon.Image = mui.GetIcon(size, 0); } else { this.picIcon.Image = ImageProvider.Default.GetDefaultIcon(DefaultIcon.Drive, size); } } else { IconLocation icon = this.FCustomizeFolder.Icon; if (icon != null) { this.picIcon.Image = CustomImageProvider.LoadIcon(Environment.ExpandEnvironmentVariables(icon.IconFileName), icon.IconIndex, size); } if (this.picIcon.Image != null) { this.txtIconLocation.Text = icon.ToString(); this.chkCustomizeIcon.Checked = true; } else { this.picIcon.Image = ImageProvider.Default.GetDefaultIcon(DefaultIcon.Folder, size); } } this.ViewTypeConverter = TypeDescriptor.GetConverter(typeof(PanelView)); this.CheckWatcher.RememberValues(); return (base.ShowDialog() == DialogResult.OK); }
public static void Set(this ICustomizeFolder dest, ICustomizeFolder source) { dest.Set(source, CustomizeFolderParts.All); }