gnunet-svn
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]