gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-anastasis-gtk] branch master updated: fix provider editing issues


From: gnunet
Subject: [taler-anastasis-gtk] branch master updated: fix provider editing issues
Date: Sun, 28 Mar 2021 00:24:12 +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 40bf845  fix provider editing issues
40bf845 is described below

commit 40bf84527eb98975a66c2e79ae8d5d331584e291
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun Mar 28 00:24:10 2021 +0100

    fix provider editing issues
---
 src/anastasis/anastasis-gtk_action.c               |  8 ++-
 .../anastasis-gtk_handle-policy-version-changed.c  | 57 +++++++++++++++++-----
 2 files changed, 51 insertions(+), 14 deletions(-)

diff --git a/src/anastasis/anastasis-gtk_action.c 
b/src/anastasis/anastasis-gtk_action.c
index f8d55aa..b14f9c3 100644
--- a/src/anastasis/anastasis-gtk_action.c
+++ b/src/anastasis/anastasis-gtk_action.c
@@ -1363,7 +1363,6 @@ action_challenge_selecting (void)
     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");
@@ -1372,6 +1371,13 @@ action_challenge_selecting (void)
     AG_show ("anastasis_gtk_main_window_prev_button");
     AG_hide ("anastasis_gtk_main_window_quit_button");
     AG_hide ("anastasis_gtk_main_window_forward_button");
+    {
+      GtkWidget *ge;
+
+      ge = GTK_WIDGET (GCG_get_main_window_object (
+                         "anastasis_gtk_provider_url_entry"));
+      gtk_widget_grab_focus (ge);
+    }
     return;
   }
   ri = json_object_get (redux_state,
diff --git a/src/anastasis/anastasis-gtk_handle-policy-version-changed.c 
b/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
index 9ad0bd7..a611848 100644
--- a/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
+++ b/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
@@ -31,6 +31,23 @@
 #include <jansson.h>
 
 
+/**
+ * Removes @a child from the container in @a user_data.
+ *
+ * @param child a child to remove
+ * @param user_data a `GtkContainer` to remove child from
+ */
+static void
+remove_child (GtkWidget *child,
+              gpointer user_data)
+{
+  GtkContainer *c = user_data;
+
+  gtk_container_remove (c,
+                        child);
+}
+
+
 /**
  * Function called with the results of #ANASTASIS_redux_action.
  *
@@ -68,7 +85,6 @@ update_policy (void)
   GtkSpinButton *sb;
   GtkEntry *ge;
   gint version;
-  json_t *args;
   const char *provider_url;
 
   if (NULL != ra)
@@ -78,29 +94,44 @@ update_policy (void)
   }
   {
     GtkTreeStore *ts;
+    GtkBox *box;
 
     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);
   }
   sb = GTK_SPIN_BUTTON (GCG_get_main_window_object (
                           "anastasis_gtk_policy_version_spin_button"));
   ge = GTK_ENTRY (GCG_get_main_window_object (
                     "anastasis_gtk_provider_url_entry"));
   provider_url = gtk_entry_get_text (ge);
+  if ( (0 == strlen (provider_url)) ||
+       ('/' != provider_url[strlen (provider_url) - 1]) )
+    return;
   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);
-  AG_hide ("anastasis_gtk_open_challenge_box");
-  ra = ANASTASIS_redux_action (redux_state,
-                               "change_version",
-                               args,
-                               &change_action_cb,
-                               NULL);
-  json_decref (args);
+
+  {
+    json_t *args;
+
+    args = json_pack ("{s:I, s:s}",
+                      "version",
+                      (json_int_t) version,
+                      "provider_url",
+                      provider_url);
+    GNUNET_assert (NULL != args);
+    ra = ANASTASIS_redux_action (redux_state,
+                                 "change_version",
+                                 args,
+                                 &change_action_cb,
+                                 NULL);
+    json_decref (args);
+  }
 }
 
 

-- 
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]