fix: fixed DXVK applying on changed default path during initial setup
As well I disabled long swipes and wheel scrolling for carousel. Don't know why I forgot to do it before, but nobody noticed it so..
This commit is contained in:
parent
ee4f78e532
commit
12ce4f18a7
2 changed files with 18 additions and 10 deletions
|
@ -314,15 +314,17 @@ impl SimpleAsyncComponent for DownloadComponentsApp {
|
||||||
async fn update(&mut self, msg: Self::Input, sender: AsyncComponentSender<Self>) {
|
async fn update(&mut self, msg: Self::Input, sender: AsyncComponentSender<Self>) {
|
||||||
match msg {
|
match msg {
|
||||||
DownloadComponentsAppMsg::UpdateVersionsLists => {
|
DownloadComponentsAppMsg::UpdateVersionsLists => {
|
||||||
|
let config = config::get().unwrap_or_else(|_| CONFIG.clone());
|
||||||
|
|
||||||
// 4 latest versions of 4 first available wine group
|
// 4 latest versions of 4 first available wine group
|
||||||
self.wine_versions = wine::get_groups(&CONFIG.components.path).unwrap()
|
self.wine_versions = wine::get_groups(&config.components.path).unwrap()
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.take(4)
|
.take(4)
|
||||||
.flat_map(|group| group.versions.into_iter().take(4))
|
.flat_map(|group| group.versions.into_iter().take(4))
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
// 4 latest versions of 4 first available dxvk group
|
// 4 latest versions of 4 first available dxvk group
|
||||||
self.dxvk_versions = dxvk::get_groups(&CONFIG.components.path).unwrap()
|
self.dxvk_versions = dxvk::get_groups(&config.components.path).unwrap()
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.take(4)
|
.take(4)
|
||||||
.flat_map(|group| group.versions.into_iter().take(4))
|
.flat_map(|group| group.versions.into_iter().take(4))
|
||||||
|
@ -331,7 +333,7 @@ impl SimpleAsyncComponent for DownloadComponentsApp {
|
||||||
|
|
||||||
#[allow(unused_must_use)]
|
#[allow(unused_must_use)]
|
||||||
DownloadComponentsAppMsg::DownloadWine => {
|
DownloadComponentsAppMsg::DownloadWine => {
|
||||||
let config = config::get().unwrap_or_default();
|
let config = config::get().unwrap_or_else(|_| CONFIG.clone());
|
||||||
|
|
||||||
self.selected_wine = Some(self.wine_versions[self.wine_combo.selected() as usize].clone());
|
self.selected_wine = Some(self.wine_versions[self.wine_combo.selected() as usize].clone());
|
||||||
self.selected_dxvk = Some(self.dxvk_versions[self.dxvk_combo.selected() as usize].clone());
|
self.selected_dxvk = Some(self.dxvk_versions[self.dxvk_combo.selected() as usize].clone());
|
||||||
|
@ -350,7 +352,7 @@ impl SimpleAsyncComponent for DownloadComponentsApp {
|
||||||
if wine.is_downloaded_in(&config.game.wine.builds) {
|
if wine.is_downloaded_in(&config.game.wine.builds) {
|
||||||
tracing::info!("Wine already installed: {}", wine.name);
|
tracing::info!("Wine already installed: {}", wine.name);
|
||||||
|
|
||||||
let mut config = config::get().unwrap_or_default();
|
let mut config = config::get().unwrap_or_else(|_| CONFIG.clone());
|
||||||
|
|
||||||
config.game.wine.selected = Some(wine.name);
|
config.game.wine.selected = Some(wine.name);
|
||||||
|
|
||||||
|
@ -402,7 +404,7 @@ impl SimpleAsyncComponent for DownloadComponentsApp {
|
||||||
|
|
||||||
// Create prefix
|
// Create prefix
|
||||||
InstallerUpdate::UnpackingFinished => {
|
InstallerUpdate::UnpackingFinished => {
|
||||||
let mut config = config::get().unwrap_or_default();
|
let mut config = config::get().unwrap_or_else(|_| CONFIG.clone());
|
||||||
|
|
||||||
config.game.wine.selected = Some(wine.name.clone());
|
config.game.wine.selected = Some(wine.name.clone());
|
||||||
|
|
||||||
|
@ -443,7 +445,7 @@ impl SimpleAsyncComponent for DownloadComponentsApp {
|
||||||
self.downloading_wine = Some(true);
|
self.downloading_wine = Some(true);
|
||||||
self.creating_prefix = Some(false);
|
self.creating_prefix = Some(false);
|
||||||
|
|
||||||
let config = config::get().unwrap_or_default();
|
let config = config::get().unwrap_or_else(|_| CONFIG.clone());
|
||||||
|
|
||||||
tracing::info!("Creating wine prefix");
|
tracing::info!("Creating wine prefix");
|
||||||
|
|
||||||
|
@ -477,7 +479,7 @@ impl SimpleAsyncComponent for DownloadComponentsApp {
|
||||||
self.creating_prefix = Some(true);
|
self.creating_prefix = Some(true);
|
||||||
self.downloading_dxvk = Some(false);
|
self.downloading_dxvk = Some(false);
|
||||||
|
|
||||||
let config = config::get().unwrap_or_default();
|
let config = config::get().unwrap_or_else(|_| CONFIG.clone());
|
||||||
|
|
||||||
let dxvk = self.selected_dxvk.clone().unwrap();
|
let dxvk = self.selected_dxvk.clone().unwrap();
|
||||||
let progress_bar_input = self.progress_bar.sender().clone();
|
let progress_bar_input = self.progress_bar.sender().clone();
|
||||||
|
@ -554,7 +556,7 @@ impl SimpleAsyncComponent for DownloadComponentsApp {
|
||||||
self.downloading_dxvk = Some(true);
|
self.downloading_dxvk = Some(true);
|
||||||
self.applying_dxvk = Some(false);
|
self.applying_dxvk = Some(false);
|
||||||
|
|
||||||
let config = config::get().unwrap_or_default();
|
let config = config::get().unwrap_or_else(|_| CONFIG.clone());
|
||||||
|
|
||||||
tracing::info!("Applying DXVK");
|
tracing::info!("Applying DXVK");
|
||||||
|
|
||||||
|
@ -603,6 +605,8 @@ impl SimpleAsyncComponent for DownloadComponentsApp {
|
||||||
|
|
||||||
// Skip DXVK applying if we don't need it
|
// Skip DXVK applying if we don't need it
|
||||||
else {
|
else {
|
||||||
|
tracing::info!("Selected wine version has `need_dxvk = false` feature. Skipping DXVK applying...");
|
||||||
|
|
||||||
sender.input(DownloadComponentsAppMsg::Continue);
|
sender.input(DownloadComponentsAppMsg::Continue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,6 +97,8 @@ impl SimpleComponent for FirstRunApp {
|
||||||
set_visible: model.loading.is_none(),
|
set_visible: model.loading.is_none(),
|
||||||
|
|
||||||
set_allow_mouse_drag: false,
|
set_allow_mouse_drag: false,
|
||||||
|
set_allow_long_swipes: false,
|
||||||
|
set_allow_scroll_wheel: false,
|
||||||
|
|
||||||
append = model.welcome.widget(),
|
append = model.welcome.widget(),
|
||||||
append = model.tos_warning.widget(),
|
append = model.tos_warning.widget(),
|
||||||
|
@ -217,12 +219,14 @@ impl SimpleComponent for FirstRunApp {
|
||||||
// Update components index
|
// Update components index
|
||||||
sender.input(FirstRunAppMsg::SetLoadingStatus(Some(Some(tr("updating-components-index")))));
|
sender.input(FirstRunAppMsg::SetLoadingStatus(Some(Some(tr("updating-components-index")))));
|
||||||
|
|
||||||
|
let config = config::get().unwrap_or_else(|_| CONFIG.clone());
|
||||||
|
|
||||||
let components_sender = self.download_components.sender().clone();
|
let components_sender = self.download_components.sender().clone();
|
||||||
let components = ComponentsLoader::new(&CONFIG.components.path);
|
let components = ComponentsLoader::new(config.components.path);
|
||||||
|
|
||||||
#[allow(unused_must_use)]
|
#[allow(unused_must_use)]
|
||||||
std::thread::spawn(move || {
|
std::thread::spawn(move || {
|
||||||
match components.is_sync(&CONFIG.components.servers) {
|
match components.is_sync(config.components.servers) {
|
||||||
Ok(true) => (),
|
Ok(true) => (),
|
||||||
|
|
||||||
Ok(false) => {
|
Ok(false) => {
|
||||||
|
|
Loading…
Reference in a new issue