public override void IncrementChangesViewButtonCommit() => TaskManager.Run(base.IncrementChangesViewButtonCommit);
public override void IncrementBranchesViewButtonDeleteBranch() => TaskManager.Run(base.IncrementBranchesViewButtonDeleteBranch);
public override void IncrementBranchesViewButtonCheckoutRemoteBranch() => TaskManager.Run(base.IncrementBranchesViewButtonCheckoutRemoteBranch);
public override void IncrementAuthenticationViewButtonAuthentication() => TaskManager.Run(base.IncrementAuthenticationViewButtonAuthentication);
public override void IncrementApplicationMenuMenuItemCommandLine() => TaskManager.Run(base.IncrementApplicationMenuMenuItemCommandLine);
private void OnButtonBarGUI() { if (mode == BranchesMode.Default) { // Delete button // If the current branch is selected, then do not enable the Delete button EditorGUI.BeginDisabledGroup(disableDelete); { if (GUILayout.Button(DeleteBranchButton, EditorStyles.miniButton, GUILayout.ExpandWidth(false))) { DeleteLocalBranch(treeLocals.SelectedNode.Path); } } EditorGUI.EndDisabledGroup(); // Create button GUILayout.FlexibleSpace(); EditorGUI.BeginDisabledGroup(disableCreate); { if (GUILayout.Button(CreateBranchButton, EditorStyles.miniButton, GUILayout.ExpandWidth(false))) { targetMode = BranchesMode.Create; } } EditorGUI.EndDisabledGroup(); } // Branch name + cancel + create else if (mode == BranchesMode.Create) { GUILayout.BeginHorizontal(); { var createBranch = false; var cancelCreate = false; var cannotCreate = treeLocals.SelectedNode == null || treeLocals.SelectedNode.IsFolder || !Validation.IsBranchNameValid(newBranchName); // Create on return/enter or cancel on escape var offsetID = GUIUtility.GetControlID(FocusType.Passive); if (Event.current.isKey && GUIUtility.keyboardControl == offsetID + 1) { if (Event.current.keyCode == KeyCode.Escape) { cancelCreate = true; Event.current.Use(); } else if (Event.current.keyCode == KeyCode.Return || Event.current.keyCode == KeyCode.KeypadEnter) { if (cannotCreate) { EditorApplication.Beep(); } else { createBranch = true; } Event.current.Use(); } } newBranchName = EditorGUILayout.TextField(newBranchName); // Create EditorGUI.BeginDisabledGroup(cannotCreate); { if (GUILayout.Button(NewBranchConfirmButton, EditorStyles.miniButtonLeft, GUILayout.ExpandWidth(false))) { createBranch = true; } } EditorGUI.EndDisabledGroup(); // Cancel create if (GUILayout.Button(NewBranchCancelButton, EditorStyles.miniButtonRight, GUILayout.ExpandWidth(false))) { cancelCreate = true; } // Effectuate create if (createBranch) { GitClient.CreateBranch(newBranchName, treeLocals.SelectedNode.Path) .FinallyInUI((success, e) => { if (success) { TaskManager.Run(UsageTracker.IncrementNumberOfLocalBranchCreations); Redraw(); } else { var errorHeader = "fatal: "; var errorMessage = e.Message.StartsWith(errorHeader) ? e.Message.Remove(0, errorHeader.Length) : e.Message; EditorUtility.DisplayDialog(CreateBranchTitle, errorMessage, Localization.Ok); } }) .Start(); } // Cleanup if (createBranch || cancelCreate) { newBranchName = ""; GUIUtility.keyboardControl = -1; targetMode = BranchesMode.Default; } } GUILayout.EndHorizontal(); } }