コード例 #1
0
ファイル: MainController.cs プロジェクト: Abbin44/BitLoader
        private void addTorrentFromMagnetToolStripMenuItem_Click(object sender, EventArgs e) //Add torrent From magnet
        {
            AddMagnetForm addMagnet = new AddMagnetForm();

            addMagnet.StartPosition = FormStartPosition.CenterScreen;
            addMagnet.ShowDialog();

            if (!string.IsNullOrWhiteSpace(addMagnet.GetSaveFilePath()) && !string.IsNullOrWhiteSpace(addMagnet.GetMagnetLink()))
            {
                saveFilePath = addMagnet.GetSaveFilePath();
                magnetLink   = addMagnet.GetMagnetLink();
            }
            else
            {
                return;
            }

            maxUploadSpeed         = addMagnet.GetMaxUploadSpeed();
            maxDownloadSpeed       = addMagnet.GetMaxDownloadSpeed();
            unlimitedDownloadSpeed = addMagnet.GetUnlimitedDownloadSpeed();
            unlimitedUploadSpeed   = addMagnet.GetUnlimitedUploadSpeed();

            downloader = new TorrentDownloader(maxUploadSpeed, maxDownloadSpeed, saveFilePath, "", magnetLink, unlimitedDownloadSpeed, unlimitedUploadSpeed);
            downloadList.Add(downloader);
            downloader.torrentIndex = torrentIndex;
            activeTorrents.Add(downloader.magnetLink);
            new Thread(downloader.AddTorrentFromMagnet).Start();
            mainTimer.Start();
        }
コード例 #2
0
ファイル: MainController.cs プロジェクト: Abbin44/BitLoader
        private void addTorrentFileToolStrip_Click(object sender, EventArgs e) //Add torrent from file
        {
            AddTorrentFileForm at = new AddTorrentFileForm();

            at.StartPosition = FormStartPosition.CenterScreen;
            at.ShowDialog();

            if (!string.IsNullOrWhiteSpace(at.GetSaveFilePath()) && at.GetAddTorrentFilePath().EndsWith(".torrent"))
            {
                saveFilePath    = at.GetSaveFilePath();
                torrentFilePath = at.GetAddTorrentFilePath();
            }
            else
            {
                return;
            }

            maxUploadSpeed         = at.GetMaxUploadSpeed();
            maxDownloadSpeed       = at.GetMaxDownloadSpeed();
            unlimitedDownloadSpeed = at.GetUnlimitedDownloadSpeed();
            unlimitedUploadSpeed   = at.GetUnlimitedUploadSpeed();

            downloader = new TorrentDownloader(maxUploadSpeed, maxDownloadSpeed, saveFilePath, torrentFilePath, "", unlimitedDownloadSpeed, unlimitedUploadSpeed);
            downloadList.Add(downloader);
            downloader.torrentIndex = torrentIndex;
            activeTorrents.Add(downloader.torrentFilePath);
            //mainForm.RunOnUIThread(() => downloader.AddTorrentFromFile()); ;
            new Thread(downloader.AddTorrentFromFile).Start();
            mainTimer.Start();
        }
コード例 #3
0
        public void ReadActiveTorrents()
        {
            string[] torrentsToAdd          = File.ReadAllLines(filePath);
            int      uploadSpeed            = SettingsForm.defaultSettings.defaultMaxUploadSpeed;
            int      downloadSpeed          = SettingsForm.defaultSettings.defaultMaxDownloadSpeed;
            string   savePath               = SettingsForm.defaultSettings.defaultSavePath;
            string   torrentPath            = string.Empty;
            string   magnetLink             = string.Empty;
            bool     unlimitedDownloadSpeed = SettingsForm.defaultSettings.unlimitedDownloadSpeed;
            bool     unlimitedUpSpeed       = SettingsForm.defaultSettings.unlimitedUploadSpeed;

            for (int i = 0; i < torrentsToAdd.Length; ++i)
            {
                if (torrentsToAdd[i].StartsWith("magnet:"))
                {
                    magnetLink = torrentsToAdd[i];
                }
                else
                {
                    torrentPath = torrentsToAdd[i];
                }

                TorrentDownloader downloader = new TorrentDownloader(uploadSpeed, downloadSpeed, savePath, torrentPath, magnetLink, unlimitedDownloadSpeed, unlimitedUpSpeed);
                cMainForm.mainForm.downloadList.Add(downloader);  //Add to the main list of downloading objects for indexing
                downloader.torrentIndex = cMainForm.mainForm.torrentIndex;

                if (!string.IsNullOrEmpty(torrentPath))
                {
                    cMainForm.mainForm.activeTorrents.Add(downloader.torrentFilePath);
                    new Thread(downloader.AddTorrentFromFile).Start();
                }
                else if (!string.IsNullOrEmpty(magnetLink))
                {
                    cMainForm.mainForm.activeTorrents.Add(downloader.magnetLink);
                    new Thread(downloader.AddTorrentFromMagnet).Start();
                }
                else
                {
                    return;
                }

                if (File.Exists(filePath))
                {
                    File.Delete(filePath);
                }

                cMainForm.mainForm.mainTimer.Start();
            }
        }