Example #1
0
        private void DoExternals(Event current)
        {
            if (serializedSettings == null)
            {
                return;
            }
            SerializedProperty externalTypesProperty = serializedSettings.FindProperty("ExternalsType");

            if (externalTypesProperty != null)
            {
                externalTypesProperty.intValue = (int)(GitSettings.ExternalsTypeEnum)EditorGUILayout.EnumMaskField(GitGUI.GetTempContent("External Program Uses", "Use an external program for more advanced features like pushing, pulling, merging and so on"), (GitSettings.ExternalsTypeEnum)externalTypesProperty.intValue);
                if (serializedSettings.ApplyModifiedProperties())
                {
                    AssetDatabase.SaveAssets();
                }
            }

            SerializedProperty externalProgramProperty = serializedSettings.FindProperty("ExternalProgram");

            if (externalProgramProperty != null)
            {
                int newSelectedIndex = EditorGUILayout.Popup(GitGUI.GetTempContent("External Program", "The name of the External program to use"), GitExternalManager.SelectedAdapterIndex, GitExternalManager.AdapterNames);
                externalProgramProperty.stringValue = GitExternalManager.AdapterNames[newSelectedIndex].text;
                if (serializedSettings.ApplyModifiedPropertiesWithoutUndo())
                {
                    GitExternalManager.SetSelectedAdapter(newSelectedIndex);
                    AssetDatabase.SaveAssets();
                }
            }
        }