private static void DrawProviderSettings() { EditorGUILayout.LabelField("Provider Settings", EditorStyles.largeLabel); foreach (var p in SearchService.OrderedProviders) { GUILayout.BeginHorizontal(); GUILayout.Space(20); GUILayout.Label(new GUIContent(p.name.displayName, $"{p.name.id} ({p.priority})"), GUILayout.Width(175)); if (!p.isExplicitProvider) { if (GUILayout.Button(Styles.increasePriorityContent, Styles.priorityButton)) { LowerProviderPriority(p); } if (GUILayout.Button(Styles.decreasePriorityContent, Styles.priorityButton)) { UpperProviderPriority(p); } } else { GUILayoutUtility.GetRect(Styles.increasePriorityContent, Styles.priorityButton); GUILayoutUtility.GetRect(Styles.increasePriorityContent, Styles.priorityButton); } GUILayout.Space(20); using (new EditorGUI.DisabledScope(p.actions.Count < 2)) { EditorGUI.BeginChangeCheck(); var items = p.actions.Select(a => new GUIContent(a.DisplayName, a.content.image, p.actions.Count == 1 ? $"Default action for {p.name.displayName} (Enter)" : $"Set default action for {p.name.displayName} (Enter)")).ToArray(); var newDefaultAction = EditorGUILayout.Popup(0, items, GUILayout.ExpandWidth(true)); if (EditorGUI.EndChangeCheck()) { SearchService.SetDefaultAction(p.name.id, p.actions[newDefaultAction].Id); GUI.changed = true; } GUILayout.Space(10); } GUILayout.EndHorizontal(); } GUILayout.BeginHorizontal(); GUILayout.Space(20); if (GUILayout.Button(Styles.resetPrioritiesContent, GUILayout.MaxWidth(100))) { ResetProviderPriorities(); } GUILayout.EndHorizontal(); }