protected override IEnumerable <DragDropAction> CreateDragDropActions() { /* * var stashDD = new DragDropAction<StashNode>( * (draggedStash) => IsActive, * (draggedStash) => * { * // normal -> Pop * // Alt -> Apply * UICommands.StartStashDialog(); * }); */ var branchDD = new DragDropAction <BranchNode>(draggedBranch => { string activeBranch = UICommands.Module.GetSelectedBranch(); if (Equals(FullPath, activeBranch)) { // target is active -> merge dropped return(true); } if (Equals(draggedBranch.FullPath, activeBranch)) { // dragged is active -> merge dragged return(true); } return(false); }, draggedBranch => { string activeBranch = UICommands.Module.GetSelectedBranch(); if (Equals(FullPath, activeBranch)) { // target is active -> merge dropped UICommands.StartMergeBranchDialog(draggedBranch.FullPath); } if (Equals(draggedBranch.FullPath, activeBranch)) { // dropped is active -> merge target UICommands.StartMergeBranchDialog(FullPath); } }); return(new DragDropAction[] { /*stashDD,*/ branchDD }); }
public bool Merge() { return(UICommands.StartMergeBranchDialog(TreeViewNode.TreeView, FullPath)); }