Commit 987ecaa7b9d1aa9699d4cfb330728591bb668298
1 parent
18e73fa3
Exists in
master
and in
1 other branch
Adding dynamic font spacing option on settings.
Showing
2 changed files
with
26 additions
and
1 deletions
Show diff stats
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 | { |