diff --git a/Cargo.toml b/Cargo.toml index 02559d47..8ac6e3fa 100755 --- a/Cargo.toml +++ b/Cargo.toml @@ -196,5 +196,3 @@ appdata_paths = [ "$APPDATA/$PUBLISHER/$PRODUCTNAME", "$LOCALAPPDATA/$PRODUCTNAME", ] -[profile.dev] -debug = 0 diff --git a/src/home/spaces_dock.rs b/src/home/spaces_dock.rs index 79023fa2..42934f1a 100755 --- a/src/home/spaces_dock.rs +++ b/src/home/spaces_dock.rs @@ -189,6 +189,8 @@ live_design! { pub struct Profile { #[deref] view: View, + #[rust(VerificationState::Unverified)] + verification_state: VerificationState, } impl Widget for Profile { @@ -196,32 +198,31 @@ impl Widget for Profile { if let Event::Actions(actions) = event { for action in actions { if let Some(VerificationStateAction::Update(state)) = action.downcast_ref() { - match state { - VerificationState::Unknown => { - self.view(id!(verification_yes)).set_visible_and_redraw(cx, false); - self.view(id!(verification_no)).set_visible_and_redraw(cx, false); - self.view(id!(verification_unk)).set_visible_and_redraw(cx, true); - } - VerificationState::Verified => { - self.view(id!(verification_yes)).set_visible_and_redraw(cx, true); - self.view(id!(verification_no)).set_visible_and_redraw(cx, false); - self.view(id!(verification_unk)).set_visible_and_redraw(cx, false); - } - VerificationState::Unverified => { - self.view(id!(verification_yes)).set_visible_and_redraw(cx, false); - self.view(id!(verification_no)).set_visible_and_redraw(cx, true); - self.view(id!(verification_unk)).set_visible_and_redraw(cx, false); - } - } + self.verification_state = *state } } } - self.redraw(cx); - self.view.handle_event(cx, event, scope); + self.view.handle_event(cx, event, scope) } fn draw_walk(&mut self, cx: &mut Cx2d, scope: &mut Scope, walk: Walk) -> DrawStep { - self.redraw(cx); + match self.verification_state { + VerificationState::Unknown => { + self.view(id!(verification_yes)).set_visible(false); + self.view(id!(verification_no)).set_visible(false); + self.view(id!(verification_unk)).set_visible(true); + } + VerificationState::Verified => { + self.view(id!(verification_yes)).set_visible(true); + self.view(id!(verification_no)).set_visible(false); + self.view(id!(verification_unk)).set_visible(false); + } + VerificationState::Unverified => { + self.view(id!(verification_yes)).set_visible(false); + self.view(id!(verification_no)).set_visible(true); + self.view(id!(verification_unk)).set_visible(false); + } + } self.view.draw_walk(cx, scope, walk) } }