Ejemplo n.º 1
0
        public SharedFileItem(SharedFile file, BitChat chat)
        {
            InitializeComponent();

            _file = file;
            _chat = chat;

            _fileSizeFormatted = WebUtilities.GetFormattedSize(_file.MetaData.FileSize);

            labFileName.Text = _file.MetaData.FileName;
            labSpeed.Text    = "";

            if (_file.TotalPeers > 1)
            {
                labInfo1.Text = _fileSizeFormatted + " (" + _file.TotalPeers + " peers)";
            }
            else
            {
                labInfo1.Text = _fileSizeFormatted + " (" + _file.TotalPeers + " peer)";
            }

            _file.FileDownloadStarted     += OnFileDownloadStarted;
            _file.FileDownloaded          += OnFileDownloaded;
            _file.BlockDownloaded         += OnBlockDownloaded;
            _file.PeerCountUpdate         += OnPeerCountUpdate;
            _file.FileTransferSpeedUpdate += OnFileTransferSpeedUpdate;
            _file.FileRemoved             += OnFileRemoved;

            if (_file.State == SharedFileState.Advertisement)
            {
                _type          = SharedFileItemType.Advertisement;
                this.BackColor = _BackColorAvailable;

                pbFileProgress.Visible = false;
            }
            else if (_file.IsComplete)
            {
                _type = SharedFileItemType.Sharing;

                labSpeed.ForeColor     = Color.Blue;
                pbFileProgress.Visible = false;
            }
            else
            {
                _type = SharedFileItemType.Downloading;

                pbFileProgress.Visible = true;
                pbFileProgress.Value   = _file.PercentComplete;
            }
        }
Ejemplo n.º 2
0
        private void OnFileDownloaded(object sender, EventArgs args)
        {
            _type = SharedFileItemType.Sharing;
            pbFileProgress.Visible = false;
            labSpeed.Text          = "";
            labSpeed.ForeColor     = Color.Blue;

            if (_file.TotalPeers > 1)
            {
                labInfo1.Text = _fileSizeFormatted + " (" + _file.TotalPeers + " peers)";
            }
            else
            {
                labInfo1.Text = _fileSizeFormatted + " (" + _file.TotalPeers + " peer)";
            }

            if (FileDownloaded != null)
            {
                FileDownloaded(this, EventArgs.Empty);
            }

            SortListView();
        }
Ejemplo n.º 3
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            Action <object> d = new Action <object>(StartAsync);

            d.BeginInvoke(null, null, null);

            ShowButtons(false, true, true);

            if (_type == SharedFileItemType.Advertisement)
            {
                _type          = SharedFileItemType.Downloading;
                this.BackColor = Color.White;

                pbFileProgress.Visible = true;
                pbFileProgress.Value   = _file.PercentComplete;

                if (FileDownloadStarted != null)
                {
                    FileDownloadStarted(this, EventArgs.Empty);
                }

                SortListView();
            }
        }
Ejemplo n.º 4
0
        public SharedFileItem(SharedFile file, BitChat chat)
        {
            InitializeComponent();

            _file = file;
            _chat = chat;

            _fileSizeFormatted = WebUtilities.GetFormattedSize(_file.MetaData.FileSize);

            labFileName.Text = _file.MetaData.FileName;
            labSpeed.Text = "";

            if (_file.TotalPeers > 1)
                labInfo1.Text = _fileSizeFormatted + " (" + _file.TotalPeers + " peers)";
            else
                labInfo1.Text = _fileSizeFormatted + " (" + _file.TotalPeers + " peer)";

            _file.FileDownloadStarted += OnFileDownloadStarted;
            _file.FileDownloaded += OnFileDownloaded;
            _file.BlockDownloaded += OnBlockDownloaded;
            _file.PeerCountUpdate += OnPeerCountUpdate;
            _file.FileTransferSpeedUpdate += OnFileTransferSpeedUpdate;
            _file.FileRemoved += OnFileRemoved;

            if (_file.State == SharedFileState.Advertisement)
            {
                _type = SharedFileItemType.Advertisement;
                this.BackColor = _BackColorAvailable;

                pbFileProgress.Visible = false;
            }
            else if (_file.IsComplete)
            {
                _type = SharedFileItemType.Sharing;

                labSpeed.ForeColor = Color.Blue;
                pbFileProgress.Visible = false;
            }
            else
            {
                _type = SharedFileItemType.Downloading;

                pbFileProgress.Visible = true;
                pbFileProgress.Value = _file.PercentComplete;
            }
        }
Ejemplo n.º 5
0
        private void OnFileDownloaded(object sender, EventArgs args)
        {
            _type = SharedFileItemType.Sharing;
            pbFileProgress.Visible = false;
            labSpeed.Text = "";
            labSpeed.ForeColor = Color.Blue;

            if (_file.TotalPeers > 1)
                labInfo1.Text = _fileSizeFormatted + " (" + _file.TotalPeers + " peers)";
            else
                labInfo1.Text = _fileSizeFormatted + " (" + _file.TotalPeers + " peer)";

            if (FileDownloaded != null)
                FileDownloaded(this, EventArgs.Empty);

            SortListView();
        }
Ejemplo n.º 6
0
        private void btnStart_Click(object sender, EventArgs e)
        {
            Action<object> d = new Action<object>(StartAsync);
            d.BeginInvoke(null, null, null);

            ShowButtons(false, true, true);

            if (_type == SharedFileItemType.Advertisement)
            {
                _type = SharedFileItemType.Downloading;
                this.BackColor = Color.White;

                pbFileProgress.Visible = true;
                pbFileProgress.Value = _file.PercentComplete;

                if (FileDownloadStarted != null)
                    FileDownloadStarted(this, EventArgs.Empty);

                SortListView();
            }
        }