void SelectDefaultTemplate() { if (SelectedTemplateId != null) { SelectTemplate(SelectedTemplateId); } else if (RecentTemplates.Count > 0) // select first recently used template if possible { var lastUsedTemplate = RecentTemplates.First(); SelectTemplateInCategory(lastUsedTemplate.Category, lastUsedTemplate.Id); // SelectTemplateInCategory has selected the group containing the recent template, // make sure to select the actual recent template inside the group if the group exists if (SelectedTemplate != null) { SelectedTemplate = lastUsedTemplate; } } else if (DefaultSelectedCategoryPath != null) // fallback to old DefaultSelected properties { if (DefaultSelectedTemplate != null) { SelectTemplateInCategory(DefaultSelectedCategoryPath, DefaultSelectedTemplate); } if (SelectedTemplate == null) { SelectFirstTemplateInCategory(DefaultSelectedCategoryPath); } } if (SelectedSecondLevelCategory == null) { SelectFirstAvailableTemplate(); } }
private void BuildRecentTemplates() { RecentTemplates rts = RecentTemplateManager.GetRecentTemplates(5); foreach (var rt in rts) { MenuItem mi = new MenuItem(); mi.Header = rt.Name; mi.ToolTip = rt.Path; mi.Click += delegate(Object sender, RoutedEventArgs e) { foreach (var wnd in App.Current.Windows) { if (wnd.GetType() == typeof(ViewWindow)) { ViewWindow vw = (ViewWindow)wnd; MenuItem m = (MenuItem)sender; string path = (string)m.ToolTip; vw._LoadTemplate(path); } } }; cmMain.Items.Add(mi); } }
/// <summary> /// Возвращает последние открытые шаблоны приложения /// </summary> /// <param name="templatesCount">Количество возвращаемых шаблонов</param> /// <returns></returns> public static RecentTemplates GetRecentTemplates(int templatesCount) { RecentTemplates result = new RecentTemplates(); if (Properties.Settings.Default.RecentTemplates != null) { int i = 0; foreach (var rt in Properties.Settings.Default.RecentTemplates) { if (System.IO.File.Exists(rt.Path)) { if (i < templatesCount) { result.Add(rt); } i++; } else { Properties.Settings.Default.RecentTemplates.Remove(rt); Properties.Settings.Default.Save(); } } } return result; }
/// <summary> /// Возвращает последние открытые шаблоны приложения /// </summary> /// <param name="templatesCount">Количество возвращаемых шаблонов</param> /// <returns></returns> public static RecentTemplates GetRecentTemplates(int templatesCount) { RecentTemplates result = new RecentTemplates(); if (Properties.Settings.Default.RecentTemplates != null) { int i = 0; foreach (var rt in Properties.Settings.Default.RecentTemplates) { if (System.IO.File.Exists(rt.Path)) { if (i < templatesCount) { result.Add(rt); } i++; } else { Properties.Settings.Default.RecentTemplates.Remove(rt); Properties.Settings.Default.Save(); } } } return(result); }