private void DrawToolbar() { GUILayoutOption[] buttonLayout = { GUILayout.MaxWidth(50) }; { // Buttons at top EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); using (new PushState <bool>(GUI.enabled, VCCommands.Instance.Ready && !refreshInProgress, v => GUI.enabled = v)) { if (GUILayout.Button(Terminology.status, EditorStyles.toolbarButton, buttonLayout)) { RefreshStatus(); } if (GUILayout.Button(Terminology.update, EditorStyles.toolbarButton, buttonLayout)) { updateInProgress = true; EditorUtility.DisplayProgressBar(VCSettings.VersionControlBackend + " Updating", "", 0.0f); VCCommands.Instance.UpdateTask(); } if (GUILayout.Button(Terminology.revert, EditorStyles.toolbarButton, buttonLayout)) { VCCommands.Instance.Revert(GetSelectedAssets().ToArray()); } if (GUILayout.Button(Terminology.delete, EditorStyles.toolbarButton, buttonLayout)) { VCCommands.Instance.Delete(GetSelectedAssets().ToArray()); } if (GUILayout.Button(Terminology.unlock, EditorStyles.toolbarButton, buttonLayout)) { VCCommands.Instance.ReleaseLock(GetSelectedAssets().ToArray()); } if (GUILayout.Button(Terminology.add, EditorStyles.toolbarButton, buttonLayout)) { VCCommands.Instance.AddTask(GetSelectedAssets().ToArray()); } if (GUILayout.Button(Terminology.commit, EditorStyles.toolbarButton, buttonLayout)) { VCCommands.Instance.CommitDialog(GetSelectedAssets().ToArray(), true); } } GUILayout.FlexibleSpace(); bool newShowModifiedProjectSettings = GUILayout.Toggle(showProjectSetting, "Project Settings", EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(95) }); if (newShowModifiedProjectSettings != showProjectSetting) { showProjectSetting = newShowModifiedProjectSettings; UpdateFilteringOfKeys(); } bool newShowModifiedNoLock = GUILayout.Toggle(showModifiedNoLock, Terminology.localModified, EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(90) }); if (newShowModifiedNoLock != showModifiedNoLock) { showModifiedNoLock = newShowModifiedNoLock; UpdateFilteringOfKeys(); } bool newShowUnversioned = GUILayout.Toggle(showUnversioned, "Unversioned", EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(80) }); if (newShowUnversioned != showUnversioned) { showUnversioned = newShowUnversioned; UpdateFilteringOfKeys(); } bool newShowMeta = GUILayout.Toggle(showMeta, "Meta", EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(40) }); if (newShowMeta != showMeta) { showMeta = newShowMeta; UpdateFilteringOfKeys(); } GUILayout.Space(7.0f); if (GUILayout.Button("Settings", EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(55) })) { if (settingsWindow == null) { settingsWindow = CreateInstance <VCSettingsWindow>(); settingsWindow.titleContent = new GUIContent("Version Control Settings"); settingsWindow.ShowUtility(); } else { settingsWindow.Close(); } } GUILayout.Space(7.0f); bool vcsOn = VCSettings.VCEnabled; using (GUIColor(vcsOn ? Color.green : Color.red)) { if (GUILayout.Button(new GUIContent(vcsOn ? "On" : "Off", "Toggle Version Control"), EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(25) })) { commandInProgress = ""; VCSettings.VCEnabled = !VCSettings.VCEnabled; } } EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); } }
private void DrawToolbar() { GUILayoutOption[] buttonLayout = { GUILayout.MaxWidth(50) }; { // Buttons at top EditorGUILayout.BeginHorizontal(EditorStyles.toolbar); using (new PushState <bool>(GUI.enabled, VCCommands.Instance.Ready && !refreshInProgress, v => GUI.enabled = v)) { // HACK if (GUILayout.Button("Folder", EditorStyles.toolbarButton, buttonLayout)) { System.Diagnostics.Process.Start(System.IO.Directory.GetParent(Application.dataPath).FullName); } if (GUILayout.Button(Terminology.status, EditorStyles.toolbarButton, buttonLayout)) { RefreshStatus(); } // Update functionality has a serious bug, where prefabs might become corrupted. //if (GUILayout.Button(Terminology.update, EditorStyles.toolbarButton, buttonLayout)) //{ // updateInProgress = true; // EditorUtility.DisplayProgressBar(VCSettings.VersionControlBackend + " Updating", "", 0.0f); // VCCommands.Instance.UpdateTask(); //} if (GUILayout.Button(Terminology.revert, EditorStyles.toolbarButton, buttonLayout)) { VCCommands.Instance.RevertDialog(GetSelectedAssets().ToArray()); } if (GUILayout.Button(Terminology.delete, EditorStyles.toolbarButton, buttonLayout)) { VCCommands.Instance.DeleteDialog(GetSelectedAssets().ToArray()); } if (GUILayout.Button(Terminology.unlock, EditorStyles.toolbarButton, buttonLayout)) { VCCommands.Instance.ReleaseLock(GetSelectedAssets().ToArray()); } if (GUILayout.Button(Terminology.add, EditorStyles.toolbarButton, buttonLayout)) { VCCommands.Instance.AddTask(GetSelectedAssets().ToArray()); } if (GUILayout.Button(Terminology.commit, EditorStyles.toolbarButton, buttonLayout)) { VCCommands.Instance.CommitDialog(GetSelectedAssets().ToArray(), true); } if (GUILayout.Button(Terminology.log, EditorStyles.toolbarButton, buttonLayout)) { UnityVersionControl.Source.GUI.Windows.VCLogWindow.showLogWindow(); } DrawSearchField(); } GUILayout.FlexibleSpace(); bool newShowModifiedProjectSettings = GUILayout.Toggle(showProjectSetting, "Project Settings", EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(95) }); if (newShowModifiedProjectSettings != showProjectSetting) { showProjectSetting = newShowModifiedProjectSettings; UpdateFilteringOfKeys(); } //Stella: Hide Items bool bNewShowUserHidden = GUILayout.Toggle(m_bShowUserHidden, "Hidden", EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(80) }); if (bNewShowUserHidden != m_bShowUserHidden) { m_bShowUserHidden = bNewShowUserHidden; UpdateFilteringOfKeys(); } //Stella: External Items bool bNewShowExternal = GUILayout.Toggle(m_bShowExternal, "External", EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(80) }); if (bNewShowExternal != m_bShowExternal) { m_bShowExternal = bNewShowExternal; UpdateFilteringOfKeys(); } bool newShowModifiedNoLock = GUILayout.Toggle(showModifiedNoLock, Terminology.localModified, EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(90) }); if (newShowModifiedNoLock != showModifiedNoLock) { showModifiedNoLock = newShowModifiedNoLock; UpdateFilteringOfKeys(); } bool newShowUnversioned = GUILayout.Toggle(showUnversioned, "Unversioned", EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(80) }); if (newShowUnversioned != showUnversioned) { showUnversioned = newShowUnversioned; UpdateFilteringOfKeys(); } bool newShowMeta = GUILayout.Toggle(showMeta, "Meta", EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(40) }); if (newShowMeta != showMeta) { showMeta = newShowMeta; UpdateFilteringOfKeys(); } GUILayout.Space(7.0f); if (GUILayout.Button("Settings", EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(55) })) { if (settingsWindow == null) { settingsWindow = CreateInstance <VCSettingsWindow>(); settingsWindow.titleContent = new GUIContent("Version Control Settings"); settingsWindow.ShowUtility(); } else { settingsWindow.Close(); } } GUILayout.Space(7.0f); bool vcsOn = VCSettings.VCEnabled; using (GUIColor(vcsOn ? Color.green : Color.red)) { if (GUILayout.Button(new GUIContent(vcsOn ? "On" : "Off", "Toggle Version Control"), EditorStyles.toolbarButton, new[] { GUILayout.MaxWidth(25) })) { commandInProgress = ""; VCSettings.VCEnabled = !VCSettings.VCEnabled; RefreshStatus(); } } EditorGUILayout.EndHorizontal(); EditorGUILayout.Separator(); } }