Refactor and enhance DownloadManager application
Refactored and enhanced the DownloadManager application with significant updates across multiple files. Key changes include: - **App.xaml.cs**: Re-added necessary imports, updated service registrations, and made `OnStartup` asynchronous. - **DownloadManager.csproj**: Updated target framework, application icon, and added assembly version. - **DownloadManager.sln**: Updated project format and added configurations for multiple platforms. - **DownloadManagerService.cs**: Added `HistoryStorageService` dependency, introduced `Initial` method, and improved task management. - **DownloadWorker.cs**: Enhanced error handling and changed `StartDownloadAsync` to `StartDownload`. - **ViewModels**: Refactored to use dependency injection, updated task initialization, and added new commands for settings management. - **UI Updates**: Improved `DownloadingPage.xaml` and `WaitingPage.xaml` with `ListView` and added headers. Restructured `SettingsPage.xaml` for better organization and added new settings options. - **MainWindow**: Enhanced navigation and applied user-defined themes and backdrops. - **New Files**: Added `HistoryStorageService.cs`, `ThemeToIndexConverter.cs`, `CompletedItemData.cs`, `Settings.Designer.cs`, `Settings.settings`, `Constants.cs`, `CompletedPageViewModel.cs`, `CompletedPage.xaml`, and `CompletedPage.xaml.cs` to support new features and improvements. These changes aim to improve the application's robustness, maintainability, and user experience.
This commit is contained in:
16
App.xaml.cs
16
App.xaml.cs
@@ -3,9 +3,6 @@
|
||||
// Copyright (C) Leszek Pomianowski and WPF UI Contributors.
|
||||
// All Rights Reserved.
|
||||
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Windows.Threading;
|
||||
using DownloadManager.DownloaderCore;
|
||||
using DownloadManager.Services;
|
||||
using DownloadManager.ViewModels.Pages;
|
||||
@@ -15,6 +12,9 @@ using DownloadManager.Views.Windows;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Hosting;
|
||||
using System.IO;
|
||||
using System.Reflection;
|
||||
using System.Windows.Threading;
|
||||
using Wpf.Ui;
|
||||
|
||||
namespace DownloadManager;
|
||||
@@ -58,13 +58,14 @@ public partial class App
|
||||
services.AddSingleton<DownloadingPageViewModel>();
|
||||
services.AddSingleton<WaitingPage>();
|
||||
services.AddSingleton<WaitingPageViewModel>();
|
||||
services.AddSingleton<DataPage>();
|
||||
services.AddSingleton<DataViewModel>();
|
||||
services.AddSingleton<CompletedPage>();
|
||||
services.AddSingleton<CompletedPageViewModel>();
|
||||
services.AddSingleton<AddNewTaskPage>();
|
||||
services.AddSingleton<AddNewTaskViewModel>();
|
||||
services.AddSingleton<SettingsPage>();
|
||||
services.AddSingleton<SettingsViewModel>();
|
||||
|
||||
services.AddSingleton<HistoryStorageService>();
|
||||
services.AddSingleton<DownloadManagerService>();
|
||||
}).Build();
|
||||
|
||||
@@ -82,9 +83,10 @@ public partial class App
|
||||
/// <summary>
|
||||
/// Occurs when the application is loading.
|
||||
/// </summary>
|
||||
private void OnStartup(object sender, StartupEventArgs e)
|
||||
private async void OnStartup(object sender, StartupEventArgs e)
|
||||
{
|
||||
_host.Start();
|
||||
await _host.StartAsync();
|
||||
await GetService<DownloadManagerService>().Initial();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user