diff options
author | Christian Grothoff <christian@grothoff.org> | 2021-11-16 14:55:07 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2021-11-16 14:55:07 +0100 |
commit | c6196729bec25b83432a067f57f5e322025ef2ac (patch) | |
tree | 46f8f4b4f084f19b84d1523585eee5b69c37fff0 | |
parent | 1370f74f380a162f6e36edca551a53410bb67105 (diff) | |
download | anastasis-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.c | 21 | ||||
-rw-r--r-- | src/anastasis/anastasis-gtk_handle-country-activated.c | 2 | ||||
-rw-r--r-- | src/anastasis/anastasis-gtk_handle-country-unselected.c | 2 | ||||
-rw-r--r-- | src/anastasis/anastasis-gtk_handle-currency-changed.c | 2 | ||||
-rw-r--r-- | src/anastasis/anastasis-gtk_handle-identity-changed.c | 2 | ||||
-rw-r--r-- | src/anastasis/anastasis-gtk_helper.c | 18 | ||||
-rw-r--r-- | src/anastasis/anastasis-gtk_helper.h | 9 |
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 |