Exemplo n.º 1
0
        private async void SubmitButton_Click(object sender, RoutedEventArgs e)
        {
            SubmitButton.IsEnabled = false;
            AbstractDownloader downloader = analyser.GetDownloader();

            Debug.WriteLine(nameof(currentFolderToken) + ": " + currentFolderToken);

            Models.DownloaderSettings settings = new Models.DownloaderSettings()
            {
                Url         = analyser.URL,
                FileName    = (bool)(NeedRenameButton.IsChecked) ? RenameBox.Text : analyser.GetRecommendedName(),
                Size        = analyser.GetStreamSize() > 0 ? (long?)analyser.GetStreamSize() : null,
                Threads     = ThreadLayout.Visibility == Visibility.Visible ? (int?)ThreadNumSlider.Value : null,
                FilePath    = downloader.NeedTemporaryFilePath ? await StorageManager.GetTemporaryFileAsync() : null,
                FolderToken = currentFolderToken
            };

            downloader.SetDownloader(settings);
            MainPage.Current.AddDownloadBar(downloader);
            //由于软件的窗口管理机制要把控件的值重置以准备下次被打开
            RefreshUI();

            await ApplicationViewSwitcher.SwitchAsync(MainPage.Current.ViewID); //拉起MainPage

            await ApplicationView.GetForCurrentView().TryConsolidateAsync();    //关闭窗口
        }
Exemplo n.º 2
0
        //得到了一个新URL,分析其文件名,文件大小
        private async void AddURL(string URL)
        {
            AbstractAnalyser analyser = Converters.UrlConverter.GetAnalyser(URL);
            await analyser.SetURLAsync(URL);

            if (analyser.IsLegal())
            {
                URLMessage message = new URLMessage();
                message.URL                 = analyser.URL;
                message.StreamSize          = analyser.GetStreamSize();
                message.RecommendedFileName = analyser.GetRecommendedName();
                if (message.RecommendedFileName == null)
                {
                    message.RecommendedFileName = string.Empty;
                }
                message.StreamSizeToString = Converters.StringConverter.GetPrintSize(analyser.GetStreamSize());
                AddListViewItem(message);
                LimitListLength();
            }
            analyser.Dispose();
        }