diff --git a/Cargo.lock b/Cargo.lock index 99e4070..8696d19 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -76,7 +76,7 @@ dependencies = [ [[package]] name = "anime-launcher-sdk" -version = "0.3.2" +version = "0.3.3" dependencies = [ "anime-game-core", "anyhow", diff --git a/anime-launcher-sdk b/anime-launcher-sdk index 6565e30..219d0f7 160000 --- a/anime-launcher-sdk +++ b/anime-launcher-sdk @@ -1 +1 @@ -Subproject commit 6565e300309a89f859fd62d2b626ca84675d9ae8 +Subproject commit 219d0f7704e18d74a9205163ffbb7d1718291ea4 diff --git a/assets/locales/de/first_run.ftl b/assets/locales/de/first_run.ftl index f10b13b..2e72c19 100644 --- a/assets/locales/de/first_run.ftl +++ b/assets/locales/de/first_run.ftl @@ -37,6 +37,7 @@ runners-folder = Runners-Ordner dxvks-folder = DXVKs-Ordner wine-prefix-folder = Wine prefix-Ordner game-installation-folder = Spiel-Installationsordner +components-index = Komponentenverzeichnis patch-folder = Patch-Ordner temp-folder = Temp-Ordner diff --git a/assets/locales/en/first_run.ftl b/assets/locales/en/first_run.ftl index 1d2a118..7368ea5 100644 --- a/assets/locales/en/first_run.ftl +++ b/assets/locales/en/first_run.ftl @@ -37,6 +37,7 @@ runners-folder = Runners folder dxvks-folder = DXVKs folder wine-prefix-folder = Wine prefix folder game-installation-folder = Game installation folder +components-index = Components index patch-folder = Patch folder temp-folder = Temp folder diff --git a/assets/locales/fr/first_run.ftl b/assets/locales/fr/first_run.ftl index f5a079f..475df74 100644 --- a/assets/locales/fr/first_run.ftl +++ b/assets/locales/fr/first_run.ftl @@ -37,6 +37,7 @@ runners-folder = Emplacement des runners dxvks-folder = Emplacement des versions de DXVK wine-prefix-folder = Emplacement du préfix wine game-installation-folder = Emplacement d'installation du jeu +components-index = Indice des composants patch-folder = Emplacement du patch temp-folder = Dossier temporaire diff --git a/assets/locales/ru/first_run.ftl b/assets/locales/ru/first_run.ftl index e8faad6..dafac16 100644 --- a/assets/locales/ru/first_run.ftl +++ b/assets/locales/ru/first_run.ftl @@ -39,6 +39,7 @@ runners-folder = Папка версий Wine dxvks-folder = Папка версий DXVK wine-prefix-folder = Папка префикса Wine game-installation-folder = Путь установки игры +components-index = Индекс компонентов patch-folder = Папка скачивания патча temp-folder = Временная папка diff --git a/assets/locales/zh-cn/first_run.ftl b/assets/locales/zh-cn/first_run.ftl index 606c160..0a9c8b3 100644 --- a/assets/locales/zh-cn/first_run.ftl +++ b/assets/locales/zh-cn/first_run.ftl @@ -37,6 +37,7 @@ runners-folder = 运行程序文件夹 dxvks-folder = DXVK 文件夹 wine-prefix-folder = Wine prefix 文件夹 game-installation-folder = 游戏安装文件夹 +components-index = 成分指数 patch-folder = 补丁文件夹 temp-folder = 临时文件夹 diff --git a/src/ui/first_run/default_paths.rs b/src/ui/first_run/default_paths.rs index 0c69c09..1ba44c3 100644 --- a/src/ui/first_run/default_paths.rs +++ b/src/ui/first_run/default_paths.rs @@ -19,6 +19,7 @@ pub struct DefaultPathsApp { dxvks: PathBuf, prefix: PathBuf, game: PathBuf, + components: PathBuf, patch: PathBuf, temp: PathBuf } @@ -30,6 +31,7 @@ pub enum Folders { DXVK, Prefix, Game, + Components, Patch, Temp } @@ -145,6 +147,17 @@ impl SimpleAsyncComponent for DefaultPathsApp { connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Game) }, + adw::ActionRow { + set_title: &tr("components-index"), + set_icon_name: Some("folder-symbolic"), + set_activatable: true, + + #[watch] + set_subtitle: model.components.to_str().unwrap(), + + connect_activated => DefaultPathsAppMsg::ChoosePath(Folders::Components) + }, + adw::ActionRow { set_title: &tr("patch-folder"), set_icon_name: Some("folder-symbolic"), @@ -208,6 +221,7 @@ impl SimpleAsyncComponent for DefaultPathsApp { dxvks: CONFIG.game.dxvk.builds.clone(), prefix: CONFIG.game.wine.prefix.clone(), game: CONFIG.game.path.clone(), + components: CONFIG.components.path.clone(), patch: CONFIG.patch.path.clone(), #[allow(clippy::or_fun_call)] @@ -233,22 +247,24 @@ impl SimpleAsyncComponent for DefaultPathsApp { match folder { Folders::Launcher => { - self.runners = result.join("runners"); - self.dxvks = result.join("dxvks"); - self.prefix = result.join("game"); - self.game = result.join("game/drive_c/Program Files/Genshin Impact"); - self.patch = result.join("patch"); - self.temp = result.join("temp"); + self.runners = result.join("runners"); + self.dxvks = result.join("dxvks"); + self.prefix = result.join("game"); + self.game = result.join("game/drive_c/Program Files/Genshin Impact"); + self.components = result.join("components"); + self.patch = result.join("patch"); + self.temp = result.join("temp"); self.launcher = result; } - Folders::Runners => self.runners = result, - Folders::DXVK => self.dxvks = result, - Folders::Prefix => self.prefix = result, - Folders::Game => self.game = result, - Folders::Patch => self.patch = result, - Folders::Temp => self.temp = result + Folders::Runners => self.runners = result, + Folders::DXVK => self.dxvks = result, + Folders::Prefix => self.prefix = result, + Folders::Game => self.game = result, + Folders::Components => self.components = result, + Folders::Patch => self.patch = result, + Folders::Temp => self.temp = result } } } @@ -278,6 +294,7 @@ impl DefaultPathsApp { config.game.dxvk.builds = self.dxvks.clone(); config.game.wine.prefix = self.prefix.clone(); config.game.path = self.game.clone(); + config.components.path = self.components.clone(); config.patch.path = self.patch.clone(); config.launcher.temp = Some(self.temp.clone());