From 3f4315f0bc71fb895e3a0924a2f39c3e5df14fb9 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Wed, 3 Jun 2020 12:05:37 -0300 Subject: [PATCH] Restoring keypad state from session config. --- src/objects/window/window.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+), 0 deletions(-) diff --git a/src/objects/window/window.c b/src/objects/window/window.c index fb92b90..f54acb4 100644 --- a/src/objects/window/window.c +++ b/src/objects/window/window.c @@ -701,6 +701,28 @@ pw3270_window_set_subtitle(GTK_WIDGET(window), v3270_is_connected(terminal) ? _("Connected to host") : _("Disconnected from host")); + // Setup keypads + if(window->keypads) { + + GKeyFile * keyfile = v3270_get_session_keyfile(terminal); + + if(keyfile) { + + GList * keypad; + for(keypad = window->keypads; keypad; keypad = g_list_next(keypad)) { + + GtkWidget *kWidget = GTK_WIDGET(keypad->data); + if(g_key_file_get_boolean(keyfile,"keypads",gtk_widget_get_name(kWidget),NULL)) { + gtk_widget_show(kWidget); + } else { + gtk_widget_hide(kWidget); + } + } + + } + + } + } else { terminal = NULL; -- libgit2 0.21.2