예제 #1
0
 public void Show()
 {
     ListView.ListViewItemCollection itemCollection = Program.Form.torrentListView.Items;
     if (!itemCollection.Contains(this))
     {
         lock (Program.Form.torrentListView)
         {
             if (!itemCollection.Contains(this))
             {
                 UpdateUi(false);
                 itemCollection.Add(this);
             }
         }
     }
 }
예제 #2
0
        public void RemoveItem()
        {
            MainWindow form             = Program.Form;
            int        matchingTrackers = 0;

            ListView.ListViewItemCollection itemCollection = Program.Form.torrentListView.Items;
            if (itemCollection.Contains(this))
            {
                lock (form.torrentListView)
                {
                    if (itemCollection.Contains(this))
                    {
                        itemCollection.Remove(this);
                    }
                }
            }
            else
            {
                return;
            }

            if (FirstTrackerTrimmed == null)
            {
                return;
            }

            lock (Program.TorrentIndex)
            {
                foreach (KeyValuePair <string, Torrent> torrent in Program.TorrentIndex)
                {
                    if (torrent.Value.FirstTrackerTrimmed.Equals(FirstTrackerTrimmed))
                    {
                        matchingTrackers++;
                    }
                }
            }

            if (matchingTrackers <= 0)
            {
                lock (form.stateListBox)
                {
                    form.stateListBox.RemoveItem(FirstTrackerTrimmed);
                }
            }
        }
 public bool Contains(ListViewItem item)
 {
     return(_collection.Contains(item));
 }