From 1e7f448b4d54f4af3ed705ebaff5838262b25d4c Mon Sep 17 00:00:00 2001 From: Dan Breslau Date: Fri, 5 Aug 2016 17:01:17 -0400 Subject: [PATCH] Fixed (again) how the Add, Edit, Remove, and Send buttons are enabled/disabled --- src/moonshot-custom-vbox.vala | 8 +++++++- src/moonshot-idcard-widget.vala | 29 +++++++++++++++++++++++------ 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/src/moonshot-custom-vbox.vala b/src/moonshot-custom-vbox.vala index d4d2a9c..7c385c7 100644 --- a/src/moonshot-custom-vbox.vala +++ b/src/moonshot-custom-vbox.vala @@ -45,7 +45,7 @@ class CustomVBox : VBox set_spacing(spacing); } - public void receive_expanded_event(IdCardWidget id_card_widget) + internal void receive_expanded_event(IdCardWidget id_card_widget) { var list = get_children(); foreach (Widget id_card in list) @@ -58,6 +58,12 @@ class CustomVBox : VBox check_resize(); } + internal void receive_collapsed_event(IdCardWidget id_card_widget) + { + current_idcard = null; + check_resize(); + } + public void add_id_card_widget(IdCardWidget id_card_widget) { pack_start(id_card_widget, false, false); diff --git a/src/moonshot-idcard-widget.vala b/src/moonshot-idcard-widget.vala index dd36b5e..3b07ce5 100644 --- a/src/moonshot-idcard-widget.vala +++ b/src/moonshot-idcard-widget.vala @@ -50,17 +50,24 @@ class IdCardWidget : Box } public signal void expanded(); + public signal void collapsed(); - public void collapse() + private void select() { - is_selected = false; - update_id_card_label(); + expand(); + this.expanded(); + } - set_idcard_color(); + private void unselect() + { + collapse(); + this.collapsed(); } public void expand() { + logger.trace("expand"); + is_selected = true; update_id_card_label(); @@ -68,12 +75,22 @@ class IdCardWidget : Box this.expanded(); } + public void collapse() + { + logger.trace("collapse"); + + is_selected = false; + update_id_card_label(); + + set_idcard_color(); + } + private bool button_press_cb() { if (is_selected) - collapse(); + unselect(); else - expand(); + select(); return false; } -- 2.1.4