From b63b63efaf345b02658c88b0db72dff79f29de09 Mon Sep 17 00:00:00 2001 From: Gabriele Musco Date: Tue, 3 Sep 2024 22:14:40 +0200 Subject: [PATCH] feat: show a build button instead of start if profile isn't built --- src/ui/app.rs | 3 +++ src/ui/main_view.rs | 11 +++++++++++ 2 files changed, 14 insertions(+) diff --git a/src/ui/app.rs b/src/ui/app.rs index b89fa57..674027e 100644 --- a/src/ui/app.rs +++ b/src/ui/app.rs @@ -552,6 +552,9 @@ impl AsyncComponent for App { self.build_window .sender() .emit(BuildWindowMsg::UpdateCanClose(true)); + self.main_view + .sender() + .emit(MainViewMsg::UpdateSelectedProfile(profile)); } errcode => { self.build_window diff --git a/src/ui/main_view.rs b/src/ui/main_view.rs index bd95590..ff36f55 100644 --- a/src/ui/main_view.rs +++ b/src/ui/main_view.rs @@ -179,6 +179,15 @@ impl SimpleComponent for MainView { set_spacing: 12, set_margin_all: 12, set_orientation: gtk::Orientation::Vertical, + gtk::Button { + #[track = "model.changed(Self::selected_profile())"] + set_visible: !model.selected_profile.can_start(), + add_css_class: "pill", + add_css_class: "suggested-action", + set_hexpand: true, + set_label: "Build Profile", + set_action_name: Some("win.buildprofileclean"), + }, gtk::Box { set_hexpand: true, set_orientation: gtk::Orientation::Horizontal, @@ -187,6 +196,8 @@ impl SimpleComponent for MainView { add_css_class: "suggested-action", add_css_class: "destructive-action", set_hexpand: true, + #[track = "model.changed(Self::selected_profile())"] + set_visible: model.selected_profile.can_start(), #[track = "model.changed(Self::xrservice_active())"] set_class_active: ("suggested-action", !model.xrservice_active), #[track = "model.changed(Self::xrservice_active())"]