From 776253da61049e59ebc190fe2d773f447d4d09bc Mon Sep 17 00:00:00 2001 From: Michael Aaron Murphy Date: Thu, 1 Aug 2019 11:37:23 -0600 Subject: [PATCH] fix(gtk): Fix the waiting progress label --- .gitignore | 3 ++- gtk/src/dialogs/fwupd.rs | 3 ++- gtk/src/dialogs/system76.rs | 3 ++- gtk/src/lib.rs | 1 + gtk/src/state.rs | 2 ++ gtk/src/views/devices.rs | 1 + gtk/src/widgets/mod.rs | 10 +--------- 7 files changed, 11 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index c32c22a..4f277ec 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ .cargo/ .vscode +.idea vendor vendor.tar.xz target ffi/examples/c/build/ -ffi/target \ No newline at end of file +ffi/target diff --git a/gtk/src/dialogs/fwupd.rs b/gtk/src/dialogs/fwupd.rs index 0a7b760..d0fe148 100644 --- a/gtk/src/dialogs/fwupd.rs +++ b/gtk/src/dialogs/fwupd.rs @@ -46,7 +46,8 @@ pub(crate) fn fwupd_dialog( // Exchange the button for a progress bar. if let (Some(stack), Some(progress)) = (stack.upgrade(), progress.upgrade()) { stack.set_visible_child(&progress); - progress.set_text("Queued for update".into()); + progress.set_text("Waiting".into()); + progress.set_fraction(0.0); } let _ = sender.send(FirmwareEvent::Fwupd( diff --git a/gtk/src/dialogs/system76.rs b/gtk/src/dialogs/system76.rs index 0e07161..bee0b5a 100644 --- a/gtk/src/dialogs/system76.rs +++ b/gtk/src/dialogs/system76.rs @@ -26,7 +26,8 @@ pub(crate) fn s76_system_dialog(data: &System76DialogData, upgradeable: bool, ha // Exchange the button for a progress bar. if let (Some(stack), Some(progress)) = (stack.upgrade(), progress.upgrade()) { stack.set_visible_child(&progress); - progress.set_text("Queued for update".into()); + progress.set_text("Waiting".into()); + progress.set_fraction(0.0); } let event = FirmwareEvent::S76System(*entity, digest.clone(), latest.clone()); diff --git a/gtk/src/lib.rs b/gtk/src/lib.rs index b2d7428..9170a3a 100644 --- a/gtk/src/lib.rs +++ b/gtk/src/lib.rs @@ -67,6 +67,7 @@ impl FirmwareWidget { let info_bar_label = cascade! { gtk::Label::new(None); ..set_line_wrap(true); + ..show(); }; let info_bar = cascade! { diff --git a/gtk/src/state.rs b/gtk/src/state.rs index 760629e..19ef7f9 100644 --- a/gtk/src/state.rs +++ b/gtk/src/state.rs @@ -241,6 +241,8 @@ impl State { // Exchange the button for a progress bar. if let (Some(stack), Some(progress)) = (stack.upgrade(), progress.upgrade()) { stack.set_visible_child(&progress); + progress.set_text("Waiting".into()); + progress.set_fraction(0.0); let _ = tx_progress.send(ActivateEvent::Activate(progress)); } diff --git a/gtk/src/views/devices.rs b/gtk/src/views/devices.rs index 3f00940..f3c5035 100644 --- a/gtk/src/views/devices.rs +++ b/gtk/src/views/devices.rs @@ -103,6 +103,7 @@ impl DevicesView { gtk::Box::new(gtk::Orientation::Vertical, 12); ..set_halign(gtk::Align::Center); ..set_margin_top(24); + ..set_margin_bottom(24); ..add(&system_header); ..add(&system_firmware); ..add(&device_header); diff --git a/gtk/src/widgets/mod.rs b/gtk/src/widgets/mod.rs index f620648..ae12be9 100644 --- a/gtk/src/widgets/mod.rs +++ b/gtk/src/widgets/mod.rs @@ -130,14 +130,6 @@ impl DeviceWidget { /// Activates when the widget's container's button is clicked. pub fn connect_upgrade_clicked(&self, func: F) { - let progress = self.progress.downgrade(); - self.button.connect_clicked(move |_| { - if let Some(progress) = progress.upgrade() { - progress.set_text("Waiting".into()); - progress.set_fraction(0.0); - } - - func(); - }); + self.button.connect_clicked(move |_| func()); } }