From e2f66180d27e1cb9ebdd18a46a5e397592c20bdf Mon Sep 17 00:00:00 2001 From: Observer KRypt0n_ Date: Tue, 16 May 2023 20:30:46 +0200 Subject: [PATCH] feat(ui): redesigned main button --- src/ui/main/mod.rs | 57 +++++++++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 28 deletions(-) diff --git a/src/ui/main/mod.rs b/src/ui/main/mod.rs index b16c679..6f910e3 100644 --- a/src/ui/main/mod.rs +++ b/src/ui/main/mod.rs @@ -385,23 +385,27 @@ impl SimpleComponent for App { set_css_classes: &["background", "round-bin"], gtk::Button { - #[watch] - set_label: &match model.state { - Some(LauncherState::Launch) => tr("launch"), - Some(LauncherState::PredownloadAvailable { .. }) => tr("launch"), - Some(LauncherState::FolderMigrationRequired { .. }) => tr("migrate-folders"), - Some(LauncherState::UnityPlayerPatchAvailable(_)) => tr("apply-patch"), - Some(LauncherState::XluaPatchAvailable(_)) => tr("apply-patch"), - Some(LauncherState::WineNotInstalled) => tr("download-wine"), - Some(LauncherState::PrefixNotExists) => tr("create-prefix"), - Some(LauncherState::VoiceUpdateAvailable(_)) => tr("update"), - Some(LauncherState::VoiceOutdated(_)) => tr("update"), - Some(LauncherState::VoiceNotInstalled(_)) => tr("download"), - Some(LauncherState::GameUpdateAvailable(_)) => tr("update"), - Some(LauncherState::GameOutdated(_)) => tr("update"), - Some(LauncherState::GameNotInstalled(_)) => tr("download"), + adw::ButtonContent { + set_icon_name: "media-playback-start-symbolic", - None => String::from("...") + #[watch] + set_label: &match model.state { + Some(LauncherState::Launch) => tr("launch"), + Some(LauncherState::PredownloadAvailable { .. }) => tr("launch"), + Some(LauncherState::FolderMigrationRequired { .. }) => tr("migrate-folders"), + Some(LauncherState::UnityPlayerPatchAvailable(_)) => tr("apply-patch"), + Some(LauncherState::XluaPatchAvailable(_)) => tr("apply-patch"), + Some(LauncherState::WineNotInstalled) => tr("download-wine"), + Some(LauncherState::PrefixNotExists) => tr("create-prefix"), + Some(LauncherState::VoiceUpdateAvailable(_)) => tr("update"), + Some(LauncherState::VoiceOutdated(_)) => tr("update"), + Some(LauncherState::VoiceNotInstalled(_)) => tr("download"), + Some(LauncherState::GameUpdateAvailable(_)) => tr("update"), + Some(LauncherState::GameOutdated(_)) => tr("update"), + Some(LauncherState::GameNotInstalled(_)) => tr("download"), + + None => String::from("...") + } }, #[watch] @@ -427,21 +431,21 @@ impl SimpleComponent for App { #[watch] set_css_classes: match &model.state { Some(LauncherState::GameOutdated { .. }) | - Some(LauncherState::VoiceOutdated(_)) => &["warning"], + Some(LauncherState::VoiceOutdated(_)) => &["warning", "pill"], Some(LauncherState::UnityPlayerPatchAvailable(UnityPlayerPatch { status, .. })) | Some(LauncherState::XluaPatchAvailable(XluaPatch { status, .. })) => match status { PatchStatus::NotAvailable | PatchStatus::Outdated { .. } | - PatchStatus::Preparation { .. } => &["error"], + PatchStatus::Preparation { .. } => &["error", "pill"], - PatchStatus::Testing { .. } => &["warning"], - PatchStatus::Available { .. } => &["suggested-action"] + PatchStatus::Testing { .. } => &["warning", "pill"], + PatchStatus::Available { .. } => &["suggested-action", "pill"] }, - Some(_) => &["suggested-action"], + Some(_) => &["suggested-action", "pill"], - None => &[] + None => &["pill"] }, #[watch] @@ -475,15 +479,12 @@ impl SimpleComponent for App { set_css_classes: &["background", "round-bin"], gtk::Button { - #[watch] - set_width_request: match model.style { - LauncherStyle::Modern => -1, - LauncherStyle::Classic => 40 - }, - #[watch] set_sensitive: !model.disabled_buttons, + set_width_request: 48, + + add_css_class: "circular", set_icon_name: "emblem-system-symbolic", connect_clicked => AppMsg::OpenPreferences