[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[taler-anastasis-gtk] branch master updated: -fix provider selection
From: |
gnunet |
Subject: |
[taler-anastasis-gtk] branch master updated: -fix provider selection |
Date: |
Wed, 14 Jul 2021 12:02:09 +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 784466a -fix provider selection
784466a is described below
commit 784466a53bae417bd3cc40bde1f1e35d3452212a
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Wed Jul 14 12:02:07 2021 +0200
-fix provider selection
---
contrib/anastasis_gtk_main_window.glade | 4 +-
src/anastasis/anastasis-gtk_action.c | 77 ++++++++++++++--------
.../anastasis-gtk_handle-policy-version-changed.c | 13 ++++
src/anastasis/anastasis-gtk_helper.c | 8 +--
src/anastasis/anastasis-gtk_helper.h | 34 ++++++----
5 files changed, 87 insertions(+), 49 deletions(-)
diff --git a/contrib/anastasis_gtk_main_window.glade
b/contrib/anastasis_gtk_main_window.glade
index 4a33274..593fcfd 100644
--- a/contrib/anastasis_gtk_main_window.glade
+++ b/contrib/anastasis_gtk_main_window.glade
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.38.2
+<!-- Generated with glade 3.38.2
Copyright (C) Anastasis SARL
@@ -3565,7 +3565,7 @@ choose a different provider.</property>
</packing>
</child>
<child>
- <object class="GtkBox"
id="secret_identification_vbox">
+ <object class="GtkBox"
id="anastasis_gtk_secret_identification_vbox">
<property
name="visible">True</property>
<property
name="can-focus">False</property>
<property
name="halign">start</property>
diff --git a/src/anastasis/anastasis-gtk_action.c
b/src/anastasis/anastasis-gtk_action.c
index f01bcab..7d8c0f5 100644
--- a/src/anastasis/anastasis-gtk_action.c
+++ b/src/anastasis/anastasis-gtk_action.c
@@ -1068,6 +1068,7 @@ update_entry (const char *name,
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
"`%s' is not a GtkEntry!\n",
name);
+ return;
}
old = gtk_entry_get_text (entry);
if (NULL == old)
@@ -2009,27 +2010,12 @@ action_secret_selecting (void)
json_t *ri;
json_t *re;
- AG_hide_all_frames ();
- {
- json_t *aps;
- GtkComboBoxText *bt;
- const json_t *ap;
- const char *provider_url;
-
- bt = GTK_COMBO_BOX_TEXT (GCG_get_main_window_object (
- "anastasis_gtk_provider_url_combo_box_text"));
- gtk_combo_box_text_remove_all (bt);
- aps = json_object_get (AG_redux_state,
- "authentication_providers");
- json_object_foreach (aps,
- provider_url,
- ap)
- {
- gtk_combo_box_text_insert_text (bt,
- -1, /* append */
- provider_url);
- }
- }
+ AG_hide ("anastasis_gtk_start_frame");
+ if (AG_have_error)
+ AG_show ("anastasis_gtk_error_label");
+ AG_hide ("anastasis_gtk_challenge_frame");
+ AG_hide ("anastasis_gtk_identity_frame");
+ AG_hide ("anastasis_gtk_secret_identification_vbox");
re = json_object_get (AG_redux_state,
"recovery_error");
if (NULL != re)
@@ -2063,7 +2049,7 @@ action_secret_selecting (void)
AG_hide ("anastasis_gtk_backup_progress_scrolled_window");
AG_show ("anastasis_gtk_main_control_vbox");
AG_show ("anastasis_gtk_main_window_save_as_button");
- AG_show ("anastasis_gtk_secret_select_frame");
+ AG_show ("anastasis_gtk_select_secret_frame");
AG_show ("anastasis_gtk_main_window_prev_button");
AG_hide ("anastasis_gtk_main_window_quit_button");
{
@@ -2071,12 +2057,35 @@ action_secret_selecting (void)
ge = GTK_WIDGET (GCG_get_main_window_object (
"anastasis_gtk_provider_url_entry"));
- gtk_widget_grab_focus (ge);
+ if (0 && ! gtk_widget_has_focus (ge))
+ gtk_widget_grab_focus (ge);
}
return;
}
+ else
+ {
+ json_t *aps;
+ GtkComboBoxText *bt;
+ const json_t *ap;
+ const char *provider_url;
+
+ bt = GTK_COMBO_BOX_TEXT (GCG_get_main_window_object (
+ "anastasis_gtk_provider_url_combo_box_text"));
+ gtk_combo_box_text_remove_all (bt);
+ aps = json_object_get (AG_redux_state,
+ "authentication_providers");
+ json_object_foreach (aps,
+ provider_url,
+ ap)
+ {
+ gtk_combo_box_text_insert_text (bt,
+ -1, /* append */
+ provider_url);
+ }
+ }
ri = json_object_get (AG_redux_state,
"recovery_information");
+ if (NULL != ri)
{
uint64_t version;
const char *provider_url;
@@ -2088,7 +2097,6 @@ action_secret_selecting (void)
GNUNET_JSON_spec_end ()
};
GtkSpinButton *sb;
- GtkEntry *ge;
if (GNUNET_OK !=
GNUNET_JSON_parse (ri,
@@ -2103,10 +2111,9 @@ action_secret_selecting (void)
"anastasis_gtk_policy_version_spin_button"));
gtk_spin_button_set_value (sb,
version);
- ge = GTK_ENTRY (GCG_get_main_window_object (
- "anastasis_gtk_provider_url_entry"));
- gtk_entry_set_text (ge,
- provider_url);
+ if (NULL == re)
+ update_entry ("anastasis_gtk_provider_url_entry",
+ provider_url);
}
{
json_t *rd;
@@ -2133,6 +2140,7 @@ action_secret_selecting (void)
update_label ("anastasis_gtk_secret_name_label",
_ ("<not set>"));
}
+ AG_show ("anastasis_gtk_secret_identification_vbox");
}
}
AG_show ("anastasis_gtk_progress_vbox");
@@ -3004,6 +3012,7 @@ AG_action_cb (void *cls,
GNUNET_break (0);
return;
}
+
}
else
{
@@ -3014,12 +3023,22 @@ AG_action_cb (void *cls,
(TALER_EC_ANASTASIS_TRUTH_RATE_LIMITED == error_code) )
{
/* special case: do not remain in previous (challenge selected)
- state but rever to challenge selecting */
+ state but revert to challenge selecting */
GNUNET_assert (0 ==
json_object_set_new (AG_redux_state,
"recovery_state",
json_string ("CHALLENGE_SELECTING")));
}
+ if ( (TALER_EC_ANASTASIS_REDUCER_NETWORK_FAILED == error_code) ||
+ (TALER_EC_ANASTASIS_REDUCER_POLICY_LOOKUP_FAILED == error_code) )
+ {
+ /* special case: do not remain in previous (enter identity)
+ state but advance to secret selecting */
+ GNUNET_assert (0 ==
+ json_object_set_new (AG_redux_state,
+ "recovery_state",
+ json_string ("SECRET_SELECTING")));
+ }
AG_in_action = true;
if (GNUNET_OK ==
AG_dispatch (actions))
diff --git a/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
b/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
index 3af6ec4..3f4a14a 100644
--- a/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
+++ b/src/anastasis/anastasis-gtk_handle-policy-version-changed.c
@@ -122,6 +122,19 @@ update_policy (void)
ge = GTK_ENTRY (GCG_get_main_window_object (
"anastasis_gtk_provider_url_entry"));
provider_url = gtk_entry_get_text (ge);
+ if (! ( ( (0 == strncasecmp (provider_url,
+ "https://";,
+ strlen ("https://";))) &&
+ (strlen (provider_url) >= strlen ("https://X/";)) ) ||
+ ( (0 == strncasecmp (provider_url,
+ "http://";,
+ strlen ("http://";))) &&
+ (strlen (provider_url) >= strlen ("http://X/";)) ) ) )
+ {
+ AG_error ("Notice: URL must begin with 'http://' or 'https://'.");
+ AG_insensitive ("anastasis_gtk_main_window_forward_button");
+ return;
+ }
if ( (0 == strlen (provider_url)) ||
('/' != provider_url[strlen (provider_url) - 1]) )
{
diff --git a/src/anastasis/anastasis-gtk_helper.c
b/src/anastasis/anastasis-gtk_helper.c
index 5334606..5760f00 100644
--- a/src/anastasis/anastasis-gtk_helper.c
+++ b/src/anastasis/anastasis-gtk_helper.c
@@ -33,7 +33,7 @@
/**
* true if we are currently showing an error message.
*/
-static bool have_error;
+bool AG_have_error;
void
@@ -187,7 +187,7 @@ AG_hide_all_frames (void)
AG_hide ("anastasis_gtk_start_frame");
AG_hide_children ("anastasis_gtk_super_vbox");
AG_hide_children ("anastasis_gtk_illustration_vbox");
- if (have_error)
+ if (AG_have_error)
AG_show ("anastasis_gtk_error_label");
}
@@ -227,7 +227,7 @@ GCG_get_main_window_object (const char *name)
void
AG_error_clear ()
{
- have_error = false;
+ AG_have_error = false;
AG_hide ("anastasis_gtk_error_label");
}
@@ -260,6 +260,6 @@ AG_error (const char *format,
gtk_label_set_text (l,
msg);
free (msg);
- have_error = true;
+ AG_have_error = true;
gtk_widget_show (GTK_WIDGET (l));
}
diff --git a/src/anastasis/anastasis-gtk_helper.h
b/src/anastasis/anastasis-gtk_helper.h
index 464db70..4feda9a 100644
--- a/src/anastasis/anastasis-gtk_helper.h
+++ b/src/anastasis/anastasis-gtk_helper.h
@@ -33,6 +33,12 @@
#include "anastasis-gtk.h"
+/**
+ * true if we are currently showing an error message.
+ */
+extern bool AG_have_error;
+
+
/**
* Columns of the continent_liststore.
*/
@@ -307,20 +313,20 @@ enum AG_PolicyReviewModelColumns
*/
enum AG_ProgressModelColumns
{
- /**
- * A gchararray.
- */
- AG_PRGMC_DESCRIPTION = 0,
-
- /**
- * A gchararray.
- */
- AG_PRGMC_REGEX = 1,
-
- /**
- * A gchararray.
- */
- AG_PRGMC_TOOLTIP = 2
+ /**
+ * A gchararray.
+ */
+ AG_PRGMC_DESCRIPTION = 0,
+
+ /**
+ * A gchararray.
+ */
+ AG_PRGMC_REGEX = 1,
+
+ /**
+ * A gchararray.
+ */
+ AG_PRGMC_TOOLTIP = 2
};
--
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: -fix provider selection,
gnunet <=