private ToolStripMenuItem CreateFavouriteItem(MostRecentItem item)
        {
            ToolStripMenuItem favourite = new ToolStripMenuItem(item.DisplayName)
            {
                Tag     = item,
                Enabled = _favouritesEnabled,
            };

            favourite.Click += Favourite_Click;
            return(favourite);
        }
        public void Add(MostRecentItem item)
        {
            int index = IndexOfByPath(item.Path);

            if (index != -1)
            {
                _items.RemoveAt(index);
            }
            _items.Insert(0, item);
            if (_items.Count > _maxSize)
            {
                _items.RemoveAt(_maxSize);
            }
        }
 public void Update()
 {
     DropDownItems.Clear();
     if (_mostRecentItems.Count == 0)
     {
         Enabled = false;
         return;
     }
     for (int k = 0; k < _mostRecentItems.Count; k++)
     {
         MostRecentItem    item     = _mostRecentItems[k];
         ToolStripMenuItem menuItem = new ToolStripMenuItem($"&{(k + 1)} {item.DisplayName}");
         menuItem.Tag    = item;
         menuItem.Click += MenuItem_Click;
         DropDownItems.Add(menuItem);
     }
     Enabled = true;
 }
 private void OnRecentItemClicked(MostRecentItem item) =>
 FavouriteClick?.Invoke(this, new RecentItemClickEventArgs(item));
        private void Favourite_Click(object sender, EventArgs e)
        {
            MostRecentItem item = (MostRecentItem)((ToolStripMenuItem)sender).Tag;

            OnRecentItemClicked(item);
        }
 private void InsertNewItem(MostRecentItem item)
 {
     _favourites.Insert(0, item);
     DropDownItems.Insert(_favouritesStartIndex, CreateFavouriteItem(item));
 }
 public void Add(MostRecentItem item)
 {
     _mostRecentItems.Add(item);
     Update();
 }
 public RecentItemClickEventArgs(MostRecentItem item)
 {
     Item = item;
 }