Exemplo n.º 1
0
        private void TransferList_MouseClick(object sender, MouseEventArgs e)
        {
            if (e.Button != MouseButtons.Right)
            {
                return;
            }

            TreeListNode node = TransferList.GetNodeAt(e.Location) as TreeListNode;

            if (node == null || node.GetType() != typeof(TransferNode))
            {
                return;
            }

            ContextMenuStripEx menu = new ContextMenuStripEx();

            TransferNode transfer = node as TransferNode;

            menu.Items.Add(new ToolStripMenuItem("Copy Hash to Clipboaard", null, (s, o) =>
            {
                Clipboard.SetText(Utilities.ToBase64String(transfer.Transfer.Details.Hash));
            }));

            menu.Show(TransferList, e.Location);
        }
Exemplo n.º 2
0
        private void RefreshView()
        {
            Dictionary<ulong, OpTransfer> displayMap = new Dictionary<ulong, OpTransfer>();

            if (ShowDownloads.Checked)
                foreach (OpTransfer download in Service.Transfers.Values.Where(t => t.Status != TransferStatus.Complete))
                    displayMap[download.FileID] = download;

            if (ShowUploads.Checked)
                foreach (OpTransfer upload in Service.Transfers.Values.Where(t => t.Status == TransferStatus.Complete))
                    displayMap[upload.FileID] = upload;

            if (ShowPending.Checked)
                foreach (OpTransfer pending in Service.Pending)
                    displayMap[pending.FileID] = pending;

            if (ShowPartials.Checked)
                foreach (OpTransfer partial in Service.Partials)
                    displayMap[partial.FileID] = partial;

            // remove
            var remove = (from TransferNode node in TransferList.Nodes
                          where !displayMap.ContainsKey(node.Transfer.FileID)
                          select node).ToList();

            foreach (TransferNode node in remove)
            {
                TransferMap.Remove(node.Transfer.FileID);
                TransferList.Nodes.Remove(node);
            }

            // add missing
            var add = from transfer in displayMap.Values
                      where !TransferMap.ContainsKey(transfer.FileID)
                      select transfer;

            foreach (OpTransfer transfer in add)
            {
                TransferNode node = new TransferNode(Service, transfer);
                TransferMap[transfer.FileID] = node;
                TransferList.Nodes.Add(node);

                if(!DefaultCollapse)
                    node.Expand();
            }

            foreach (TransferNode transfer in TransferList.Nodes)
                transfer.Refresh();

            TransferList.Invalidate();
        }
Exemplo n.º 3
0
        private void RefreshView()
        {
            Dictionary <ulong, OpTransfer> displayMap = new Dictionary <ulong, OpTransfer>();

            if (ShowDownloads.Checked)
            {
                foreach (OpTransfer download in Service.Transfers.Values.Where(t => t.Status != TransferStatus.Complete))
                {
                    displayMap[download.FileID] = download;
                }
            }

            if (ShowUploads.Checked)
            {
                foreach (OpTransfer upload in Service.Transfers.Values.Where(t => t.Status == TransferStatus.Complete))
                {
                    displayMap[upload.FileID] = upload;
                }
            }

            if (ShowPending.Checked)
            {
                foreach (OpTransfer pending in Service.Pending)
                {
                    displayMap[pending.FileID] = pending;
                }
            }


            if (ShowPartials.Checked)
            {
                foreach (OpTransfer partial in Service.Partials)
                {
                    displayMap[partial.FileID] = partial;
                }
            }

            // remove
            var remove = (from TransferNode node in TransferList.Nodes
                          where !displayMap.ContainsKey(node.Transfer.FileID)
                          select node).ToList();

            foreach (TransferNode node in remove)
            {
                TransferMap.Remove(node.Transfer.FileID);
                TransferList.Nodes.Remove(node);
            }

            // add missing
            var add = from transfer in displayMap.Values
                      where !TransferMap.ContainsKey(transfer.FileID)
                      select transfer;

            foreach (OpTransfer transfer in add)
            {
                TransferNode node = new TransferNode(Service, transfer);
                TransferMap[transfer.FileID] = node;
                TransferList.Nodes.Add(node);

                if (!DefaultCollapse)
                {
                    node.Expand();
                }
            }

            foreach (TransferNode transfer in TransferList.Nodes)
            {
                transfer.Refresh();
            }

            TransferList.Invalidate();
        }