Example #1
0
        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();
        }
Example #3
0
        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);
            }
        }