[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis-gtk] 01/02: worked on id attributes
From: |
gnunet |
Subject: |
[taler-anastasis-gtk] 01/02: worked on id attributes |
Date: |
Wed, 16 Sep 2020 10:37:14 +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 204f21df85d65cb3269232c594e9b7bccb1fb667
Author: Dennis Neufeld <dennis.neufeld@students.bfh.ch>
AuthorDate: Wed Sep 16 09:35:34 2020 +0200
worked on id attributes
---
contrib/anastasis_gtk_main_window.glade | 59 ++++++++++++++++++++++++++-------
src/anastasis/anastasis-gtk_helper.c | 50 ++++++++++++++++++++++++++++
2 files changed, 97 insertions(+), 12 deletions(-)
diff --git a/contrib/anastasis_gtk_main_window.glade
b/contrib/anastasis_gtk_main_window.glade
index ee59fa3..045c017 100644
--- a/contrib/anastasis_gtk_main_window.glade
+++ b/contrib/anastasis_gtk_main_window.glade
@@ -292,12 +292,11 @@
<property name="can_focus">False</property>
<property
name="orientation">vertical</property>
<child>
- <object class="GtkBox"
id="anastasis_gtk_id_attr_full_name">
+ <object class="GtkBox"
id="anastasis_gtk_ia_full_name">
<property
name="name">anastasis_gtk_id_attr_full_name</property>
- <property
name="visible">True</property>
<property
name="can_focus">False</property>
<child>
- <object class="GtkLabel"
id="label_id_attr_full_name">
+ <object class="GtkLabel"
id="anastasis_gtk_ia_full_name_label">
<property
name="visible">True</property>
<property
name="can_focus">False</property>
<property
name="halign">start</property>
@@ -313,7 +312,7 @@
</packing>
</child>
<child>
- <object class="GtkEntry">
+ <object class="GtkEntry"
id="anastasis_gtk_ia_full_name_entry">
<property
name="visible">True</property>
<property
name="can_focus">True</property>
<property
name="hexpand">True</property>
@@ -333,11 +332,10 @@
</packing>
</child>
<child>
- <object class="GtkBox">
- <property
name="visible">True</property>
+ <object class="GtkBox"
id="anastasis_gtk_ia_ahv">
<property
name="can_focus">False</property>
<child>
- <object class="GtkLabel">
+ <object class="GtkLabel"
id="anastasis_gtk_ia_ahv_label">
<property
name="visible">True</property>
<property
name="can_focus">False</property>
<property
name="halign">start</property>
@@ -353,7 +351,7 @@
</packing>
</child>
<child>
- <object class="GtkEntry">
+ <object class="GtkEntry"
id="anastasis_gtk_ia_ahv_entry">
<property
name="visible">True</property>
<property
name="can_focus">True</property>
<property
name="hexpand">True</property>
@@ -373,11 +371,10 @@
</packing>
</child>
<child>
- <object class="GtkBox">
- <property
name="visible">True</property>
+ <object class="GtkBox"
id="anastasis_gtk_ia_ssn">
<property
name="can_focus">False</property>
<child>
- <object class="GtkLabel">
+ <object class="GtkLabel"
id="anastasis_gtk_ia_ssn_label">
<property
name="visible">True</property>
<property
name="can_focus">False</property>
<property
name="halign">start</property>
@@ -393,7 +390,7 @@
</packing>
</child>
<child>
- <object class="GtkEntry">
+ <object class="GtkEntry"
id="anastasis_gtk_ia_ssn_entry">
<property
name="visible">True</property>
<property
name="can_focus">True</property>
<property
name="hexpand">True</property>
@@ -412,6 +409,44 @@
<property name="position">2</property>
</packing>
</child>
+ <child>
+ <object class="GtkBox"
id="anastasis_gtk_ia_birthdate">
+ <property
name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel"
id="anastasis_gtk_ia_birthdate_label">
+ <property
name="visible">True</property>
+ <property
name="can_focus">False</property>
+ <property
name="hexpand">True</property>
+ <property name="label"
translatable="yes">Birthdate:</property>
+ </object>
+ <packing>
+ <property
name="expand">False</property>
+ <property
name="fill">True</property>
+ <property
name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar"
id="anastasis_gtk_ia_birthdate_cal">
+ <property
name="visible">True</property>
+ <property
name="can_focus">True</property>
+ <property
name="hexpand">True</property>
+ <property
name="year">2020</property>
+ <property name="month">8</property>
+ <property name="day">16</property>
+ </object>
+ <packing>
+ <property
name="expand">False</property>
+ <property
name="fill">True</property>
+ <property
name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property
name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
</object>
</child>
</object>
diff --git a/src/anastasis/anastasis-gtk_helper.c
b/src/anastasis/anastasis-gtk_helper.c
index ddd0f01..942fa3e 100644
--- a/src/anastasis/anastasis-gtk_helper.c
+++ b/src/anastasis/anastasis-gtk_helper.c
@@ -106,8 +106,11 @@ action_cb (void *cls,
if (check_state (redux_state, "ReduxContinentSelectedState"))
init_country_list (redux_state, json_string_value (json_object_get
(redux_state, "selected_continent")));
if (check_state (redux_state, "ReduxCountrySelectedState"))
+ {
gtk_widget_set_sensitive (GTK_WIDGET (GCG_get_main_window_object (
"anastasis_gtk_main_window_forward_button")), true);
+ init_id_attr (redux_state, json_string_value (json_object_get
(redux_state, "selected_country")));
+ }
if (0 == persist_state (redux_state))
return;
@@ -207,7 +210,54 @@ void
init_id_attr (json_t *state,
const char *country)
{
+ GList *children, *iter;
+ size_t index;
+ json_t *id_attr;
json_t *id_attributes = json_object_get (state, "required_attributes");
+
+ /**
+ * FIXME: something is wrong here...
+ children = gtk_container_get_children (GTK_CONTAINER
(GCG_get_main_window_object (
+
"anastasis_gtk_identity_frame")));
+ for (iter = children; iter != NULL; iter = g_list_next (iter))
+ gtk_widget_hide (GTK_WIDGET (iter->data));
+ g_list_free (children);
+ */
+
+ json_array_foreach (id_attributes, index, id_attr)
+ {
+ char *widget_name = json_string_value (json_object_get (id_attr,
"widget"));
+ char *attr_type = json_string_value (json_object_get (id_attr,
"type"));
+ char *attr_name = json_string_value (json_object_get (id_attr,
"name"));
+ char *attr_label = json_string_value (json_object_get (id_attr,
"label"));
+
+ if (widget_name)
+ {
+ char *label_widget;
+ GNUNET_asprintf (&label_widget,
+ "%s_label",
+ widget_name);
+ gtk_label_set_text (GTK_LABEL (GCG_get_main_window_object
(label_widget)), attr_label); //FIXME: i18n
+ gtk_widget_show (GTK_WIDGET (GCG_get_main_window_object
(widget_name)));
+
+ GNUNET_free (label_widget);
+ }
+ else if (0 == strcmp (attr_type, "string"))
+ {
+ /**
+ * FIXME: create new widget
+ */
+ }
+ else if (0 == strcmp (attr_type, "date"))
+ {
+ /**
+ * FIXME: create new widget
+ */
+ }
+ /**
+ * FIXME: handle other types
+ */
+ }
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.