static LastOpenFiles() { s_instance = Config.Instance.GetSection(SECTION_NAME) as LastOpenFiles; if (s_instance == null) { s_instance = new LastOpenFiles(); s_instance.SectionInformation.AllowExeDefinition = ConfigurationAllowExeDefinition.MachineToLocalUser; Config.Instance.Sections.Add(SECTION_NAME, s_instance); } }
public void AddLastOpenFile(string fileName) { var lastOpenFiles = LastOpenFiles.Split(FilesSeparator).ToList(); if (lastOpenFiles.Contains(fileName)) { lastOpenFiles.Remove(fileName); } lastOpenFiles.Insert(0, fileName); while (lastOpenFiles.Count > LastOpenFilesMaxCount) { lastOpenFiles.RemoveAt(lastOpenFiles.Count - 1); } LastOpenFiles = string.Join(FilesSeparator.ToString(), lastOpenFiles); Save(); }
private static async void OpenFile() { if (ApplicationView.Value != ApplicationViewState.Snapped || ApplicationView.TryUnsnap()) { Debug.Log("OpenFile..."); Selection.Clear(); LastOpenFiles.Clear(); IsBusy = true; try { FileOpenPicker openPicker = new FileOpenPicker(); openPicker.ViewMode = CurrentViewMode; openPicker.SuggestedStartLocation = CurrentLocation; foreach (string ext in Extensions.SelectMany(extension => extension.Extensions)) { openPicker.FileTypeFilter.Add(ext.StartsWith("*") ? ext : "." + ext); } StorageFile file = await openPicker.PickSingleFileAsync(); if (file != null) { Selection.Add(file.Path); LastOpenFiles.Add(file); } } catch (Exception ex) { Debug.LogError(ex.ToString()); } IsBusy = false; Debug.Log("OpenFile end: " + Selection.Count); } else { Debug.LogError("OpenFile: could not unsnap! " + Selection.Count); } }