private static List <string> GetRecentNames(BaseCommandEventArgs e) { List <string> names = (List <string>)e.Selection.Cache[typeof(ItemMoveToChangeList)]; if (names != null) { return(names); } names = new List <string>(); foreach (string cl in e.GetService <IPendingChangesManager>().GetSuggestedChangeLists()) { names.Add(cl); if (names.Count >= 10) { break; } } e.Selection.Cache[typeof(ItemMoveToChangeList)] = names; return(names); }
static IEnumerable <SccProject> GetSelectedProjects(BaseCommandEventArgs e) { foreach (SccProject p in e.Selection.GetSelectedProjects(false)) { yield return(p); } }
static IEnumerable <PendingChange> GetChanges(BaseCommandEventArgs e) { IPendingChangesManager pcm = e.GetService <IPendingChangesManager>(); PendingChange[] pendingChanges = pcm.PendingChanges.ToArray(); if (e.Command == AnkhCommand.SolutionCommit) { foreach (PendingChange pc in pendingChanges) { yield return(pc); } } else { ProjectListFilter plf = new ProjectListFilter(e.Context, e.Selection.GetSelectedProjects(false)); foreach (PendingChange pc in pendingChanges) { if (plf.ShowChange(pc)) { yield return(pc); } } } }
private static SvnItem GetRoot(BaseCommandEventArgs e) { SvnItem item = null; switch (e.Command) { case AnkhCommand.SolutionBranch: IAnkhSolutionSettings ss = e.GetService <IAnkhSolutionSettings>(); if (ss == null) { return(null); } string root = ss.ProjectRoot; if (string.IsNullOrEmpty(root)) { return(null); } item = e.GetService <ISvnStatusCache>()[root]; break; case AnkhCommand.ProjectBranch: SccProject p = EnumTools.GetSingle(e.Selection.GetSelectedProjects(false)); if (p == null) { break; } ISccProjectInfo info = e.GetService <IProjectFileMapper>().GetProjectInfo(p); if (info == null || info.ProjectDirectory == null) { break; } item = e.GetService <ISvnStatusCache>()[info.ProjectDirectory]; break; } return(item); }
IEnumerable <SvnItem> GetSelection(BaseCommandEventArgs e) { if (e.Command == AnkhCommand.DocumentAddToPending || e.Command == AnkhCommand.DocumentRemoveFromPending) { SvnItem i = e.Selection.ActiveDocumentSvnItem; if (i == null) { return(new SvnItem[0]); } else { return new SvnItem[] { i } }; } else { return(e.Selection.GetSelectedSvnItems(false)); } }