summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2021-11-16 14:55:07 +0100
committerChristian Grothoff <christian@grothoff.org>2021-11-16 14:55:07 +0100
commitc6196729bec25b83432a067f57f5e322025ef2ac (patch)
tree46f8f4b4f084f19b84d1523585eee5b69c37fff0
parent1370f74f380a162f6e36edca551a53410bb67105 (diff)
downloadanastasis-gtk-c6196729bec25b83432a067f57f5e322025ef2ac.tar.gz
anastasis-gtk-c6196729bec25b83432a067f57f5e322025ef2ac.tar.bz2
anastasis-gtk-c6196729bec25b83432a067f57f5e322025ef2ac.zip
make 'next' button grab default when it becomes sensitive (#7087)
-rw-r--r--src/anastasis/anastasis-gtk_action.c21
-rw-r--r--src/anastasis/anastasis-gtk_handle-country-activated.c2
-rw-r--r--src/anastasis/anastasis-gtk_handle-country-unselected.c2
-rw-r--r--src/anastasis/anastasis-gtk_handle-currency-changed.c2
-rw-r--r--src/anastasis/anastasis-gtk_handle-identity-changed.c2
-rw-r--r--src/anastasis/anastasis-gtk_helper.c18
-rw-r--r--src/anastasis/anastasis-gtk_helper.h9
7 files changed, 40 insertions, 16 deletions
diff --git a/src/anastasis/anastasis-gtk_action.c b/src/anastasis/anastasis-gtk_action.c
index 98a3c51..13a9a63 100644
--- a/src/anastasis/anastasis-gtk_action.c
+++ b/src/anastasis/anastasis-gtk_action.c
@@ -144,7 +144,7 @@ action_continent_selecting (void)
AG_hide ("anastasis_gtk_backup_progress_scrolled_window");
}
AG_show ("anastasis_gtk_main_window_prev_button");
- AG_show ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
AG_show ("anastasis_gtk_main_control_vbox");
AG_show ("anastasis_gtk_continent_frame");
}
@@ -240,7 +240,7 @@ action_country_selecting (void)
AG_hide ("anastasis_gtk_backup_progress_scrolled_window");
}
AG_show ("anastasis_gtk_main_window_prev_button");
- AG_show ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
AG_show ("anastasis_gtk_continent_frame");
}
@@ -643,7 +643,7 @@ action_user_attributes_collecting (void)
}
AG_show ("anastasis_gtk_main_control_vbox");
AG_show ("anastasis_gtk_main_window_prev_button");
- AG_show ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
AG_show ("anastasis_gtk_identity_frame");
AG_focus ("anastasis_gtk_ia_full_name_entry");
}
@@ -805,7 +805,7 @@ action_authentications_editing (void)
AG_sensitive ("anastasis_gtk_main_window_prev_button");
if (have_auth)
- AG_sensitive ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
else
AG_insensitive ("anastasis_gtk_main_window_forward_button");
AG_show ("anastasis_gtk_progress_vbox");
@@ -814,7 +814,7 @@ action_authentications_editing (void)
AG_hide ("anastasis_gtk_recovery_progress_scrolled_window");
AG_show ("anastasis_gtk_main_control_vbox");
AG_show ("anastasis_gtk_main_window_prev_button");
- AG_show ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
AG_show ("anastasis_gtk_b_authentication_frame");
}
@@ -1050,7 +1050,6 @@ action_policies_reviewing (void)
gtk_tree_view_expand_all (tv);
}
AG_sensitive ("anastasis_gtk_main_window_prev_button");
- AG_sensitive ("anastasis_gtk_main_window_forward_button");
AG_show ("anastasis_gtk_progress_vbox");
AG_progress_update ();
AG_show ("anastasis_gtk_backup_progress_scrolled_window");
@@ -1058,7 +1057,7 @@ action_policies_reviewing (void)
AG_show ("anastasis_gtk_b_policy_frame");
AG_show ("anastasis_gtk_main_control_vbox");
AG_show ("anastasis_gtk_main_window_prev_button");
- AG_show ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
}
@@ -1300,7 +1299,7 @@ action_secret_editing (void)
if ( (NULL != text) ||
(NULL != filename) )
{
- AG_sensitive ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
}
if (NULL != text)
{
@@ -1338,7 +1337,7 @@ action_secret_editing (void)
AG_show ("anastasis_gtk_enter_secret_frame");
AG_show ("anastasis_gtk_main_control_vbox");
AG_show ("anastasis_gtk_main_window_prev_button");
- AG_show ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
}
@@ -2059,7 +2058,7 @@ action_secret_selecting (void)
}
else
{
- AG_sensitive ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
sn = json_string_value (json_object_get (rd,
"secret_name"));
if (NULL != sn)
@@ -2084,7 +2083,7 @@ action_secret_selecting (void)
AG_show ("anastasis_gtk_select_secret_frame");
AG_show ("anastasis_gtk_main_window_prev_button");
AG_hide ("anastasis_gtk_main_window_quit_button");
- AG_show ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
}
diff --git a/src/anastasis/anastasis-gtk_handle-country-activated.c b/src/anastasis/anastasis-gtk_handle-country-activated.c
index dc16e97..2c80b61 100644
--- a/src/anastasis/anastasis-gtk_handle-country-activated.c
+++ b/src/anastasis/anastasis-gtk_handle-country-activated.c
@@ -55,7 +55,7 @@ anastasis_gtk_country_selection_changed_cb (GtkTreeSelection *treeselection,
AG_insensitive ("anastasis_gtk_main_window_forward_button");
return;
}
- AG_sensitive ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
gtk_tree_model_get (model,
&iter,
AG_CCMC_COUNTRY_CODE,
diff --git a/src/anastasis/anastasis-gtk_handle-country-unselected.c b/src/anastasis/anastasis-gtk_handle-country-unselected.c
index 5ddbc17..9341b6f 100644
--- a/src/anastasis/anastasis-gtk_handle-country-unselected.c
+++ b/src/anastasis/anastasis-gtk_handle-country-unselected.c
@@ -45,7 +45,7 @@ anastasis_gtk_country_unselected (GtkTreeSelection *selection,
if (gtk_tree_selection_get_selected (selection,
&model,
NULL))
- AG_sensitive ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
else
AG_insensitive ("anastasis_gtk_main_window_forward_button");
}
diff --git a/src/anastasis/anastasis-gtk_handle-currency-changed.c b/src/anastasis/anastasis-gtk_handle-currency-changed.c
index 75be227..ba38b6f 100644
--- a/src/anastasis/anastasis-gtk_handle-currency-changed.c
+++ b/src/anastasis/anastasis-gtk_handle-currency-changed.c
@@ -72,7 +72,7 @@ anastasis_gtk_currency_selection_changed_cb (GtkTreeSelection *treeselection,
&select_cb,
&have_sel);
if (have_sel)
- AG_sensitive ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
else
AG_insensitive ("anastasis_gtk_main_window_forward_button");
}
diff --git a/src/anastasis/anastasis-gtk_handle-identity-changed.c b/src/anastasis/anastasis-gtk_handle-identity-changed.c
index ea9c8b2..5edc95f 100644
--- a/src/anastasis/anastasis-gtk_handle-identity-changed.c
+++ b/src/anastasis/anastasis-gtk_handle-identity-changed.c
@@ -86,7 +86,7 @@ void
AG_identity_changed (void)
{
if (check_attributes_fullfilled ())
- AG_sensitive ("anastasis_gtk_main_window_forward_button");
+ AG_enable_next ();
else
AG_insensitive ("anastasis_gtk_main_window_forward_button");
}
diff --git a/src/anastasis/anastasis-gtk_helper.c b/src/anastasis/anastasis-gtk_helper.c
index 095b7ce..edea3e9 100644
--- a/src/anastasis/anastasis-gtk_helper.c
+++ b/src/anastasis/anastasis-gtk_helper.c
@@ -226,6 +226,24 @@ GCG_get_main_window_object (const char *name)
}
+/**
+ * Make the 'next' button sensitive (and trigger it via 'Return').
+ */
+void
+AG_enable_next (void)
+{
+ GtkWidget *fwd;
+
+ AG_show ("anastasis_gtk_main_window_forward_button");
+ fwd = GTK_WIDGET (GCG_get_main_window_object (
+ "anastasis_gtk_main_window_forward_button"));
+ gtk_widget_set_can_default (fwd,
+ true);
+ gtk_widget_grab_default (fwd);
+
+}
+
+
void
AG_error_clear ()
{
diff --git a/src/anastasis/anastasis-gtk_helper.h b/src/anastasis/anastasis-gtk_helper.h
index 91773df..8fda696 100644
--- a/src/anastasis/anastasis-gtk_helper.h
+++ b/src/anastasis/anastasis-gtk_helper.h
@@ -206,7 +206,7 @@ enum AG_ProviderModelColumns
enum AG_BackupProviderColumns
{
/**
- * A gchararray.
+ * A gchararray.
*/
AG_BPC_PROVIDER_URL = 0,
@@ -400,6 +400,13 @@ AG_sensitive (const char *name);
/**
+ * Make the 'next' button sensitive (and trigger it via 'Return').
+ */
+void
+AG_enable_next (void);
+
+
+/**
* Make widget of the given @a name the focus.
*
* @param name widget to focus