private void DoCommitGUI() { GUILayout.BeginHorizontal(); { GUILayout.Space(Styles.CommitAreaPadding); GUILayout.BeginVertical(GUILayout.Height( Mathf.Clamp(Position.height * Styles.CommitAreaDefaultRatio, Styles.CommitAreaMinHeight, Styles.CommitAreaMaxHeight)) ); { GUILayout.Space(Styles.CommitAreaPadding); GUILayout.Label(SummaryLabel); commitMessage = EditorGUILayout.TextField(commitMessage, Styles.TextFieldStyle); GUILayout.Space(Styles.CommitAreaPadding * 2); GUILayout.Label(DescriptionLabel); commitBody = EditorGUILayout.TextArea(commitBody, Styles.CommitDescriptionFieldStyle, GUILayout.ExpandHeight(true)); GUILayout.Space(Styles.CommitAreaPadding); // Disable committing when already committing or if we don't have all the data needed //Debug.LogFormat("IsBusy:{0} string.IsNullOrEmpty(commitMessage): {1} treeChanges.GetCheckedFiles().Any(): {2}", // IsBusy, string.IsNullOrEmpty(commitMessage), treeChanges.GetCheckedFiles().Any()); EditorGUI.BeginDisabledGroup(IsBusy || string.IsNullOrEmpty(commitMessage) || !treeChanges.GetCheckedFiles().Any()); { GUILayout.BeginHorizontal(); { GUILayout.FlexibleSpace(); if (GUILayout.Button(String.Format(CommitButton, currentBranch), Styles.CommitButtonStyle)) { GUI.FocusControl(null); Commit(); } } GUILayout.EndHorizontal(); } EditorGUI.EndDisabledGroup(); GUILayout.Space(Styles.CommitAreaPadding); } GUILayout.EndVertical(); GUILayout.Space(Styles.CommitAreaPadding); } GUILayout.EndHorizontal(); }