Ejemplo n.º 1
0
            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, });
            }
Ejemplo n.º 2
0
 /// <summary>Checkout the branch.</summary>
 internal override void OnDoubleClick()
 {
     base.OnDoubleClick();
     UiCommands.StartCheckoutBranchDialog(FullPath);
 }