[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis-gtk] branch master updated: handle new semi-successful
From: |
gnunet |
Subject: |
[taler-anastasis-gtk] branch master updated: handle new semi-successful state if policy download failed |
Date: |
Sun, 21 Mar 2021 15:46:57 +0100 |
This is an automated email from the git hooks/post-receive script.
grothoff pushed a commit to branch master
in repository anastasis-gtk.
The following commit(s) were added to refs/heads/master by this push:
new e9373fb handle new semi-successful state if policy download failed
e9373fb is described below
commit e9373fb992665c9d9cb017f551649fc62254277d
Author: Christian Grothoff <grothoff@gnunet.org>
AuthorDate: Sun Mar 21 15:46:52 2021 +0100
handle new semi-successful state if policy download failed
---
contrib/anastasis_gtk_main_window.glade | 30 ++++++++
src/anastasis/anastasis-gtk_action.c | 86 +++++++++++++++++-----
.../anastasis-gtk_handle-policy-version-changed.c | 41 +++++++++--
3 files changed, 131 insertions(+), 26 deletions(-)
diff --git a/contrib/anastasis_gtk_main_window.glade
b/contrib/anastasis_gtk_main_window.glade
index 377d8d9..f79cc18 100644
--- a/contrib/anastasis_gtk_main_window.glade
+++ b/contrib/anastasis_gtk_main_window.glade
@@ -95,6 +95,11 @@ Author: Christian Grothoff, Dennis Neufeld
<column type="gchararray"/>
</columns>
</object>
+ <object class="GtkAdjustment" id="policy_version_adjustment">
+ <property name="upper">4294967295</property>
+ <property name="step-increment">1</property>
+ <property name="page-increment">10</property>
+ </object>
<object class="GtkImage" id="restore_image">
<property name="visible">True</property>
<property name="can-focus">False</property>
@@ -412,6 +417,10 @@ Author: Christian Grothoff, Dennis Neufeld
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
<property name="label"
translatable="yes">Where do you live?</property>
<attributes>
<attribute name="weight" value="bold"/>
@@ -715,6 +724,10 @@ Author: Christian Grothoff, Dennis Neufeld
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
<property name="label"
translatable="yes">Who are you?</property>
<attributes>
<attribute name="style" value="normal"/>
@@ -1013,6 +1026,10 @@ Author: Christian Grothoff, Dennis Neufeld
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
<property name="label"
translatable="yes">Configure authorization methods!</property>
<attributes>
<attribute name="weight" value="bold"/>
@@ -1111,6 +1128,7 @@ Author: Christian Grothoff, Dennis Neufeld
<property name="visible">True</property>
<property name="can-focus">False</property>
<property name="margin-start">5</property>
+ <property name="margin-end">5</property>
<property name="margin-top">5</property>
<property name="margin-bottom">5</property>
<property name="label"
translatable="yes">Review recovery policies</property>
@@ -1214,8 +1232,10 @@ Author: Christian Grothoff, Dennis Neufeld
<object
class="GtkSpinButton" id="anastasis_gtk_policy_version_spin_button">
<property
name="visible">True</property>
<property
name="can-focus">True</property>
+ <property
name="margin-end">5</property>
<property name="text"
translatable="yes">0</property>
<property
name="input-purpose">number</property>
+ <property
name="adjustment">policy_version_adjustment</property>
<property
name="climb-rate">1</property>
<property
name="numeric">True</property>
<signal name="changed"
handler="anastasis_gtk_policy_version_spin_button_changed_cb" swapped="no"/>
@@ -1229,6 +1249,7 @@ Author: Christian Grothoff, Dennis Neufeld
<object class="GtkEntry"
id="anastasis_gtk_provider_url_entry">
<property
name="visible">True</property>
<property
name="can-focus">True</property>
+ <property
name="margin-end">5</property>
<property
name="width-chars">40</property>
<property
name="primary-icon-stock">gtk-network</property>
<property
name="placeholder-text" translatable="yes">https://</property>
@@ -1252,6 +1273,7 @@ Author: Christian Grothoff, Dennis Neufeld
<packing>
<property
name="expand">True</property>
<property
name="fill">True</property>
+ <property
name="padding">5</property>
<property
name="position">0</property>
</packing>
</child>
@@ -1353,6 +1375,10 @@ Author: Christian Grothoff, Dennis Neufeld
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
+ <property name="margin-top">5</property>
+ <property name="margin-bottom">5</property>
<property name="label"
translatable="yes">Select challenge to recover secret:</property>
<attributes>
<attribute name="weight" value="bold"/>
@@ -1476,6 +1502,8 @@ Author: Christian Grothoff, Dennis Neufeld
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
<property name="margin-top">10</property>
<property
name="margin-bottom">10</property>
<property name="label"
translatable="yes">Provide secret to backup:</property>
@@ -1607,6 +1635,8 @@ Author: Christian Grothoff, Dennis Neufeld
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can-focus">False</property>
+ <property name="margin-start">5</property>
+ <property name="margin-end">5</property>
<property name="margin-top">10</property>
<property name="margin-bottom">5</property>
<property name="label"
translatable="yes">Payment required:</property>
diff --git a/src/anastasis/anastasis-gtk_action.c
b/src/anastasis/anastasis-gtk_action.c
index e04ee6a..f8d55aa 100644
--- a/src/anastasis/anastasis-gtk_action.c
+++ b/src/anastasis/anastasis-gtk_action.c
@@ -246,10 +246,10 @@ create_attribute_widget (const struct GNUNET_HashCode *uh,
glabel = gtk_label_new (label);
gtk_box_pack_start (box, /* parent */
- glabel, /* child */
- false, /* expand */
- false, /* fill */
- 5); /* padding */
+ glabel, /* child */
+ false, /* expand */
+ false, /* fill */
+ 5); /* padding */
gtk_widget_show (glabel);
}
GNUNET_assert (0 <
@@ -260,10 +260,10 @@ create_attribute_widget (const struct GNUNET_HashCode *uh,
gtk_widget_set_tooltip_text (w,
tooltip);
gtk_box_pack_start (box, /* parent */
- w, /* child */
- false, /* expand */
- false, /* fill */
- 5); /* padding */
+ w, /* child */
+ false, /* expand */
+ false, /* fill */
+ 5); /* padding */
gtk_widget_show (GTK_WIDGET (box));
GNUNET_assert (GNUNET_OK ==
GNUNET_CONTAINER_multihashmap_put (AG_entry_attributes,
@@ -276,10 +276,10 @@ create_attribute_widget (const struct GNUNET_HashCode *uh,
pbox = GTK_BOX (GCG_get_main_window_object (
"anastasis_gtk_identity_vbox"));
gtk_box_pack_start (pbox, /* parent */
- GTK_WIDGET (box), /* child */
- false, /* expand */
- false, /* fill */
- 5); /* padding */
+ GTK_WIDGET (box), /* child */
+ false, /* expand */
+ false, /* fill */
+ 5); /* padding */
}
return w;
@@ -1325,8 +1325,55 @@ action_challenge_selecting (void)
GtkBox *box;
json_t *rd;
json_t *ri;
+ json_t *re;
AG_hide_all_frames ();
+ re = json_object_get (redux_state,
+ "recovery_error");
+ if (NULL != re)
+ {
+ bool offline;
+ const char *hint;
+ struct GNUNET_JSON_Specification espec[] = {
+ GNUNET_JSON_spec_bool ("offline",
+ &offline),
+ GNUNET_JSON_spec_string ("hint",
+ &hint),
+ GNUNET_JSON_spec_end ()
+ };
+ GtkTreeStore *ts;
+ GtkBox *box;
+
+ if (GNUNET_OK !=
+ GNUNET_JSON_parse (re,
+ espec,
+ NULL, NULL))
+ {
+ GNUNET_break_op (0);
+ AG_error ("'recovery_error' did not parse correctly");
+ return;
+ }
+ AG_error (hint);
+ ts = GTK_TREE_STORE (GCG_get_main_window_object (
+ "policy_review_treestore"));
+ gtk_tree_store_clear (ts);
+ box = GTK_BOX (GCG_get_main_window_object (
+ "anastasis_gtk_challenge_list_box"));
+ GNUNET_assert (NULL != box);
+ gtk_container_foreach (GTK_CONTAINER (box),
+ &remove_child,
+ box);
+
+ AG_insensitive ("anastasis_gtk_review_policy_treeview");
+ AG_show ("anastasis_gtk_open_challenge_box");
+ AG_show ("anastasis_gtk_main_control_vbox");
+ AG_show ("anastasis_gtk_main_window_save_as_button");
+ AG_show ("anastasis_gtk_challenge_frame");
+ AG_show ("anastasis_gtk_main_window_prev_button");
+ AG_hide ("anastasis_gtk_main_window_quit_button");
+ AG_hide ("anastasis_gtk_main_window_forward_button");
+ return;
+ }
ri = json_object_get (redux_state,
"recovery_information");
{
@@ -1356,9 +1403,9 @@ action_challenge_selecting (void)
gtk_spin_button_set_value (sb,
version);
ge = GTK_ENTRY (GCG_get_main_window_object (
- "anastasis_gtk_provider_url_entry"));
+ "anastasis_gtk_provider_url_entry"));
gtk_entry_set_text (ge,
- provider_url);
+ provider_url);
}
rd = json_object_get (redux_state,
"recovery_document");
@@ -1565,17 +1612,18 @@ action_challenge_selecting (void)
NULL);
gtk_widget_show (GTK_WIDGET (b));
gtk_box_pack_start (box,
- b, /* child */
- false, /* expand */
- false, /* fill */
- 5 /* padding */);
+ b, /* child */
+ false, /* expand */
+ false, /* fill */
+ 5 /* padding */);
}
+ AG_sensitive ("anastasis_gtk_review_policy_treeview");
AG_show ("anastasis_gtk_open_challenge_box");
AG_show ("anastasis_gtk_main_control_vbox");
AG_show ("anastasis_gtk_main_window_save_as_button");
AG_show ("anastasis_gtk_challenge_frame");
+ AG_show ("anastasis_gtk_main_window_prev_button");
AG_hide ("anastasis_gtk_main_window_quit_button");
- AG_hide ("anastasis_gtk_main_window_prev_button");
AG_hide ("anastasis_gtk_main_window_forward_button");
}
diff --git a/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
b/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
index b4f6dc1..9ad0bd7 100644
--- a/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
+++ b/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
@@ -31,6 +31,33 @@
#include <jansson.h>
+/**
+ * Function called with the results of #ANASTASIS_redux_action.
+ *
+ * @param cls closure
+ * @param error_code Error code
+ * @param response new state as result or config information of a provider
+ */
+static void
+change_action_cb (void *cls,
+ enum TALER_ErrorCode error_code,
+ json_t *response)
+{
+ (void) cls;
+ ra = NULL;
+ if (TALER_EC_NONE != error_code)
+ {
+ AG_error ("Error: %s (%d)\n",
+ TALER_ErrorCode_get_hint (error_code),
+ error_code);
+ return;
+ }
+ AG_action_cb (NULL,
+ TALER_EC_NONE,
+ response);
+}
+
+
/**
* The version or provider URL was edited by the user. Try to
* download the specified version from the specified provider.
@@ -51,27 +78,27 @@ update_policy (void)
}
{
GtkTreeStore *ts;
-
+
ts = GTK_TREE_STORE (GCG_get_main_window_object (
"policy_review_treestore"));
gtk_tree_store_clear (ts);
}
sb = GTK_SPIN_BUTTON (GCG_get_main_window_object (
-
"anastasis_gtk_policy_version_spin_button"));
+ "anastasis_gtk_policy_version_spin_button"));
ge = GTK_ENTRY (GCG_get_main_window_object (
-
"anastasis_gtk_provider_url_entry"));
+ "anastasis_gtk_provider_url_entry"));
provider_url = gtk_entry_get_text (ge);
version = gtk_spin_button_get_value_as_int (sb);
args = json_pack ("{s:I, s:s}",
"version",
(json_int_t) version,
- "provider_url",
- provider_url);
+ "provider_url",
+ provider_url);
AG_hide ("anastasis_gtk_open_challenge_box");
ra = ANASTASIS_redux_action (redux_state,
"change_version",
args,
- &AG_action_cb,
+ &change_action_cb,
NULL);
json_decref (args);
}
@@ -87,7 +114,7 @@ anastasis_gtk_policy_version_spin_button_changed_cb
(GtkEditable *entry,
void
anastasis_gtk_provider_url_entry_changed_cb (GtkEditable *entry,
- gpointer user_data)
+ gpointer user_data)
{
update_policy ();
}
--
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-anastasis-gtk] branch master updated: handle new semi-successful state if policy download failed,
gnunet <=