private DragDropEffects dropTargetWrapper_DragFileEnter(IntPtr hDrop, BandObjectLib.POINT pnt, int grfKeyState) { this.fRespondModKeysTemp = base.fRespondModKeys; this.fEnableShiftKeyTemp = base.fEnableShiftKey; base.fRespondModKeys = false; base.fEnableShiftKey = false; if (this.MenuDragEnter != null) { this.MenuDragEnter(this, EventArgs.Empty); } this.fDrivesContained = false; switch (QTTabBarClass.HandleDragEnter(hDrop, out this.strDraggingDrive, out this.strDraggingStartPath)) { case -1: return(DragDropEffects.None); case 0: return(DropTargetWrapper.MakeEffect(grfKeyState, 0)); case 1: return(DropTargetWrapper.MakeEffect(grfKeyState, 1)); case 2: this.fDrivesContained = true; return(DragDropEffects.None); } return(DragDropEffects.None); }
private DragDropEffects dropTargetWrapper_DragFileEnter(IntPtr hDrop, Point pnt, int grfKeyState) { fRespondModKeysTemp = fRespondModKeys; fEnableShiftKeyTemp = fEnableShiftKey; fRespondModKeys = false; fEnableShiftKey = false; if (MenuDragEnter != null) { MenuDragEnter(this, EventArgs.Empty); } fDrivesContained = false; switch (QTTabBarClass.HandleDragEnter(hDrop, out strDraggingDrive, out strDraggingStartPath)) { case -1: return(DragDropEffects.None); case 0: return(DropTargetWrapper.MakeEffect(grfKeyState, 0)); case 1: return(DropTargetWrapper.MakeEffect(grfKeyState, 1)); case 2: fDrivesContained = true; return(DragDropEffects.None); } return(DragDropEffects.None); }
private void dropTargetWrapper_DragFileOver(object sender, DragEventArgs e) { int iSourceState = -1; Point point = base.PointToClient(new Point(e.X, e.Y)); ToolStripItem itemAt = base.GetItemAt(point); bool flag = false; if (itemAt != null) { Rectangle bounds = itemAt.Bounds; bool flag2 = (bounds.Bottom - point.Y) >= (point.Y - bounds.Top); flag = this.fTop != flag2; this.fTop = flag2; } bool flag3 = ((this.fTop && (this.iItemDragOverRegion != 0)) || (!this.fTop && (this.iItemDragOverRegion != 1))) && (itemAt == this.Items[this.Items.Count - 1]); if ((itemAt != this.itemHover) || flag3) { if (itemAt != null) { this.iItemDragOverRegion = this.fTop ? 0 : 1; QMenuItem item2 = itemAt as QMenuItem; if (item2 != null) { bool flag4 = item2 is SubDirTipForm.ToolStripMenuItemEx; if ((flag3 && !this.fTop) && Directory.Exists(base.Path)) { this.fDrawDropTarget = false; this.strTargetPath = base.Path; iSourceState = this.MakeDragOverRetval(); if ((!flag4 && item2.HasDropDownItems) && !item2.DropDown.Visible) { this.OnMouseLeave(EventArgs.Empty); this.OnMouseMove(new MouseEventArgs(Control.MouseButtons, 0, point.X, point.Y, 0)); } } else if (flag4) { bool flag5; if (PathIsExecutable(item2.Path, out flag5)) { this.fDrawDropTarget = true; if (flag5) { iSourceState = -1; this.CloseAllDropDown(); } else { this.strTargetPath = item2.Path; item2.Select(); iSourceState = 2; } } else { this.fDrawDropTarget = false; if (Directory.Exists(base.Path)) { this.strTargetPath = base.Path; iSourceState = this.MakeDragOverRetval(); } this.CloseAllDropDown(); } } else if (Directory.Exists(item2.TargetPath)) { this.fDrawDropTarget = true; this.strTargetPath = item2.TargetPath; iSourceState = this.MakeDragOverRetval(); this.OnMouseLeave(EventArgs.Empty); this.OnMouseMove(new MouseEventArgs(Control.MouseButtons, 0, point.X, point.Y, 0)); } } } flag = true; } else { iSourceState = this.iDDRetval; } if (itemAt != null) { this.BeginScrollTimer(itemAt, point); } this.itemHover = itemAt; this.iDDRetval = iSourceState; if (flag) { base.Invalidate(); } if (iSourceState == -1) { this.strTargetPath = null; e.Effect = DragDropEffects.None; } else if (this.fDrivesContained) { e.Effect = DragDropEffects.Link; } else if (iSourceState == 2) { e.Effect = DragDropEffects.Copy; } else { e.Effect = DropTargetWrapper.MakeEffect(e.KeyState, iSourceState); } }