Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/Remmina/Remmina.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGiovanni Panozzo <giovanni@panozzo.it>2019-11-02 14:55:46 +0300
committerGiovanni Panozzo <giovanni@panozzo.it>2019-11-02 14:55:46 +0300
commit938b7ea95f92dd29ff9e0b41a399ad4ce00ab82f (patch)
treecf53ee1ac5c957107291b3964ebb2714dffe7f7e /src
parent49336f77d5496cdc2e0ee28e4977209948d738e0 (diff)
Fix message panel default button not working
Diffstat (limited to 'src')
-rw-r--r--src/remmina_message_panel.c10
-rw-r--r--src/remmina_message_panel.h1
2 files changed, 9 insertions, 2 deletions
diff --git a/src/remmina_message_panel.c b/src/remmina_message_panel.c
index 41b3d4f7f..22b06b7ce 100644
--- a/src/remmina_message_panel.c
+++ b/src/remmina_message_panel.c
@@ -447,7 +447,6 @@ void remmina_message_panel_setup_auth(RemminaMessagePanel *mp, RemminaMessagePan
button_ok = gtk_button_new_with_label(_("_OK"));
gtk_button_set_use_underline(GTK_BUTTON(button_ok), TRUE);
gtk_widget_set_can_default(button_ok, TRUE);
- gtk_widget_grab_default (button_ok);
gtk_container_add (GTK_CONTAINER (bbox), button_ok);
/* Buttons, ok and cancel */
button_cancel = gtk_button_new_with_label(_("_Cancel"));
@@ -461,6 +460,7 @@ void remmina_message_panel_setup_auth(RemminaMessagePanel *mp, RemminaMessagePan
priv->w[REMMINA_MESSAGE_PANEL_PASSWORD] = password_entry;
priv->w[REMMINA_MESSAGE_PANEL_FLAG_SAVEPASSWORD] = save_password_switch;
priv->w[REMMINA_MESSAGE_PANEL_DOMAIN] = domain_entry;
+ priv->w[REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS] = button_ok;
priv->response_callback = response_callback;
priv->response_callback_data = response_callback_data;
@@ -615,7 +615,7 @@ void remmina_message_panel_setup_auth_x509(RemminaMessagePanel *mp, RemminaMessa
gtk_widget_set_margin_end (GTK_WIDGET(bbox), 18);
button_ok = gtk_button_new_with_label(_("_OK"));
gtk_widget_set_can_default (button_ok, TRUE);
- gtk_widget_grab_default (button_ok);
+
gtk_button_set_use_underline(GTK_BUTTON(button_ok), TRUE);
//gtk_widget_show(button_ok);
gtk_container_add (GTK_CONTAINER (bbox), button_ok);
@@ -636,6 +636,7 @@ void remmina_message_panel_setup_auth_x509(RemminaMessagePanel *mp, RemminaMessa
priv->w[REMMINA_MESSAGE_PANEL_CACRLFILE] = cacrl_file;
priv->w[REMMINA_MESSAGE_PANEL_CLIENTCERTFILE] = clientcert_file;
priv->w[REMMINA_MESSAGE_PANEL_CLIENTKEYFILE] = clientkey_file;
+ priv->w[REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS] = button_ok;
g_object_set_data(G_OBJECT(button_cancel), btn_response_key, (void *)GTK_RESPONSE_CANCEL);
g_signal_connect(G_OBJECT(button_cancel), "clicked", G_CALLBACK(remmina_message_panel_button_clicked_callback), mp);
@@ -656,6 +657,11 @@ void remmina_message_panel_focus_auth_entry(RemminaMessagePanel *mp)
return;
priv = remmina_message_panel_get_instance_private(mp);
+ /* Activate default button */
+ w = priv->w[REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS];
+ if (w && G_TYPE_CHECK_INSTANCE_TYPE(w, gtk_button_get_type()))
+ gtk_widget_grab_default(w);
+
w = priv->w[REMMINA_MESSAGE_PANEL_USERNAME];
if (w == NULL)
{
diff --git a/src/remmina_message_panel.h b/src/remmina_message_panel.h
index b2cdc77c1..6c4e73385 100644
--- a/src/remmina_message_panel.h
+++ b/src/remmina_message_panel.h
@@ -53,6 +53,7 @@ enum {
REMMINA_MESSAGE_PANEL_PASSWORD,
REMMINA_MESSAGE_PANEL_DOMAIN,
REMMINA_MESSAGE_PANEL_SAVEPASSWORD,
+ REMMINA_MESSAGE_PANEL_BUTTONTOFOCUS,
REMMINA_MESSAGE_PANEL_CACERTFILE,
REMMINA_MESSAGE_PANEL_CACRLFILE,
REMMINA_MESSAGE_PANEL_CLIENTCERTFILE,