mirror of
https://github.com/an-anime-team/an-anime-game-launcher.git
synced 2025-02-03 14:30:50 +03:00
feat(core): added support for format
wine/dxvk components field
This commit is contained in:
parent
173ef71602
commit
15fde05021
2 changed files with 12 additions and 3 deletions
src/ui/components
|
@ -49,6 +49,7 @@ pub struct ComponentsListVersion {
|
|||
pub name: String,
|
||||
pub title: String,
|
||||
pub uri: String,
|
||||
pub format: Option<String>,
|
||||
pub recommended: bool
|
||||
}
|
||||
|
||||
|
@ -63,7 +64,8 @@ impl From<wine::Version> for ComponentsListVersion {
|
|||
|
||||
name: version.name,
|
||||
title: version.title,
|
||||
uri: version.uri
|
||||
uri: version.uri,
|
||||
format: version.format
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -79,7 +81,8 @@ impl From<dxvk::Version> for ComponentsListVersion {
|
|||
|
||||
name: version.name,
|
||||
title: version.title,
|
||||
uri: version.uri
|
||||
uri: version.uri,
|
||||
format: version.format
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,6 +31,7 @@ pub struct ComponentVersion {
|
|||
|
||||
pub download_uri: String,
|
||||
pub download_folder: PathBuf,
|
||||
pub download_filename: Option<String>,
|
||||
|
||||
pub show_recommended_only: bool,
|
||||
pub state: VersionState,
|
||||
|
@ -84,12 +85,13 @@ impl SimpleAsyncComponent for ComponentVersion {
|
|||
_sender: AsyncComponentSender<Self>,
|
||||
) -> AsyncComponentParts<Self> {
|
||||
let mut model = ComponentVersion {
|
||||
name: init.0.name,
|
||||
name: init.0.name.clone(),
|
||||
title: init.0.title,
|
||||
recommended: init.0.recommended,
|
||||
|
||||
download_uri: init.0.uri,
|
||||
download_folder: init.1,
|
||||
download_filename: init.0.format.map(|format| format!("{}.{format}", init.0.name)),
|
||||
|
||||
show_recommended_only: true,
|
||||
state: VersionState::NotDownloaded,
|
||||
|
@ -152,6 +154,10 @@ impl SimpleAsyncComponent for ComponentVersion {
|
|||
.expect("Failed to create installer instance for this version")
|
||||
.with_temp_folder(config.launcher.temp.unwrap_or_else(std::env::temp_dir));
|
||||
|
||||
if let Some(filename) = &self.download_filename {
|
||||
installer = installer.with_filename(filename.to_owned());
|
||||
}
|
||||
|
||||
self.state = VersionState::Downloading;
|
||||
|
||||
let progress_bar_sender = self.progress_bar.sender().clone();
|
||||
|
|
Loading…
Add table
Reference in a new issue