public override void OpenContextualMenu() { var menu = new GenericMenu(); if (treeView.GetCurrentQuery() == m_Query) { menu.AddItem(new GUIContent("Save"), false, () => treeView.searchView.SaveActiveSearchQuery()); menu.AddSeparator(""); } menu.AddItem(new GUIContent("Open in new window"), false, () => { SearchQuery.Open(m_Query, SearchFlags.None); }); menu.AddSeparator(""); menu.AddItem(new GUIContent("Rename"), false, () => treeView.BeginRename(this, 0f)); menu.AddItem(new GUIContent("Set Icon..."), false, () => SearchQuery.ShowQueryIconPicker((newIcon, canceled) => { if (canceled) { return; } m_Query.thumbnail = newIcon; SearchQuery.SaveSearchQuery(m_Query); })); menu.AddItem(new GUIContent("Search Template"), m_Query.isSearchTemplate, () => m_Query.isSearchTemplate = !m_Query.isSearchTemplate); menu.AddItem(new GUIContent(Utils.GetRevealInFinderLabel()), false, () => EditorUtility.RevealInFinder(m_Query.filePath)); menu.AddSeparator(""); menu.AddItem(new GUIContent("Delete"), false, () => { SearchQuery.RemoveSearchQuery(m_Query); treeView.RemoveItem(this); }); menu.ShowAsContext(); }
public override void OpenContextualMenu() { var menu = new GenericMenu(); if (treeView.GetCurrentQuery() == (ISearchQuery)m_Query) { menu.AddItem(new GUIContent("Save"), false, () => treeView.searchView.SaveActiveSearchQuery()); menu.AddSeparator(""); } menu.AddItem(new GUIContent("Open in new window"), false, () => { SearchQuery.Open(m_Query, SearchFlags.None); }); menu.AddSeparator(""); menu.AddItem(new GUIContent("Rename"), false, () => treeView.BeginRename(this, 0f)); menu.AddItem(new GUIContent("Set Icon..."), false, () => SearchQuery.ShowQueryIconPicker((newIcon, canceled) => { if (canceled) { return; } m_Query.icon = newIcon; EditorUtility.SetDirty(m_Query); })); menu.AddItem(new GUIContent("Search Template"), m_Query.isSearchTemplate, () => m_Query.isSearchTemplate = !m_Query.isSearchTemplate); menu.AddItem(new GUIContent("Edit in Inspector"), false, () => Selection.activeObject = m_Query); menu.AddItem(new GUIContent(Utils.GetRevealInFinderLabel()), false, () => EditorUtility.RevealInFinder(AssetDatabase.GetAssetPath(m_Query))); menu.AddSeparator(""); menu.AddItem(new GUIContent("Delete"), false, () => { if (!EditorUtility.DisplayDialog($"Deleting search query {m_Query.name}?", $"You are about to delete the search query {m_Query.name}, are you sure?", "Yes", "No")) { return; } AssetDatabase.DeleteAsset(AssetDatabase.GetAssetPath(m_Query)); treeView.RemoveItem(this); }); menu.ShowAsContext(); }