Commit 735634e3fdc188b803b9c5f8545fdbf77ff37980

Authored by Perry Werneck
1 parent 3262676b
Exists in v5.2

Save/restore state of dynamic font spacing.

Showing 2 changed files with 14 additions and 2 deletions   Show diff stats
src/pw3270/actions.c
... ... @@ -408,6 +408,8 @@ static void lib3270_toggle_action(GtkToggleAction *action,GtkWidget *widget)
408 408 else if(toggle = TOGGLE_DYNAMIC_SPACING)
409 409 {
410 410 v3270_set_dynamic_font_spacing(widget,gtk_toggle_action_get_active(action));
  411 + set_boolean_to_config("toggle","dspacing",gtk_toggle_action_get_active(action));
  412 +
411 413 }
412 414 else if(toggle < LIB3270_TOGGLE_COUNT)
413 415 {
... ... @@ -939,9 +941,17 @@ GtkAction * ui_get_action(GtkWidget *widget, const gchar *name, GHashTable *hash
939 941 if(tooltip && *tooltip)
940 942 gtk_action_set_tooltip(GTK_ACTION(action),tooltip);
941 943 toggle_action[id] = action;
  944 +
  945 + gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action),(lib3270_get_toggle(v3270_get_session(widget),id) != 0));
942 946 }
  947 + else if(id == TOGGLE_DYNAMIC_SPACING)
  948 + {
  949 + gboolean active = get_boolean_from_config("toggle","dspacing",FALSE);
  950 + v3270_set_dynamic_font_spacing(widget,active);
  951 + gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action),active);
  952 + }
  953 +
943 954 g_object_set_data(G_OBJECT(action),"toggle_id",GINT_TO_POINTER(id));
944   - gtk_toggle_action_set_active(GTK_TOGGLE_ACTION(action),(lib3270_get_toggle(v3270_get_session(widget),id) != 0));
945 955 g_signal_connect(action,"toggled",G_CALLBACK(lib3270_toggle_action),widget);
946 956 break;
947 957  
... ...
src/pw3270/window.c
... ... @@ -264,6 +264,8 @@ static GtkWidget * trace_window = NULL;
264 264 GtkWidget * widget = g_object_new(GTK_TYPE_PW3270, NULL);
265 265 gboolean connct = FALSE;
266 266  
  267 + v3270_set_dynamic_font_spacing(GTK_PW3270(widget)->terminal,get_boolean_from_config("toggle","dspacing",FALSE));
  268 +
267 269 if(tracefile)
268 270 {
269 271 lib3270_set_trace_handler(pw3270_get_session(widget),trace_on_file,(void *) widget);
... ... @@ -305,7 +307,6 @@ static GtkWidget * trace_window = NULL;
305 307 pw3270_set_session_color_type(widget,colors);
306 308  
307 309 v3270_set_scaled_fonts(GTK_PW3270(widget)->terminal,get_boolean_from_config("terminal","sfonts",FALSE));
308   - v3270_set_dynamic_font_spacing(GTK_PW3270(widget)->terminal,get_boolean_from_config("terminal","dspacing",FALSE));
309 310  
310 311 if(pw3270_get_toggle(widget,LIB3270_TOGGLE_CONNECT_ON_STARTUP))
311 312 g_idle_add((GSourceFunc) bg_auto_connect, widget);
... ... @@ -683,6 +684,7 @@ static GtkWidget * trace_window = NULL;
683 684 {
684 685 GtkAction **list = (GtkAction **) g_object_get_data(G_OBJECT(widget),"toggle_actions");
685 686 gchar *nm = g_ascii_strdown(name,-1);
  687 +
686 688 set_boolean_to_config("toggle",nm,toggled);
687 689 g_free(nm);
688 690  
... ...