[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis-gtk] 05/07: fix
From: |
gnunet |
Subject: |
[taler-anastasis-gtk] 05/07: fix |
Date: |
Fri, 09 Oct 2020 12:03:41 +0200 |
This is an automated email from the git hooks/post-receive script.
dennis-neufeld pushed a commit to branch master
in repository anastasis-gtk.
commit 949d4141fe1a16c368cb312b9aaa515e6a0a5b1d
Author: Dennis Neufeld <dennis.neufeld@students.bfh.ch>
AuthorDate: Thu Oct 8 15:48:20 2020 +0200
fix
---
contrib/anastasis_gtk_main_window.glade | 8 ++-
src/anastasis/anastasis-gtk.c | 103 +++++++++++++++++++++++---------
src/anastasis/anastasis-gtk_helper.c | 24 ++++++++
3 files changed, 104 insertions(+), 31 deletions(-)
diff --git a/contrib/anastasis_gtk_main_window.glade
b/contrib/anastasis_gtk_main_window.glade
index de704ac..c968a06 100644
--- a/contrib/anastasis_gtk_main_window.glade
+++ b/contrib/anastasis_gtk_main_window.glade
@@ -1296,7 +1296,9 @@
<property
name="activate_on_single_click">True</property>
<signal name="row-activated"
handler="anastasis_gtk_continent_activated" swapped="no"/>
<child internal-child="selection">
- <object
class="GtkTreeSelection"/>
+ <object class="GtkTreeSelection">
+ <signal name="changed"
handler="anastasis_gtk_continent_unselected" swapped="no"/>
+ </object>
</child>
<child>
<object
class="GtkTreeViewColumn" id="continent_column">
@@ -1325,7 +1327,9 @@
<property
name="activate_on_single_click">True</property>
<signal name="row-activated"
handler="anastasis_gtk_country_activated" swapped="no"/>
<child internal-child="selection">
- <object
class="GtkTreeSelection"/>
+ <object class="GtkTreeSelection">
+ <signal name="changed"
handler="anastasis_gtk_country_unselected" swapped="no"/>
+ </object>
</child>
<child>
<object
class="GtkTreeViewColumn" id="country_column">
diff --git a/src/anastasis/anastasis-gtk.c b/src/anastasis/anastasis-gtk.c
index 9035c5a..22d21b8 100644
--- a/src/anastasis/anastasis-gtk.c
+++ b/src/anastasis/anastasis-gtk.c
@@ -228,7 +228,7 @@ anastasis_gtk_continent_activated (GtkTreeView *tree_view,
GtkTreeIter iter;
GtkTreeModel *model = gtk_tree_view_get_model (tree_view);
GtkListStore *country_liststore = GTK_LIST_STORE
(GCG_get_main_window_object ("country_liststore"));
-
+
gtk_list_store_clear (country_liststore);
gtk_widget_set_sensitive (GTK_WIDGET (GCG_get_main_window_object (
"anastasis_gtk_main_window_forward_button")), false);
@@ -308,6 +308,48 @@ anastasis_gtk_country_activated (GtkTreeView *tree_view,
}
+/**
+ * Callback invoked if a country is unselected (unselected signal).
+ *
+ * @param selection A GtkTreeSelection.
+ * @param user_data user data set when the signal handler was connected.
+ */
+void
+anastasis_gtk_continent_unselected (GtkTreeSelection *selection,
+ gpointer user_data)
+{
+ GtkTreeModel *model;
+
+ if (! gtk_tree_selection_get_selected (selection, &model, NULL))
+ ANASTASIS_redux_action (redux_state,
+ "unselect_continent",
+ NULL,
+ &action_cb,
+ NULL);
+}
+
+
+/**
+ * Callback invoked if a country is unselected (unselected signal).
+ *
+ * @param selection A GtkTreeSelection.
+ * @param user_data user data set when the signal handler was connected.
+ */
+void
+anastasis_gtk_country_unselected (GtkTreeSelection *selection,
+ gpointer user_data)
+{
+ GtkTreeModel *model;
+
+ if (! gtk_tree_selection_get_selected (selection, &model, NULL))
+ ANASTASIS_redux_action (redux_state,
+ "unselect_country",
+ NULL,
+ &action_cb,
+ NULL);
+}
+
+
/**
* Callback invoked if the the "back"-button is clicked.
*
@@ -318,42 +360,45 @@ void
anastasis_gtk_main_window_back_clicked (GObject *object,
gpointer user_data)
{
- const char *state = json_string_value (json_object_get (redux_state,
"backup-state"));
+ const char *state = json_string_value (json_object_get (redux_state,
"backup_state"));
if (!state)
- state = json_string_value (json_object_get (redux_state,
"recovery-state"));
- GNUNET_assert (state);
+ state = json_string_value (json_object_get (redux_state,
"recovery_state"));
+ GNUNET_assert (NULL != state);
- if (gtk_widget_is_visible (GTK_WIDGET (GCG_get_main_window_object (
- "anastasis_gtk_continent_frame"))))
+ //show continent frame, hide identity frame
+ if (check_state (redux_state, "UserAttributesCollectionState") &&
+ gtk_widget_is_visible (GTK_WIDGET (GCG_get_main_window_object (
+ "anastasis_gtk_identity_frame"))))
{
- /** FIXME: Show warning in this case, because state is lost afterwards
*/
- gtk_widget_show (GTK_WIDGET (GCG_get_main_window_object (
- "anastasis_gtk_start_frame")));
- gtk_widget_hide (GTK_WIDGET (GCG_get_main_window_object (
- "anastasis_gtk_main_control_vbox")));
- gtk_widget_hide (GTK_WIDGET (GCG_get_main_window_object (
- "anastasis_gtk_continent_frame")));
- gtk_widget_set_sensitive (GTK_WIDGET (GCG_get_main_window_object (
-
"anastasis_gtk_main_window_forward_button")), false);
+ ANASTASIS_redux_action (redux_state,
+ "back",
+ NULL,
+ &action_cb,
+ NULL);
}
- if (gtk_widget_is_visible (GTK_WIDGET (GCG_get_main_window_object (
- "anastasis_gtk_identity_frame"))))
+
+ //show identity frame, hide authentication frame
+ if (check_state (redux_state, "AuthenticationsEditingState") &&
+ gtk_widget_is_visible (GTK_WIDGET (GCG_get_main_window_object (
+
"anastasis_gtk_b_authentication_frame"))))
{
- gtk_widget_show (GTK_WIDGET (GCG_get_main_window_object (
- "anastasis_gtk_continent_frame")));
- gtk_widget_hide (GTK_WIDGET (GCG_get_main_window_object (
- "anastasis_gtk_identity_frame")));
+ ANASTASIS_redux_action (redux_state,
+ "back",
+ NULL,
+ &action_cb,
+ NULL);
}
- if (gtk_widget_is_visible (GTK_WIDGET (GCG_get_main_window_object (
+
+ //show identity frame, hide authentication frame
+ if (check_state (redux_state, "AuthenticationsEditingState") &&
+ gtk_widget_is_visible (GTK_WIDGET (GCG_get_main_window_object (
"anastasis_gtk_b_authentication_frame"))))
{
- gtk_widget_show (GTK_WIDGET (GCG_get_main_window_object (
- "anastasis_gtk_identity_frame")));
- gtk_widget_hide (GTK_WIDGET (GCG_get_main_window_object (
-
"anastasis_gtk_b_authentication_frame")));
- if (check_attributes_fullfilled ())
- gtk_widget_set_sensitive (GTK_WIDGET (GCG_get_main_window_object (
-
"anastasis_gtk_main_window_forward_button")), true);
+ ANASTASIS_redux_action (redux_state,
+ "back",
+ NULL,
+ &action_cb,
+ NULL);
}
}
diff --git a/src/anastasis/anastasis-gtk_helper.c
b/src/anastasis/anastasis-gtk_helper.c
index a9d5218..58d90d7 100644
--- a/src/anastasis/anastasis-gtk_helper.c
+++ b/src/anastasis/anastasis-gtk_helper.c
@@ -212,6 +212,18 @@ action_cb (void *cls,
if (NULL != result_state)
{
redux_state = json_deep_copy (result_state);
+ if (check_state (redux_state, "ContinentSelectionState"))
+ {
+ GtkListStore *country_liststore = GTK_LIST_STORE
(GCG_get_main_window_object ("country_liststore"));
+
+ gtk_list_store_clear (country_liststore);
+ gtk_widget_set_sensitive (GTK_WIDGET (GCG_get_main_window_object (
+
"anastasis_gtk_main_window_forward_button")), false);
+ gtk_widget_hide (GTK_WIDGET (GCG_get_main_window_object (
+
"anastasis_gtk_country_selection_image")));
+ gtk_widget_show (GTK_WIDGET (GCG_get_main_window_object (
+
"anastasis_gtk_continent_selection_image")));
+ }
if (check_state (redux_state, "CountrySelectionState"))
{
init_country_list (redux_state, json_string_value (json_object_get
(redux_state, "selected_continent")));
@@ -219,6 +231,18 @@ action_cb (void *cls,
"anastasis_gtk_continent_selection_image")));
gtk_widget_show (GTK_WIDGET (GCG_get_main_window_object (
"anastasis_gtk_country_selection_image")));
+ gtk_widget_show (GTK_WIDGET (GCG_get_main_window_object (
+ "anastasis_gtk_continent_frame")));
+ gtk_widget_hide (GTK_WIDGET (GCG_get_main_window_object (
+ "anastasis_gtk_identity_frame")));
+ gtk_widget_set_sensitive (GTK_WIDGET (GCG_get_main_window_object (
+
"anastasis_gtk_main_window_forward_button")), false);
+ gtk_widget_show (GTK_WIDGET (GCG_get_main_window_object (
+
"anastasis_gtk_continent_selection_image")));
+ gtk_widget_show (GTK_WIDGET (GCG_get_main_window_object (
+
"anastasis_gtk_country_selection_image")));
+ gtk_widget_hide (GTK_WIDGET (GCG_get_main_window_object (
+
"anastasis_gtk_user_attributes_image")));
}
if (check_state (redux_state, "UserAttributesCollectionState"))
{
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
- [taler-anastasis-gtk] branch master updated (c215876 -> 2527cca), gnunet, 2020/10/09
- [taler-anastasis-gtk] 01/07: fix, gnunet, 2020/10/09
- [taler-anastasis-gtk] 04/07: fix change continent, gnunet, 2020/10/09
- [taler-anastasis-gtk] 03/07: fix, gnunet, 2020/10/09
- [taler-anastasis-gtk] 02/07: fix, gnunet, 2020/10/09
- [taler-anastasis-gtk] 06/07: fix country/continent unselect, gnunet, 2020/10/09
- [taler-anastasis-gtk] 05/07: fix,
gnunet <=
- [taler-anastasis-gtk] 07/07: rework add_authentication, gnunet, 2020/10/09