public ClassicFolderBox(LibraryFolder dataSource) : base(dataSource) { SelectionManager.SelectionChanged += OnSelectionChanged; DataStateObserver.Instance.DataChanged += OnLinksDeleted; toolStripMenuItemFolderDeleteSecurity.Visible = MainController.Instance.Settings.EditorSettings.EnableSecurityEdit; toolStripMenuItemFolderDeleteTags.Visible = MainController.Instance.Settings.EditorSettings.EnableTagsEdit; _folderClipboardManager = new FolderClipboardManager( DataSource, toolStripMenuItemFolderCopy, toolStripMenuItemFolderMove); _folderClipboardManager.FolderMoved += OnFolderMoved; contextMenuStripFolderProperties.DefaultDropDownDirection = Screen.AllScreens.Length > 0 && DataSource.ColumnOrder > 1 ? ToolStripDropDownDirection.Left : ToolStripDropDownDirection.Default; contextMenuStripSecurity.DefaultDropDownDirection = Screen.AllScreens.Length > 0 && DataSource.ColumnOrder > 1 ? ToolStripDropDownDirection.Left : ToolStripDropDownDirection.Default; InitContextMenuEditors(); // // grFiles // grFiles.CellBeginEdit += OnGridCellBeginEdit; grFiles.CellMouseClick += OnGridCellMouseClick; grFiles.CellMouseDoubleClick += OnGridCellMouseDoubleClick; grFiles.CellMouseDown += OnGridCellMouseDown; grFiles.CellMouseLeave += OnGridCellMouseLeave; grFiles.CellMouseMove += OnGridCellMouseMove; grFiles.CellMouseUp += OnGridCellMouseUp; grFiles.SelectionChanged += OnGridSelectionChanged; grFiles.DragDrop += OnDragDrop; grFiles.DragOver += OnDragOver; grFiles.DragLeave += OnDragLeave; grFiles.MouseDown += OnGridMouseDown; grFiles.MouseClick += OnGridMouseClick; // // labelControlText // labelControlText.Click += OnHeaderClick; labelControlText.DoubleClick += OnHeaderDoubleClick; labelControlText.DragDrop += OnDragDrop; labelControlText.DragOver += OnDragOver; labelControlText.DragLeave += OnDragLeave; labelControlText.MouseDown += OnHeaderMouseDown; labelControlText.MouseMove += OnHeaderMouseMove; }
public override void ReleaseControl() { _folderClipboardManager.FolderMoved -= OnFolderMoved; _folderClipboardManager = null; base.ReleaseControl(); DataChanged = null; }