public void SaveMruList() { if (Loaded) { Settings.CurrentUser.SetInt32(SettingNames.MruMax, MaxCount); MostRecentFile[] mrfArray = GetFileList(); for (int i = 0; i < MaxCount; ++i) { string mruName = "MRU" + i.ToString(); string mruThumbName = mruName + "Thumb"; if (i >= mrfArray.Length) { Settings.CurrentUser.Delete(mruName); Settings.CurrentUser.Delete(mruThumbName); } else { MostRecentFile mrf = mrfArray[i]; Settings.CurrentUser.SetString(mruName, mrf.FileName); Settings.CurrentUser.SetImage(mruThumbName, mrf.Thumb); } } } }
public MostRecentFile[] GetFileList() { if (!Loaded) { LoadMruList(); } object[] array = files.ToArray(); MostRecentFile[] mrfArray = new MostRecentFile[array.Length]; array.CopyTo(mrfArray, 0); return(mrfArray); }
public void Add(MostRecentFile mrf) { if (!Loaded) { LoadMruList(); } if (!Contains(mrf.FileName)) { files.Enqueue(mrf); while (files.Count > maxCount) { files.Dequeue(); } } }
public void LoadMruList() { try { this.loaded = true; Clear(); for (int i = 0; i < MaxCount; ++i) { try { string mruName = "MRU" + i.ToString(); string fileName = (string)Settings.CurrentUser.GetString(mruName); if (fileName != null) { Image thumb = Settings.CurrentUser.GetImage(mruName + "Thumb"); if (fileName != null && thumb != null) { MostRecentFile mrf = new MostRecentFile(fileName, thumb); Add(mrf); } } } catch { break; } } } catch (Exception ex) { Tracing.Ping("Exception when loading MRU list: " + ex.ToString()); Clear(); } }