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,6 +408,8 @@ static void lib3270_toggle_action(GtkToggleAction *action,GtkWidget *widget)
408 else if(toggle = TOGGLE_DYNAMIC_SPACING) 408 else if(toggle = TOGGLE_DYNAMIC_SPACING)
409 { 409 {
410 v3270_set_dynamic_font_spacing(widget,gtk_toggle_action_get_active(action)); 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 else if(toggle < LIB3270_TOGGLE_COUNT) 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,9 +941,17 @@ GtkAction * ui_get_action(GtkWidget *widget, const gchar *name, GHashTable *hash
939 if(tooltip && *tooltip) 941 if(tooltip && *tooltip)
940 gtk_action_set_tooltip(GTK_ACTION(action),tooltip); 942 gtk_action_set_tooltip(GTK_ACTION(action),tooltip);
941 toggle_action[id] = action; 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 g_object_set_data(G_OBJECT(action),"toggle_id",GINT_TO_POINTER(id)); 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 g_signal_connect(action,"toggled",G_CALLBACK(lib3270_toggle_action),widget); 955 g_signal_connect(action,"toggled",G_CALLBACK(lib3270_toggle_action),widget);
946 break; 956 break;
947 957
src/pw3270/window.c
@@ -264,6 +264,8 @@ static GtkWidget * trace_window = NULL; @@ -264,6 +264,8 @@ static GtkWidget * trace_window = NULL;
264 GtkWidget * widget = g_object_new(GTK_TYPE_PW3270, NULL); 264 GtkWidget * widget = g_object_new(GTK_TYPE_PW3270, NULL);
265 gboolean connct = FALSE; 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 if(tracefile) 269 if(tracefile)
268 { 270 {
269 lib3270_set_trace_handler(pw3270_get_session(widget),trace_on_file,(void *) widget); 271 lib3270_set_trace_handler(pw3270_get_session(widget),trace_on_file,(void *) widget);
@@ -305,7 +307,6 @@ static GtkWidget * trace_window = NULL; @@ -305,7 +307,6 @@ static GtkWidget * trace_window = NULL;
305 pw3270_set_session_color_type(widget,colors); 307 pw3270_set_session_color_type(widget,colors);
306 308
307 v3270_set_scaled_fonts(GTK_PW3270(widget)->terminal,get_boolean_from_config("terminal","sfonts",FALSE)); 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 if(pw3270_get_toggle(widget,LIB3270_TOGGLE_CONNECT_ON_STARTUP)) 311 if(pw3270_get_toggle(widget,LIB3270_TOGGLE_CONNECT_ON_STARTUP))
311 g_idle_add((GSourceFunc) bg_auto_connect, widget); 312 g_idle_add((GSourceFunc) bg_auto_connect, widget);
@@ -683,6 +684,7 @@ static GtkWidget * trace_window = NULL; @@ -683,6 +684,7 @@ static GtkWidget * trace_window = NULL;
683 { 684 {
684 GtkAction **list = (GtkAction **) g_object_get_data(G_OBJECT(widget),"toggle_actions"); 685 GtkAction **list = (GtkAction **) g_object_get_data(G_OBJECT(widget),"toggle_actions");
685 gchar *nm = g_ascii_strdown(name,-1); 686 gchar *nm = g_ascii_strdown(name,-1);
  687 +
686 set_boolean_to_config("toggle",nm,toggled); 688 set_boolean_to_config("toggle",nm,toggled);
687 g_free(nm); 689 g_free(nm);
688 690