Commit 987ecaa7b9d1aa9699d4cfb330728591bb668298

Authored by Perry Werneck
1 parent 18e73fa3
Exists in master and in 1 other branch develop

Adding dynamic font spacing option on settings.

src/dialogs/font/chooser.c
@@ -57,6 +57,7 @@ @@ -57,6 +57,7 @@
57 GtkWidget * font_list; 57 GtkWidget * font_list;
58 GtkWidget * preview; 58 GtkWidget * preview;
59 GtkToggleButton * bold; 59 GtkToggleButton * bold;
  60 + GtkToggleButton * dynamic;
60 61
61 struct { 62 struct {
62 cairo_font_face_t * face; 63 cairo_font_face_t * face;
@@ -66,6 +67,7 @@ @@ -66,6 +67,7 @@
66 struct { 67 struct {
67 gchar * family; 68 gchar * family;
68 gboolean bold; 69 gboolean bold;
  70 + gboolean dynamic;
69 } saved; 71 } saved;
70 72
71 } V3270FontChooserWidget; 73 } V3270FontChooserWidget;
@@ -90,6 +92,9 @@ @@ -90,6 +92,9 @@
90 v3270_set_font_family(terminal,chooser->saved.family); 92 v3270_set_font_family(terminal,chooser->saved.family);
91 93
92 v3270_set_toggle(terminal,LIB3270_TOGGLE_BOLD,chooser->saved.bold); 94 v3270_set_toggle(terminal,LIB3270_TOGGLE_BOLD,chooser->saved.bold);
  95 +
  96 + v3270_set_dynamic_font_spacing(terminal,chooser->saved.dynamic);
  97 +
93 } 98 }
94 99
95 static void load(GtkWidget *widget, GtkWidget *terminal) 100 static void load(GtkWidget *widget, GtkWidget *terminal)
@@ -104,6 +109,7 @@ @@ -104,6 +109,7 @@
104 109
105 chooser->saved.family = g_strdup(v3270_get_font_family(terminal)); 110 chooser->saved.family = g_strdup(v3270_get_font_family(terminal));
106 chooser->saved.bold = v3270_get_toggle(terminal,LIB3270_TOGGLE_BOLD); 111 chooser->saved.bold = v3270_get_toggle(terminal,LIB3270_TOGGLE_BOLD);
  112 + chooser->saved.dynamic = v3270_get_dynamic_font_spacing(terminal);
107 113
108 GtkTreeIter active; 114 GtkTreeIter active;
109 gtk_tree_view_set_model( 115 gtk_tree_view_set_model(
@@ -121,6 +127,7 @@ @@ -121,6 +127,7 @@
121 ); 127 );
122 128
123 gtk_toggle_button_set_active(chooser->bold,chooser->saved.bold); 129 gtk_toggle_button_set_active(chooser->bold,chooser->saved.bold);
  130 + gtk_toggle_button_set_active(chooser->dynamic,chooser->saved.dynamic);
124 131
125 gtk_widget_queue_draw(chooser->preview); 132 gtk_widget_queue_draw(chooser->preview);
126 } 133 }
@@ -253,6 +260,12 @@ static void bold_toggled(GtkToggleButton *togglebutton, V3270FontChooserWidget * @@ -253,6 +260,12 @@ static void bold_toggled(GtkToggleButton *togglebutton, V3270FontChooserWidget *
253 260
254 } 261 }
255 262
  263 +static void dynamic_spacing_toggled(GtkToggleButton *togglebutton, V3270FontChooserWidget *widget)
  264 +{
  265 + v3270_set_dynamic_font_spacing(widget->parent.terminal,gtk_toggle_button_get_active(togglebutton));
  266 +}
  267 +
  268 +
256 static void V3270FontChooserWidget_init(V3270FontChooserWidget *widget) 269 static void V3270FontChooserWidget_init(V3270FontChooserWidget *widget)
257 { 270 {
258 widget->font.weight = CAIRO_FONT_WEIGHT_NORMAL; 271 widget->font.weight = CAIRO_FONT_WEIGHT_NORMAL;
@@ -313,10 +326,18 @@ static void V3270FontChooserWidget_init(V3270FontChooserWidget *widget) @@ -313,10 +326,18 @@ static void V3270FontChooserWidget_init(V3270FontChooserWidget *widget)
313 // Add font-weight button 326 // Add font-weight button
314 { 327 {
315 widget->bold = GTK_TOGGLE_BUTTON(gtk_check_button_new_with_label(_("Bold"))); 328 widget->bold = GTK_TOGGLE_BUTTON(gtk_check_button_new_with_label(_("Bold")));
316 - gtk_grid_attach(GTK_GRID(widget),GTK_WIDGET(widget->bold),1,3,5,1); 329 + gtk_grid_attach(GTK_GRID(widget),GTK_WIDGET(widget->bold),1,3,1,1);
317 g_signal_connect(G_OBJECT(widget->bold),"toggled",G_CALLBACK(bold_toggled),widget); 330 g_signal_connect(G_OBJECT(widget->bold),"toggled",G_CALLBACK(bold_toggled),widget);
318 } 331 }
319 332
  333 + // Add dynamic font spacing button
  334 + {
  335 + widget->dynamic = GTK_TOGGLE_BUTTON(gtk_check_button_new_with_label(_("Dynamic font spacing")));
  336 + gtk_grid_attach(GTK_GRID(widget),GTK_WIDGET(widget->dynamic),2,3,1,1);
  337 + g_signal_connect(G_OBJECT(widget->dynamic),"toggled",G_CALLBACK(dynamic_spacing_toggled),widget);
  338 + }
  339 +
  340 +
320 gtk_widget_show_all(GTK_WIDGET(widget)); 341 gtk_widget_show_all(GTK_WIDGET(widget));
321 342
322 } 343 }
src/testprogram/toolbar.c
@@ -49,11 +49,14 @@ @@ -49,11 +49,14 @@
49 v3270_print(terminal,NULL); 49 v3270_print(terminal,NULL);
50 } 50 }
51 51
  52 + /*
52 static void host_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) 53 static void host_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal)
53 { 54 {
54 v3270_select_host(terminal); 55 v3270_select_host(terminal);
55 } 56 }
  57 + */
56 58
  59 + /*
57 static void font_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) 60 static void font_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal)
58 { 61 {
59 v3270_settings_popup_dialog( 62 v3270_settings_popup_dialog(
@@ -63,6 +66,7 @@ @@ -63,6 +66,7 @@
63 ); 66 );
64 67
65 } 68 }
  69 + */
66 70
67 static void preferences_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal) 71 static void preferences_clicked(GtkButton G_GNUC_UNUSED(*button), GtkWidget *terminal)
68 { 72 {