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 #6826


From: gnunet
Subject: [taler-anastasis-gtk] branch master updated: fix #6826
Date: Sun, 04 Apr 2021 20:08:10 +0200

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 bf00832  fix #6826
bf00832 is described below

commit bf00832eb862bbea39efc086ba6956d6704a96dc
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Sun Apr 4 20:08:06 2021 +0200

    fix #6826
---
 .../anastasis-gtk_handle-policy-version-changed.c  | 39 ++++++++++++++++++++
 src/anastasis/anastasis-gtk_io.c                   | 42 ++++++++++++++++++++--
 2 files changed, 78 insertions(+), 3 deletions(-)

diff --git a/src/anastasis/anastasis-gtk_handle-policy-version-changed.c 
b/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
index 722afd0..f9ee34f 100644
--- a/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
+++ b/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
@@ -86,12 +86,51 @@ update_policy (void)
   GtkEntry *ge;
   gint version;
   const char *provider_url;
+  GtkWidget *toplevel;
 
+  toplevel = gtk_widget_get_toplevel (
+    GTK_WIDGET (GCG_get_main_window_object (
+                  "anastasis_gtk_main_window")));
   if (NULL != AG_ra)
   {
     ANASTASIS_redux_action_cancel (AG_ra);
     AG_ra = NULL;
   }
+
+  if (NULL !=
+      json_object_get (AG_redux_state,
+                       "challenge_feedback"))
+  {
+    GtkWidget *diag;
+    gint ret;
+
+    diag = gtk_message_dialog_new (
+      GTK_WINDOW (toplevel),
+      GTK_DIALOG_MODAL,
+      GTK_MESSAGE_QUESTION,
+      GTK_BUTTONS_OK_CANCEL,
+      _ ("This action will reset all of your challenge solving progress!"));
+    ret = gtk_dialog_run (GTK_DIALOG (diag));
+    gtk_widget_destroy (diag);
+    switch (ret)
+    {
+    case GTK_RESPONSE_OK:
+      break;
+    default:
+      {
+        /* call action to reset view */
+        json_t *cp = json_incref (AG_redux_state);
+
+        AG_action_cb (NULL,
+                      TALER_EC_NONE,
+                      cp);
+        json_decref (cp);
+      }
+      /* user aborted */
+      return;
+    }
+  }
+
   {
     GtkTreeStore *ts;
     GtkBox *box;
diff --git a/src/anastasis/anastasis-gtk_io.c b/src/anastasis/anastasis-gtk_io.c
index 5e23f94..e682aca 100644
--- a/src/anastasis/anastasis-gtk_io.c
+++ b/src/anastasis/anastasis-gtk_io.c
@@ -170,6 +170,43 @@ save_directory_dialog_response_cb (GtkDialog *dialog,
     GNUNET_GTK_filechooser_get_filename_utf8 (GTK_FILE_CHOOSER (dialog));
   gtk_widget_destroy (GTK_WIDGET (dialog));
   g_object_unref (G_OBJECT (builder));
+
+  /* check if we should warn the user about writing 'core_secret' to disk */
+  {
+    json_t *cs;
+
+    cs = json_object_get (AG_redux_state,
+                          "core_secret");
+    if ( (NULL != cs) &&
+         (! json_is_null (cs)) )
+    {
+      GtkWidget *diag;
+      gint ret;
+      GtkWidget *toplevel;
+
+      toplevel = gtk_widget_get_toplevel (
+        GTK_WIDGET (GCG_get_main_window_object (
+                      "anastasis_gtk_main_window")));
+      diag = gtk_message_dialog_new (
+        GTK_WINDOW (toplevel),
+        GTK_DIALOG_MODAL,
+        GTK_MESSAGE_QUESTION,
+        GTK_BUTTONS_OK_CANCEL,
+        _ ("This will write your secret to disk in cleartext!"));
+      ret = gtk_dialog_run (GTK_DIALOG (diag));
+      gtk_widget_destroy (diag);
+      switch (ret)
+      {
+      case GTK_RESPONSE_OK:
+        break;
+      default:
+        /* user aborted */
+        return;
+      }
+    }
+  }
+
+  /* all good, do writing! */
   {
     const char *ana;
 
@@ -211,7 +248,9 @@ anastasis_gtk_main_window_save_as_button_clicked_cb 
(GtkButton *button,
 {
   GtkWidget *ad;
   GtkBuilder *builder;
+  GtkWidget *toplevel;
 
+  toplevel = gtk_widget_get_toplevel (GTK_WIDGET (button));
   builder = GNUNET_GTK_get_new_builder ("anastasis_gtk_save_file_dialog.glade",
                                         NULL);
   if (NULL == builder)
@@ -224,9 +263,6 @@ anastasis_gtk_main_window_save_as_button_clicked_cb 
(GtkButton *button,
   gtk_file_chooser_set_current_name (GTK_FILE_CHOOSER (ad),
                                      "untitled.ana");
   {
-    GtkWidget *toplevel;
-
-    toplevel = gtk_widget_get_toplevel (GTK_WIDGET (button));
     gtk_window_set_transient_for (GTK_WINDOW (ad),
                                   GTK_WINDOW (toplevel));
     gtk_window_present (GTK_WINDOW (ad));

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