Commit 3d54d8188320af74ce439a797271fddd9bc796f2
1 parent
9f9a7d93
Exists in
master
and in
1 other branch
Adding property for dynamic font space for compatibility with the previous
version.
Showing
14 changed files
with
90 additions
and
23 deletions
Show diff stats
src/dialogs/save/save.c
@@ -432,7 +432,9 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ | @@ -432,7 +432,9 @@ static void icon_press(GtkEntry *entry, G_GNUC_UNUSED GtkEntryIconPosition icon_ | ||
432 | } | 432 | } |
433 | 433 | ||
434 | #pragma GCC diagnostic push | 434 | #pragma GCC diagnostic push |
435 | +#ifdef _WIN32 | ||
435 | #pragma GCC diagnostic ignored "-Wcast-function-type" | 436 | #pragma GCC diagnostic ignored "-Wcast-function-type" |
437 | +#endif // _WIN32 | ||
436 | 438 | ||
437 | if(dynamic) | 439 | if(dynamic) |
438 | g_list_free_full(dynamic,(GDestroyNotify) lib3270_free); | 440 | g_list_free_full(dynamic,(GDestroyNotify) lib3270_free); |
src/include/internals.h
src/include/terminal.h
@@ -53,6 +53,7 @@ G_BEGIN_DECLS | @@ -53,6 +53,7 @@ G_BEGIN_DECLS | ||
53 | GParamSpec * session_name; | 53 | GParamSpec * session_name; |
54 | GParamSpec * auto_disconnect; | 54 | GParamSpec * auto_disconnect; |
55 | GParamSpec * remap_file; | 55 | GParamSpec * remap_file; |
56 | + GParamSpec * dynamic_spacing; | ||
56 | 57 | ||
57 | struct | 58 | struct |
58 | { | 59 | { |
src/include/v3270.h
@@ -189,6 +189,9 @@ | @@ -189,6 +189,9 @@ | ||
189 | LIB3270_EXPORT void v3270_set_auto_disconnect(GtkWidget *widget, guint minutes); | 189 | LIB3270_EXPORT void v3270_set_auto_disconnect(GtkWidget *widget, guint minutes); |
190 | LIB3270_EXPORT guint v3270_get_auto_disconnect(GtkWidget *widget); | 190 | LIB3270_EXPORT guint v3270_get_auto_disconnect(GtkWidget *widget); |
191 | 191 | ||
192 | + LIB3270_EXPORT void v3270_set_dynamic_font_spacing(GtkWidget *widget, gboolean state); | ||
193 | + LIB3270_EXPORT gboolean v3270_get_dynamic_font_spacing(GtkWidget *widget); | ||
194 | + | ||
192 | // Clipboard | 195 | // Clipboard |
193 | typedef enum _v3270_select_format | 196 | typedef enum _v3270_select_format |
194 | { | 197 | { |
src/terminal/accessible.c
@@ -326,9 +326,9 @@ static void v3270_accessible_get_character_extents( AtkText *text, | @@ -326,9 +326,9 @@ static void v3270_accessible_get_character_extents( AtkText *text, | ||
326 | 326 | ||
327 | // Get screen position | 327 | // Get screen position |
328 | *x += widget->font.margin.left + ((offset%cols) * widget->font.width); | 328 | *x += widget->font.margin.left + ((offset%cols) * widget->font.width); |
329 | - *y += widget->font.margin.top + ((offset/cols) * widget->font.spacing); | 329 | + *y += widget->font.margin.top + ((offset/cols) * widget->font.spacing.value); |
330 | *width = widget->font.width; | 330 | *width = widget->font.width; |
331 | - *height = widget->font.spacing; | 331 | + *height = widget->font.spacing.value; |
332 | 332 | ||
333 | if(coords == ATK_XY_WINDOW) | 333 | if(coords == ATK_XY_WINDOW) |
334 | { | 334 | { |
src/terminal/drawing/draw.c
@@ -377,7 +377,7 @@ void v3270_redraw(v3270 *terminal, cairo_t * cr, gint width, gint height) | @@ -377,7 +377,7 @@ void v3270_redraw(v3270 *terminal, cairo_t * cr, gint width, gint height) | ||
377 | memset(&rect,0,sizeof(rect)); | 377 | memset(&rect,0,sizeof(rect)); |
378 | rect.y = terminal->font.margin.top; | 378 | rect.y = terminal->font.margin.top; |
379 | rect.width = terminal->font.width; | 379 | rect.width = terminal->font.width; |
380 | - rect.height = terminal->font.spacing; | 380 | + rect.height = terminal->font.spacing.value; |
381 | addr = 0; | 381 | addr = 0; |
382 | cursor = lib3270_get_cursor_address(terminal->host); | 382 | cursor = lib3270_get_cursor_address(terminal->host); |
383 | 383 | ||
@@ -404,7 +404,7 @@ void v3270_redraw(v3270 *terminal, cairo_t * cr, gint width, gint height) | @@ -404,7 +404,7 @@ void v3270_redraw(v3270 *terminal, cairo_t * cr, gint width, gint height) | ||
404 | rect.x += rect.width; | 404 | rect.x += rect.width; |
405 | } | 405 | } |
406 | 406 | ||
407 | - rect.y += terminal->font.spacing; | 407 | + rect.y += terminal->font.spacing.value; |
408 | 408 | ||
409 | } | 409 | } |
410 | 410 | ||
@@ -455,9 +455,9 @@ void v3270_update_char(H3270 *session, int addr, unsigned char chr, unsigned sho | @@ -455,9 +455,9 @@ void v3270_update_char(H3270 *session, int addr, unsigned char chr, unsigned sho | ||
455 | 455 | ||
456 | memset(&rect,0,sizeof(rect)); | 456 | memset(&rect,0,sizeof(rect)); |
457 | rect.x = terminal->font.margin.left + ((addr % cols) * terminal->font.width); | 457 | rect.x = terminal->font.margin.left + ((addr % cols) * terminal->font.width); |
458 | - rect.y = terminal->font.margin.top + ((addr / cols) * terminal->font.spacing); | 458 | + rect.y = terminal->font.margin.top + ((addr / cols) * terminal->font.spacing.value); |
459 | rect.width = terminal->font.width; | 459 | rect.width = terminal->font.width; |
460 | - rect.height = terminal->font.spacing; | 460 | + rect.height = terminal->font.spacing.value; |
461 | 461 | ||
462 | cr = cairo_create(terminal->surface); | 462 | cr = cairo_create(terminal->surface); |
463 | cairo_set_scaled_font(cr,terminal->font.scaled); | 463 | cairo_set_scaled_font(cr,terminal->font.scaled); |
src/terminal/drawing/oia.c
@@ -591,7 +591,7 @@ void v3270_draw_oia(v3270 *terminal, cairo_t *cr, int row, int cols) | @@ -591,7 +591,7 @@ void v3270_draw_oia(v3270 *terminal, cairo_t *cr, int row, int cols) | ||
591 | row += 2; | 591 | row += 2; |
592 | 592 | ||
593 | gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_OIA_BACKGROUND); | 593 | gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_OIA_BACKGROUND); |
594 | - cairo_rectangle(cr, terminal->font.margin.left, row, cols*terminal->font.width, terminal->font.spacing); | 594 | + cairo_rectangle(cr, terminal->font.margin.left, row, cols*terminal->font.width, terminal->font.spacing.value); |
595 | cairo_fill(cr); | 595 | cairo_fill(cr); |
596 | 596 | ||
597 | for(f=0;f< (int) G_N_ELEMENTS(right);f++) | 597 | for(f=0;f< (int) G_N_ELEMENTS(right);f++) |
@@ -602,7 +602,7 @@ void v3270_draw_oia(v3270 *terminal, cairo_t *cr, int row, int cols) | @@ -602,7 +602,7 @@ void v3270_draw_oia(v3270 *terminal, cairo_t *cr, int row, int cols) | ||
602 | r->x = rCol; | 602 | r->x = rCol; |
603 | r->y = row; | 603 | r->y = row; |
604 | r->width = terminal->font.width; | 604 | r->width = terminal->font.width; |
605 | - r->height = terminal->font.spacing; | 605 | + r->height = terminal->font.spacing.value; |
606 | gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_OIA_FOREGROUND); | 606 | gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_OIA_FOREGROUND); |
607 | right[f].draw(r,&terminal->font,cr,terminal->host,cols,terminal->color); | 607 | right[f].draw(r,&terminal->font,cr,terminal->host,cols,terminal->color); |
608 | rCol = r->x - (terminal->font.width/3); | 608 | rCol = r->x - (terminal->font.width/3); |
@@ -613,7 +613,7 @@ void v3270_draw_oia(v3270 *terminal, cairo_t *cr, int row, int cols) | @@ -613,7 +613,7 @@ void v3270_draw_oia(v3270 *terminal, cairo_t *cr, int row, int cols) | ||
613 | draw_centered_char(cr,&terminal->font,lCol,row,'4'); | 613 | draw_centered_char(cr,&terminal->font,lCol,row,'4'); |
614 | 614 | ||
615 | cairo_stroke(cr); | 615 | cairo_stroke(cr); |
616 | - cairo_rectangle(cr, lCol, row, terminal->font.width+2, terminal->font.spacing); | 616 | + cairo_rectangle(cr, lCol, row, terminal->font.width+2, terminal->font.spacing.value); |
617 | cairo_stroke(cr); | 617 | cairo_stroke(cr); |
618 | 618 | ||
619 | lCol += (terminal->font.width+5); | 619 | lCol += (terminal->font.width+5); |
@@ -622,7 +622,7 @@ void v3270_draw_oia(v3270 *terminal, cairo_t *cr, int row, int cols) | @@ -622,7 +622,7 @@ void v3270_draw_oia(v3270 *terminal, cairo_t *cr, int row, int cols) | ||
622 | terminal->oia.rect[V3270_OIA_UNDERA].x = lCol; | 622 | terminal->oia.rect[V3270_OIA_UNDERA].x = lCol; |
623 | terminal->oia.rect[V3270_OIA_UNDERA].y = row; | 623 | terminal->oia.rect[V3270_OIA_UNDERA].y = row; |
624 | terminal->oia.rect[V3270_OIA_UNDERA].width = terminal->font.width+3; | 624 | terminal->oia.rect[V3270_OIA_UNDERA].width = terminal->font.width+3; |
625 | - terminal->oia.rect[V3270_OIA_UNDERA].height = terminal->font.spacing; | 625 | + terminal->oia.rect[V3270_OIA_UNDERA].height = terminal->font.spacing.value; |
626 | draw_undera(cr,terminal->host,&terminal->font,terminal->color,terminal->oia.rect+V3270_OIA_UNDERA); | 626 | draw_undera(cr,terminal->host,&terminal->font,terminal->color,terminal->oia.rect+V3270_OIA_UNDERA); |
627 | 627 | ||
628 | lCol += (3 + terminal->oia.rect[V3270_OIA_UNDERA].width); | 628 | lCol += (3 + terminal->oia.rect[V3270_OIA_UNDERA].width); |
@@ -631,7 +631,7 @@ void v3270_draw_oia(v3270 *terminal, cairo_t *cr, int row, int cols) | @@ -631,7 +631,7 @@ void v3270_draw_oia(v3270 *terminal, cairo_t *cr, int row, int cols) | ||
631 | terminal->oia.rect[V3270_OIA_CONNECTION].x = lCol; | 631 | terminal->oia.rect[V3270_OIA_CONNECTION].x = lCol; |
632 | terminal->oia.rect[V3270_OIA_CONNECTION].y = row; | 632 | terminal->oia.rect[V3270_OIA_CONNECTION].y = row; |
633 | terminal->oia.rect[V3270_OIA_CONNECTION].width = terminal->font.width+3; | 633 | terminal->oia.rect[V3270_OIA_CONNECTION].width = terminal->font.width+3; |
634 | - terminal->oia.rect[V3270_OIA_CONNECTION].height = terminal->font.spacing; | 634 | + terminal->oia.rect[V3270_OIA_CONNECTION].height = terminal->font.spacing.value; |
635 | v3270_draw_connection(cr,terminal->host,&terminal->font,terminal->color,terminal->oia.rect+V3270_OIA_CONNECTION); | 635 | v3270_draw_connection(cr,terminal->host,&terminal->font,terminal->color,terminal->oia.rect+V3270_OIA_CONNECTION); |
636 | 636 | ||
637 | lCol += (4 + terminal->oia.rect[V3270_OIA_CONNECTION].width); | 637 | lCol += (4 + terminal->oia.rect[V3270_OIA_CONNECTION].width); |
@@ -644,7 +644,7 @@ void v3270_draw_oia(v3270 *terminal, cairo_t *cr, int row, int cols) | @@ -644,7 +644,7 @@ void v3270_draw_oia(v3270 *terminal, cairo_t *cr, int row, int cols) | ||
644 | r->x = lCol; | 644 | r->x = lCol; |
645 | r->y = row; | 645 | r->y = row; |
646 | r->width = rCol - lCol; | 646 | r->width = rCol - lCol; |
647 | - r->height = terminal->font.spacing; | 647 | + r->height = terminal->font.spacing.value; |
648 | draw_status_message(cr,lib3270_get_program_message(terminal->host),&terminal->font,terminal->color,r); | 648 | draw_status_message(cr,lib3270_get_program_message(terminal->host),&terminal->font,terminal->color,r); |
649 | } | 649 | } |
650 | 650 | ||
@@ -765,7 +765,7 @@ void v3270_update_cursor(H3270 *session, unsigned short row, unsigned short col, | @@ -765,7 +765,7 @@ void v3270_update_cursor(H3270 *session, unsigned short row, unsigned short col, | ||
765 | saved = terminal->cursor.rect; | 765 | saved = terminal->cursor.rect; |
766 | 766 | ||
767 | terminal->cursor.rect.x = terminal->font.margin.left + (col * terminal->cursor.rect.width); | 767 | terminal->cursor.rect.x = terminal->font.margin.left + (col * terminal->cursor.rect.width); |
768 | - terminal->cursor.rect.y = terminal->font.margin.top + (row * terminal->font.spacing); | 768 | + terminal->cursor.rect.y = terminal->font.margin.top + (row * terminal->font.spacing.value); |
769 | terminal->cursor.rect.width = terminal->font.width; | 769 | terminal->cursor.rect.width = terminal->font.width; |
770 | terminal->cursor.rect.height = terminal->font.height+terminal->font.descent; | 770 | terminal->cursor.rect.height = terminal->font.height+terminal->font.descent; |
771 | terminal->cursor.show |= 1; | 771 | terminal->cursor.show |= 1; |
src/terminal/font/metrics.c
@@ -52,17 +52,29 @@ void v3270_update_font_metrics(v3270 *terminal, unsigned int width, unsigned int | @@ -52,17 +52,29 @@ void v3270_update_font_metrics(v3270 *terminal, unsigned int width, unsigned int | ||
52 | 52 | ||
53 | // Update margins. | 53 | // Update margins. |
54 | 54 | ||
55 | - terminal->font.width = (int) extents.max_x_advance; | ||
56 | - terminal->font.height = (int) extents.height; | ||
57 | - terminal->font.ascent = (int) extents.ascent; | ||
58 | - terminal->font.descent = (int) extents.descent; | ||
59 | - terminal->font.spacing = terminal->font.height + terminal->font.descent; | 55 | + terminal->font.width = (int) extents.max_x_advance; |
56 | + terminal->font.height = (int) extents.height; | ||
57 | + terminal->font.ascent = (int) extents.ascent; | ||
58 | + terminal->font.descent = (int) extents.descent; | ||
59 | + terminal->font.spacing.value = terminal->font.height + terminal->font.descent; | ||
60 | + | ||
61 | + if(terminal->font.spacing.dynamic) | ||
62 | + { | ||
63 | + // Compatibility adjustments for line spacing. | ||
64 | + | ||
65 | + // Some users complained about the new fixed line spacing; for them | ||
66 | + // the old style is bettter! | ||
67 | + | ||
68 | + guint spacing = height / (rows+2); | ||
69 | + if(spacing > terminal->font.spacing.value) | ||
70 | + terminal->font.spacing.value = spacing; | ||
71 | + } | ||
60 | 72 | ||
61 | // Create new cursor surface | 73 | // Create new cursor surface |
62 | if(terminal->cursor.surface) | 74 | if(terminal->cursor.surface) |
63 | cairo_surface_destroy(terminal->cursor.surface); | 75 | cairo_surface_destroy(terminal->cursor.surface); |
64 | 76 | ||
65 | - terminal->cursor.surface = gdk_window_create_similar_surface(gtk_widget_get_window(GTK_WIDGET(terminal)),CAIRO_CONTENT_COLOR,terminal->font.width,terminal->font.spacing); | 77 | + terminal->cursor.surface = gdk_window_create_similar_surface(gtk_widget_get_window(GTK_WIDGET(terminal)),CAIRO_CONTENT_COLOR,terminal->font.width,terminal->font.spacing.value); |
66 | 78 | ||
67 | // Center image | 79 | // Center image |
68 | 80 | ||
@@ -71,7 +83,7 @@ void v3270_update_font_metrics(v3270 *terminal, unsigned int width, unsigned int | @@ -71,7 +83,7 @@ void v3270_update_font_metrics(v3270 *terminal, unsigned int width, unsigned int | ||
71 | 83 | ||
72 | debug("%d",(width - size)); | 84 | debug("%d",(width - size)); |
73 | 85 | ||
74 | - size = VIEW_HEIGTH_FROM_FONT(terminal->font.spacing); | 86 | + size = VIEW_HEIGTH_FROM_FONT(terminal->font.spacing.value); |
75 | terminal->font.margin.top = (height/2) - (size/2); | 87 | terminal->font.margin.top = (height/2) - (size/2); |
76 | 88 | ||
77 | debug("%d",(height - size)); | 89 | debug("%d",(height - size)); |
src/terminal/get.c
@@ -79,3 +79,9 @@ gchar * v3270_get_region(GtkWidget *widget, gint start_pos, gint end_pos, gboole | @@ -79,3 +79,9 @@ gchar * v3270_get_region(GtkWidget *widget, gint start_pos, gint end_pos, gboole | ||
79 | 79 | ||
80 | return utftext; | 80 | return utftext; |
81 | } | 81 | } |
82 | + | ||
83 | +gboolean v3270_get_dynamic_font_spacing(GtkWidget *widget) | ||
84 | +{ | ||
85 | + g_return_val_if_fail(GTK_IS_V3270(widget),FALSE); | ||
86 | + return GTK_V3270(widget)->font.spacing.dynamic; | ||
87 | +} |
src/terminal/mouse.c
@@ -56,7 +56,7 @@ gint v3270_get_offset_at_point(v3270 *widget, gint x, gint y) | @@ -56,7 +56,7 @@ gint v3270_get_offset_at_point(v3270 *widget, gint x, gint y) | ||
56 | if(x > 0 && y > 0) | 56 | if(x > 0 && y > 0) |
57 | { | 57 | { |
58 | point.x = ((x-widget->font.margin.left)/widget->font.width); | 58 | point.x = ((x-widget->font.margin.left)/widget->font.width); |
59 | - point.y = ((y-widget->font.margin.top)/widget->font.spacing); | 59 | + point.y = ((y-widget->font.margin.top)/widget->font.spacing.value); |
60 | 60 | ||
61 | lib3270_get_screen_size(widget->host,&r,&c); | 61 | lib3270_get_screen_size(widget->host,&r,&c); |
62 | 62 |
src/terminal/properties/get.c
@@ -104,6 +104,10 @@ | @@ -104,6 +104,10 @@ | ||
104 | g_value_set_string(value,v3270_get_remap_filename(GTK_WIDGET(object))); | 104 | g_value_set_string(value,v3270_get_remap_filename(GTK_WIDGET(object))); |
105 | break; | 105 | break; |
106 | 106 | ||
107 | + case V3270_PROPERTY_DYNAMIC_SPACING: | ||
108 | + g_value_set_boolean(value,v3270_get_dynamic_font_spacing(GTK_WIDGET(object))); | ||
109 | + break; | ||
110 | + | ||
107 | default: | 111 | default: |
108 | G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); | 112 | G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); |
109 | 113 |
src/terminal/properties/init.c
@@ -152,6 +152,21 @@ | @@ -152,6 +152,21 @@ | ||
152 | klass->properties.remap_file | 152 | klass->properties.remap_file |
153 | ); | 153 | ); |
154 | 154 | ||
155 | + // Dynamic font spacing | ||
156 | + klass->properties.dynamic_spacing = g_param_spec_boolean( | ||
157 | + "dynamic_font_spacing", | ||
158 | + "dynamic_font_spacing", | ||
159 | + _( "State of the dynamic font spacing" ), | ||
160 | + FALSE, | ||
161 | + G_PARAM_READABLE|G_PARAM_WRITABLE); | ||
162 | + | ||
163 | + g_object_class_install_property( | ||
164 | + gobject_class, | ||
165 | + V3270_PROPERTY_DYNAMIC_SPACING, | ||
166 | + klass->properties.dynamic_spacing | ||
167 | + ); | ||
168 | + | ||
169 | + | ||
155 | // | 170 | // |
156 | // Create dynamic properties | 171 | // Create dynamic properties |
157 | klass->properties.count = V3270_PROPERTY_DYNAMIC; | 172 | klass->properties.count = V3270_PROPERTY_DYNAMIC; |
src/terminal/properties/private.h
@@ -53,9 +53,10 @@ | @@ -53,9 +53,10 @@ | ||
53 | V3270_PROPERTY_SESSION_NAME = 4, ///< @brief Widget's session name. | 53 | V3270_PROPERTY_SESSION_NAME = 4, ///< @brief Widget's session name. |
54 | V3270_PROPERTY_AUTO_DISCONNECT = 5, ///< @brief Auto disconnect. | 54 | V3270_PROPERTY_AUTO_DISCONNECT = 5, ///< @brief Auto disconnect. |
55 | V3270_PROPERTY_REMAP_FILE = 6, ///< @brief Path of the remap file. | 55 | V3270_PROPERTY_REMAP_FILE = 6, ///< @brief Path of the remap file. |
56 | + V3270_PROPERTY_DYNAMIC_SPACING = 7, ///< @brief Toggle dynamic font spacing. | ||
56 | 57 | ||
57 | 58 | ||
58 | - V3270_PROPERTY_DYNAMIC = 7 ///< @brief Id of the first LIB3270 internal property. | 59 | + V3270_PROPERTY_DYNAMIC = 8 ///< @brief Id of the first LIB3270 internal property. |
59 | }; | 60 | }; |
60 | 61 | ||
61 | G_GNUC_INTERNAL void v3270_get_property(GObject *object,guint prop_id, GValue *value, GParamSpec *pspec); | 62 | G_GNUC_INTERNAL void v3270_get_property(GObject *object,guint prop_id, GValue *value, GParamSpec *pspec); |
src/terminal/properties/set.c
@@ -122,6 +122,10 @@ | @@ -122,6 +122,10 @@ | ||
122 | v3270_set_remap_filename(GTK_WIDGET(object), g_value_get_string(value)); | 122 | v3270_set_remap_filename(GTK_WIDGET(object), g_value_get_string(value)); |
123 | break; | 123 | break; |
124 | 124 | ||
125 | + case V3270_PROPERTY_DYNAMIC_SPACING: | ||
126 | + v3270_set_dynamic_font_spacing(GTK_WIDGET(object), g_value_get_boolean(value)); | ||
127 | + break; | ||
128 | + | ||
125 | default: | 129 | default: |
126 | G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); | 130 | G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); |
127 | 131 | ||
@@ -211,3 +215,19 @@ LIB3270_EXPORT void v3270_set_auto_disconnect(GtkWidget *widget, guint minutes) | @@ -211,3 +215,19 @@ LIB3270_EXPORT void v3270_set_auto_disconnect(GtkWidget *widget, guint minutes) | ||
211 | 215 | ||
212 | } | 216 | } |
213 | 217 | ||
218 | +LIB3270_EXPORT void v3270_set_dynamic_font_spacing(GtkWidget *widget, gboolean state) { | ||
219 | + | ||
220 | + g_return_if_fail(GTK_IS_V3270(widget)); | ||
221 | + | ||
222 | + v3270 * terminal = GTK_V3270(widget); | ||
223 | + | ||
224 | + if(terminal->font.spacing.dynamic != state) | ||
225 | + { | ||
226 | + terminal->font.spacing.dynamic = state; | ||
227 | + v3270_reconfigure(terminal); | ||
228 | + g_object_notify_by_pspec(G_OBJECT(widget), GTK_V3270_GET_CLASS(widget)->properties.dynamic_spacing); | ||
229 | + } | ||
230 | + | ||
231 | +} | ||
232 | + | ||
233 | + |