示例#1
0
        private void AddRecord(string filePath)
        {
            ProjectItemModel prj1 = this.projectRecordList.FirstOrDefault <ProjectItemModel>((Func <ProjectItemModel, bool>)(a => a.LocalPath.Equals(filePath, StringComparison.CurrentCultureIgnoreCase)));

            if (prj1 == null)
            {
                ProjectItemModel prj2 = new ProjectItemModel(filePath);
                this.projectRecordList.Insert(0, prj2);
                if (this.projectRecordList.Count > 10)
                {
                    this.projectRecordList.RemoveAt(this.projectRecordList.Count - 1);
                }
                if (this.RecentProjectChanged == null)
                {
                    return;
                }
                this.SaveRecord();
                this.RecentProjectChanged((object)this, new RecentProjectChangeEventArgs(prj2, EnumRecentPrjChangeType.New));
            }
            else
            {
                this.projectRecordList.Remove(prj1);
                this.projectRecordList.Insert(0, prj1);
                if (this.RecentProjectChanged != null)
                {
                    this.SaveRecord();
                    this.RecentProjectChanged((object)this, new RecentProjectChangeEventArgs(prj1, EnumRecentPrjChangeType.Reorder));
                }
            }
        }
示例#2
0
 public void RemoveItem(ProjectItemModel item)
 {
     this.projectRecordList.Remove(item);
     this.SaveRecord();
     this.RecentProjectChanged((object)this, new RecentProjectChangeEventArgs(item, EnumRecentPrjChangeType.Remove));
 }
 public RecentProjectChangeEventArgs(ProjectItemModel prj, EnumRecentPrjChangeType changeType)
 {
     this.ProjectModel = prj;
     this.ChangeType   = changeType;
 }