Commit 461a55ee8b1e66f36fe725a62a18cfe30e982824
1 parent
dee1ba19
Exists in
master
and in
5 other branches
Impressão na versão baseada em gtk2 estava cortando caracteres na margem esquerda
Showing
2 changed files
with
18 additions
and
7 deletions
Show diff stats
src/pw3270/print.c
... | ... | @@ -94,7 +94,11 @@ |
94 | 94 | #ifdef AUTO_FONT_SIZE |
95 | 95 | { |
96 | 96 | double width = gtk_print_context_get_width(context); |
97 | - double cols = (double)info->cols; | |
97 | +#if GTK_CHECK_VERSION(3,0,0) | |
98 | + double cols = (double) info->cols; | |
99 | +#else | |
100 | + double cols = (double) (info->cols+5); | |
101 | +#endif // GTK(3,0,0) | |
98 | 102 | double current = width / cols; |
99 | 103 | double valid = current; |
100 | 104 | cairo_font_extents_t extents; |
... | ... | @@ -105,12 +109,12 @@ |
105 | 109 | current = valid +1.0; |
106 | 110 | cairo_set_font_size(cr,current); |
107 | 111 | cairo_font_extents(cr,&extents); |
108 | - } while( (cols * extents.max_x_advance) < width ); | |
112 | + } | |
113 | + while( (cols * extents.max_x_advance) < width ); | |
109 | 114 | |
110 | 115 | trace("Font size: %d",(int) valid); |
111 | 116 | cairo_set_font_size(cr,valid); |
112 | 117 | |
113 | - | |
114 | 118 | } |
115 | 119 | #endif // AUTO_FONT_SIZE |
116 | 120 | |
... | ... | @@ -344,8 +348,9 @@ static gchar * enum_to_string(GType type, guint enum_value) |
344 | 348 | |
345 | 349 | static void font_set(GtkFontButton *widget, PRINT_INFO *info) |
346 | 350 | { |
351 | + trace("%s font=%p",__FUNCTION__,info->font); | |
347 | 352 | if(info->font) |
348 | - g_free(info->font) | |
353 | + g_free(info->font); | |
349 | 354 | info->font = g_strdup(gtk_font_button_get_font_name(widget)); |
350 | 355 | } |
351 | 356 | |
... | ... | @@ -410,6 +415,11 @@ static gchar * enum_to_string(GType type, guint enum_value) |
410 | 415 | g_free(info->font); |
411 | 416 | |
412 | 417 | info->font = get_string_from_config("print",FONT_CONFIG,DEFAULT_FONT); |
418 | + if(!*info->font) | |
419 | + { | |
420 | + g_free(info->font); | |
421 | + info->font = g_strdup(DEFAULT_FONT); | |
422 | + } | |
413 | 423 | |
414 | 424 | // Font selection button |
415 | 425 | #ifdef AUTO_FONT_SIZE |
... | ... | @@ -446,11 +456,12 @@ static gchar * enum_to_string(GType type, guint enum_value) |
446 | 456 | } |
447 | 457 | #else |
448 | 458 | { |
459 | + trace("Font=%s",info->font); | |
449 | 460 | widget = gtk_font_button_new_with_font(info->font); |
450 | - gtk_font_button_set_show_size((GtkFontButton *) widget,FALSE); | |
461 | + gtk_font_button_set_show_size((GtkFontButton *) widget,TRUE); | |
451 | 462 | gtk_font_button_set_use_font((GtkFontButton *) widget,TRUE); |
452 | 463 | gtk_label_set_mnemonic_widget(GTK_LABEL(label[0]),widget); |
453 | - g_free(font); | |
464 | + g_free(info->font); | |
454 | 465 | |
455 | 466 | #if GTK_CHECK_VERSION(3,2,0) |
456 | 467 | gtk_font_chooser_set_filter_func((GtkFontChooser *) widget,filter_monospaced,NULL,NULL); | ... | ... |
src/pw3270/window.c
... | ... | @@ -459,7 +459,7 @@ |
459 | 459 | |
460 | 460 | static void print_all(GtkWidget *widget, GtkWidget *window) |
461 | 461 | { |
462 | - pw3270_print(widget,G_OBJECT(widget), GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, PW3270_SRC_ALL); | |
462 | + pw3270_print(widget, NULL, GTK_PRINT_OPERATION_ACTION_PRINT_DIALOG, PW3270_SRC_ALL); | |
463 | 463 | } |
464 | 464 | |
465 | 465 | static void toggle_changed(GtkWidget *widget, LIB3270_TOGGLE id, gboolean toggled, const gchar *name, GtkWindow *toplevel) | ... | ... |