diff --git a/src/pw3270/actions.c b/src/pw3270/actions.c index 46c6796..a1e5b2c 100644 --- a/src/pw3270/actions.c +++ b/src/pw3270/actions.c @@ -408,6 +408,8 @@ static void lib3270_toggle_action(GtkToggleAction *action,GtkWidget *widget) else if(toggle = TOGGLE_DYNAMIC_SPACING) { v3270_set_dynamic_font_spacing(widget,gtk_toggle_action_get_active(action)); + set_boolean_to_config("toggle","dspacing",gtk_toggle_action_get_active(action)); + } else if(toggle < LIB3270_TOGGLE_COUNT) { @@ -939,9 +941,17 @@ GtkAction * ui_get_action(GtkWidget *widget, const gchar *name, GHashTable *hash if(tooltip && *tooltip) gtk_action_set_tooltip(GTK_ACTION(action),tooltip); toggle_action[id] = action; + + gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action),(lib3270_get_toggle(v3270_get_session(widget),id) != 0)); } + else if(id == TOGGLE_DYNAMIC_SPACING) + { + gboolean active = get_boolean_from_config("toggle","dspacing",FALSE); + v3270_set_dynamic_font_spacing(widget,active); + gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action),active); + } + g_object_set_data(G_OBJECT(action),"toggle_id",GINT_TO_POINTER(id)); - gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action),(lib3270_get_toggle(v3270_get_session(widget),id) != 0)); g_signal_connect(action,"toggled",G_CALLBACK(lib3270_toggle_action),widget); break; diff --git a/src/pw3270/window.c b/src/pw3270/window.c index 7a4f52f..ecd2257 100644 --- a/src/pw3270/window.c +++ b/src/pw3270/window.c @@ -264,6 +264,8 @@ static GtkWidget * trace_window = NULL; GtkWidget * widget = g_object_new(GTK_TYPE_PW3270, NULL); gboolean connct = FALSE; + v3270_set_dynamic_font_spacing(GTK_PW3270(widget)->terminal,get_boolean_from_config("toggle","dspacing",FALSE)); + if(tracefile) { lib3270_set_trace_handler(pw3270_get_session(widget),trace_on_file,(void *) widget); @@ -305,7 +307,6 @@ static GtkWidget * trace_window = NULL; pw3270_set_session_color_type(widget,colors); v3270_set_scaled_fonts(GTK_PW3270(widget)->terminal,get_boolean_from_config("terminal","sfonts",FALSE)); - v3270_set_dynamic_font_spacing(GTK_PW3270(widget)->terminal,get_boolean_from_config("terminal","dspacing",FALSE)); if(pw3270_get_toggle(widget,LIB3270_TOGGLE_CONNECT_ON_STARTUP)) g_idle_add((GSourceFunc) bg_auto_connect, widget); @@ -683,6 +684,7 @@ static GtkWidget * trace_window = NULL; { GtkAction **list = (GtkAction **) g_object_get_data(G_OBJECT(widget),"toggle_actions"); gchar *nm = g_ascii_strdown(name,-1); + set_boolean_to_config("toggle",nm,toggled); g_free(nm); -- libgit2 0.21.2