public void AddToItemsListFor(object item, StoredItemsList itemsList, int maxItemsQuantity) {
     ArrayList list = itemsList.Items;
     if (list.Contains(item))
         list.Remove(item);
     while (list.Count >= maxItemsQuantity && list.Count > 0)
         list.RemoveAt(list.Count - 1);
     list.Insert(0, item);
     itemsList.Save();
 }
 public void InitTabControlFor(TabPage itemsListTabPage, ListView itemsListControl,
                               StoredItemsList itemsList, IItemsListController itemsListController) {
     PopulateListFor(itemsListControl, itemsList, itemsListController);
     itemsListTabPage.Tag = itemsListControl;
     itemsListControl.SelectedIndexChanged += new EventHandler(ListItem_Selected);
     itemsListControl.DoubleClick += new EventHandler(ListItem_DoubleClick);
     itemsListControl.KeyUp += new KeyEventHandler(itemsListControl_KeyUp);
     itemsListControl.Tag = itemsList;
 }
 private void PopulateListFor(ListView listView, StoredItemsList itemsList,
                              IItemsListController itemsListController) {
     if (itemsList == null)
         return;
     foreach (object item in itemsList.Items)
         listView.Items.Add(itemsListController.ListViewItemFor(item));
 }
 private void RemoveSelectedItemsFor(ListView actualListControl, StoredItemsList storedItemsList) {
     ArrayList itemsToRemove = new ArrayList(actualListControl.SelectedItems);
     actualListControl.SuspendLayout();
     foreach (ListViewItem item in itemsToRemove) {
         storedItemsList.Items.Remove(item.Tag);
         actualListControl.Items.Remove(item);
     }
     actualListControl.ResumeLayout();
 }