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) | ... | ... |