Commit 944233f3fa1feb1c20449aa22344ea2c062df2c5

Authored by Perry Werneck
1 parent 914ae886
Exists in master and in 1 other branch develop

Small adjustment in copy-as-image.

Updating translation.
Showing 2 changed files with 75 additions and 59 deletions   Show diff stats
locale/pt_BR.po
... ... @@ -5,8 +5,8 @@ msgid ""
5 5 msgstr ""
6 6 "Project-Id-Version: pw3270 5.0\n"
7 7 "Report-Msgid-Bugs-To: \n"
8   -"POT-Creation-Date: 2020-07-03 12:42-0300\n"
9   -"PO-Revision-Date: 2020-07-03 15:04-0300\n"
  8 +"POT-Creation-Date: 2020-07-06 16:11-0300\n"
  9 +"PO-Revision-Date: 2020-07-06 16:12-0300\n"
10 10 "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n"
11 11 "Language-Team: Português <>\n"
12 12 "Language: pt_BR\n"
... ... @@ -162,7 +162,7 @@ msgstr &quot;Azul&quot;
162 162 msgid "Bold"
163 163 msgstr "Negrito"
164 164  
165   -#: src/dialogs/load.c:181 src/dialogs/save/save.c:216
  165 +#: src/dialogs/load.c:181 src/dialogs/save/save.c:268
166 166 msgid "C_haracter Coding"
167 167 msgstr "C_odificação de caracteres"
168 168  
... ... @@ -202,7 +202,7 @@ msgstr &quot;Erro ao converter valor do cgcsid&quot;
202 202 msgid "Can't parse character value"
203 203 msgstr "Erro ao analisar valor de caractere"
204 204  
205   -#: src/selection/windows/paste.c:79 src/selection/windows/paste.c:119
  205 +#: src/selection/linux/paste.c:80 src/selection/linux/paste.c:115
206 206 msgid "Can't paste"
207 207 msgstr "Não é possivel colar"
208 208  
... ... @@ -211,7 +211,7 @@ msgid &quot;Can&#39;t paste text&quot;
211 211 msgstr "Não é possível colar texto"
212 212  
213 213 #: src/filetransfer/save.c:117 src/filetransfer/activitylist.c:436
214   -#: src/trace/trace.c:486 src/dialogs/transfer.c:91 src/dialogs/save/save.c:461
  214 +#: src/trace/trace.c:486 src/dialogs/transfer.c:91 src/dialogs/save/save.c:627
215 215 #, c-format
216 216 msgid "Can't save %s"
217 217 msgstr "Não foi possível salvar arquivo %s"
... ... @@ -230,7 +230,7 @@ msgstr &quot;Não foi possível iniciar transferência de arquivo&quot;
230 230  
231 231 #: src/terminal/callbacks.c:396 src/filetransfer/v3270ftprogress.c:433
232 232 #: src/filetransfer/transfer.c:89 src/dialogs/load.c:111
233   -#: src/dialogs/save/save.c:136 src/dialogs/settings/host.c:401
  233 +#: src/dialogs/save/save.c:117 src/dialogs/settings/host.c:401
234 234 msgid "Cancel"
235 235 msgstr "_Cancelar"
236 236  
... ... @@ -246,7 +246,7 @@ msgstr &quot;Marcar para ativar a conexão segura via SSL.&quot;
246 246 msgid "Check this if the file consists of character data only."
247 247 msgstr "Marque se o arquivo contem apenas texto."
248 248  
249   -#: src/dialogs/load.c:206 src/dialogs/save/save.c:268
  249 +#: src/dialogs/load.c:206 src/dialogs/save/save.c:343
250 250 msgid "Click to cancel operation"
251 251 msgstr "Clique para cancelar operação"
252 252  
... ... @@ -254,11 +254,11 @@ msgstr &quot;Clique para cancelar operação&quot;
254 254 msgid "Click to load file"
255 255 msgstr "Clique para carregar arquivo"
256 256  
257   -#: src/dialogs/save/save.c:273
  257 +#: src/dialogs/save/save.c:348
258 258 msgid "Click to save file"
259 259 msgstr "Clique para salvar arquivo"
260 260  
261   -#: src/dialogs/settings/clipboard.c:409
  261 +#: src/dialogs/settings/clipboard.c:420
262 262 msgid "Clipboard"
263 263 msgstr "Área de transferência"
264 264  
... ... @@ -266,7 +266,7 @@ msgstr &quot;Área de transferência&quot;
266 266 msgid "Clipboard name"
267 267 msgstr "Nome da área de transferência"
268 268  
269   -#: src/dialogs/settings/clipboard.c:408
  269 +#: src/dialogs/settings/clipboard.c:419
270 270 msgid "Clipboard properties"
271 271 msgstr "Configuração da área de transferência"
272 272  
... ... @@ -318,7 +318,7 @@ msgstr &quot;Copiar como texto puro&quot;
318 318 msgid "Copy as table"
319 319 msgstr "Copiar como tabela"
320 320  
321   -#: src/dialogs/settings/clipboard.c:239
  321 +#: src/dialogs/settings/clipboard.c:250
322 322 msgid "Copy options"
323 323 msgstr "Opções da cópia"
324 324  
... ... @@ -433,6 +433,10 @@ msgstr &quot;Erro&quot;
433 433 msgid "Error on print operation"
434 434 msgstr "Erro na operação de impressão"
435 435  
  436 +#: src/dialogs/save/save.c:579
  437 +msgid "Error saving image"
  438 +msgstr "Erro ao salvar imagem"
  439 +
436 440 #: src/filetransfer/tables.c:224
437 441 msgid "Estimated transfer arrival"
438 442 msgstr "Tempo estimado para a transferência"
... ... @@ -441,7 +445,7 @@ msgstr &quot;Tempo estimado para a transferência&quot;
441 445 msgid "Field colors"
442 446 msgstr "Cor dos campos"
443 447  
444   -#: src/dialogs/save/save.c:230
  448 +#: src/dialogs/save/save.c:282
445 449 msgid "File _Format"
446 450 msgstr "_Formato do arquivo"
447 451  
... ... @@ -524,7 +528,7 @@ msgstr &quot;Cinza&quot;
524 528 msgid "Green"
525 529 msgstr "Verde"
526 530  
527   -#: src/dialogs/settings/clipboard.c:241
  531 +#: src/dialogs/settings/clipboard.c:252
528 532 msgid "HTML options"
529 533 msgstr "Opções HTML"
530 534  
... ... @@ -568,6 +572,10 @@ msgstr &quot;Ignore&quot;
568 572 msgid "Ignore the fail and remove the file from queue."
569 573 msgstr "Ignore the fail and remove the file from queue."
570 574  
  575 +#: src/dialogs/settings/clipboard.c:173
  576 +msgid "Image copy"
  577 +msgstr "Copiar imagem"
  578 +
571 579 #: src/terminal/actions/table.c:196
572 580 msgid "Increase the font size"
573 581 msgstr "Aumenta o tamanho da fonte"
... ... @@ -694,14 +702,18 @@ msgstr &quot;Nenhuma transferência&quot;
694 702 msgid "No transfer in progress"
695 703 msgstr "Nenhuma transferência em andamento"
696 704  
697   -#: src/dialogs/settings/clipboard.c:306
  705 +#: src/dialogs/settings/clipboard.c:317
698 706 msgid "None (Don't export color)"
699 707 msgstr "Nenhum (Não exporta cores)"
700 708  
701   -#: src/dialogs/settings/clipboard.c:426
  709 +#: src/dialogs/settings/clipboard.c:437
702 710 msgid "None (Don't export font name)"
703 711 msgstr "Nenhuma (Não exporta fontes)"
704 712  
  713 +#: src/selection/linux/paste.c:117
  714 +msgid "None of the screens in the clipboard match with the current one."
  715 +msgstr "Nenhuma das telas da área de transferência corresponde à atual."
  716 +
705 717 #: src/dialogs/settings/colors.c:174
706 718 msgid "Normal/Protected"
707 719 msgstr "Normal/Protegido"
... ... @@ -710,7 +722,7 @@ msgstr &quot;Normal/Protegido&quot;
710 722 msgid "Normal/Unprotected"
711 723 msgstr "Normal/Desprotegido"
712 724  
713   -#: src/selection/windows/paste.c:75
  725 +#: src/selection/linux/paste.c:76
714 726 msgid "Not the same terminal type"
715 727 msgstr "O tipo de terminal é diferente"
716 728  
... ... @@ -802,7 +814,7 @@ msgstr &quot;Colar de um arquivo&quot;
802 814 msgid "Paste from text file"
803 815 msgstr "Colar de um arquivo texto"
804 816  
805   -#: src/dialogs/settings/clipboard.c:240
  817 +#: src/dialogs/settings/clipboard.c:251
806 818 msgid "Paste options"
807 819 msgstr "Opções para colar"
808 820  
... ... @@ -830,7 +842,7 @@ msgstr &quot;Rosa&quot;
830 842 msgid "Plain text"
831 843 msgstr "Texto puro"
832 844  
833   -#: src/dialogs/settings/clipboard.c:374
  845 +#: src/dialogs/settings/clipboard.c:385
834 846 msgid "Plain text only"
835 847 msgstr "Apenas texto puro"
836 848  
... ... @@ -987,7 +999,7 @@ msgstr &quot;&quot;
987 999 "SPACE can be specified in units of TRACKS, CYLINDERS, or AVBLOCK, and only "
988 1000 "one option can be used."
989 1001  
990   -#: src/dialogs/settings/clipboard.c:307 src/dialogs/settings/clipboard.c:427
  1002 +#: src/dialogs/settings/clipboard.c:318 src/dialogs/settings/clipboard.c:438
991 1003 msgid "Same of the screen"
992 1004 msgstr "Igual ao terminal"
993 1005  
... ... @@ -1009,7 +1021,7 @@ msgstr &quot;Salvar _Como&quot;
1009 1021 msgid "Save all"
1010 1022 msgstr "Salvar tela"
1011 1023  
1012   -#: src/terminal/actions/table.c:262 src/dialogs/save/save.c:302
  1024 +#: src/terminal/actions/table.c:262 src/dialogs/save/save.c:377
1013 1025 msgid "Save copy"
1014 1026 msgstr "Salvar cópia"
1015 1027  
... ... @@ -1029,11 +1041,11 @@ msgstr &quot;Salvar tela ou seleção&quot;
1029 1041 msgid "Save selected"
1030 1042 msgstr "Salvar seleção"
1031 1043  
1032   -#: src/terminal/actions/table.c:253 src/dialogs/save/save.c:301
  1044 +#: src/terminal/actions/table.c:253 src/dialogs/save/save.c:376
1033 1045 msgid "Save selected area"
1034 1046 msgstr "Salvar área selecionada"
1035 1047  
1036   -#: src/dialogs/save/save.c:300
  1048 +#: src/dialogs/save/save.c:375
1037 1049 msgid "Save terminal contents"
1038 1050 msgstr "Salvar conteúdo da tela"
1039 1051  
... ... @@ -1061,7 +1073,7 @@ msgstr &quot;Guarda fila de transferência num arquivo XML externo&quot;
1061 1073 msgid "Save transfer queue to file"
1062 1074 msgstr "Salvar fila de transferências para arquivo"
1063 1075  
1064   -#: src/dialogs/settings/clipboard.c:375
  1076 +#: src/dialogs/settings/clipboard.c:386
1065 1077 msgid "Screen with terminal attributes"
1066 1078 msgstr "Completa incluindo atributos do terminal"
1067 1079  
... ... @@ -1086,7 +1098,7 @@ msgid &quot;Secondary space&quot;
1086 1098 msgstr "Secondary space"
1087 1099  
1088 1100 #: src/filetransfer/v3270ft.c:303 src/filetransfer/settings.c:209
1089   -#: src/dialogs/save/save.c:114 src/dialogs/save/save.c:137
  1101 +#: src/dialogs/save/save.c:98 src/dialogs/save/save.c:118
1090 1102 #: src/dialogs/settings/host.c:402
1091 1103 msgid "Select"
1092 1104 msgstr "Selecionar"
... ... @@ -1099,13 +1111,13 @@ msgstr &quot;Selecionar arquivo com mapeamento personalizado&quot;
1099 1111 msgid "Select custom charset mapping"
1100 1112 msgstr "Seleciona mapeamento de teclado personalizado"
1101 1113  
1102   -#: src/dialogs/save/save.c:113 src/dialogs/save/save.c:133
  1114 +#: src/dialogs/save/save.c:97 src/dialogs/save/save.c:114
1103 1115 msgid "Select destination file"
1104 1116 msgstr "Selecionar arquivo destino"
1105 1117  
1106 1118 #: src/filetransfer/v3270ft.c:591 src/filetransfer/settings.c:467
1107 1119 #: src/dialogs/load.c:92 src/dialogs/load.c:108 src/dialogs/load.c:171
1108   -#: src/dialogs/save/save.c:205
  1120 +#: src/dialogs/save/save.c:258
1109 1121 msgid "Select file"
1110 1122 msgstr "Selecionar arquivo"
1111 1123  
... ... @@ -1318,7 +1330,7 @@ msgstr &quot;&quot;
1318 1330 msgid "The error code was %d"
1319 1331 msgstr "O código de erro foi %d"
1320 1332  
1321   -#: src/dialogs/save/save.c:415
  1333 +#: src/dialogs/save/save.c:425
1322 1334 #, c-format
1323 1335 msgid "The file \"%s\" already exists. Replace it?"
1324 1336 msgstr "O arquivo \"%s\" já existe, substituir?"
... ... @@ -1480,20 +1492,20 @@ msgstr &quot;Turquesa&quot;
1480 1492 msgid "UTF-8"
1481 1493 msgstr "UTF-8"
1482 1494  
1483   -#: src/selection/windows/paste.c:115
1484   -msgid "Unable to paste formatted data"
1485   -msgstr "Incapaz de colar tela formatada."
  1495 +#: src/selection/linux/paste.c:116
  1496 +msgid "Unable to paste formatted data."
  1497 +msgstr "Incapaz de colar dados formatados."
1486 1498  
1487 1499 #: src/filetransfer/tables.c:92
1488 1500 msgid "Undefined"
1489 1501 msgstr "Indefinido"
1490 1502  
1491   -#: src/dialogs/save/save.c:400
  1503 +#: src/dialogs/save/save.c:495
1492 1504 #, c-format
1493 1505 msgid "Unexpected format %d"
1494 1506 msgstr "Formato inesperado %d"
1495 1507  
1496   -#: src/dialogs/save/save.c:370
  1508 +#: src/dialogs/save/save.c:463 src/dialogs/save/save.c:559
1497 1509 #, c-format
1498 1510 msgid "Unexpected mode %d"
1499 1511 msgstr "Modo inesperado %d"
... ... @@ -1503,7 +1515,7 @@ msgstr &quot;Modo inesperado %d&quot;
1503 1515 msgid "Unexpected status %d in print operation"
1504 1516 msgstr "Estado inesperado %d na operação de impressão"
1505 1517  
1506   -#: src/dialogs/windows/select.c:169 src/dialogs/save/save.c:149
  1518 +#: src/dialogs/save/save.c:130
1507 1519 msgid "Untitled document"
1508 1520 msgstr "Documento sem título"
1509 1521  
... ... @@ -1524,6 +1536,10 @@ msgstr &quot;Variável&quot;
1524 1536 msgid "Western Europe (ISO 8859-1)"
1525 1537 msgstr "Europa ocidental (ISO 8859-1)"
1526 1538  
  1539 +#: src/dialogs/settings/clipboard.c:174
  1540 +msgid "When set allow image formats on clipboard"
  1541 +msgstr "Quando ativo permite imagens na área de transferência"
  1542 +
1527 1543 #: src/dialogs/settings/clipboard.c:154
1528 1544 msgid ""
1529 1545 "When set search clipboard for a similar screen, if found paste unprotected "
... ... @@ -1705,11 +1721,11 @@ msgstr &quot;Texto _ASCII&quot;
1705 1721 msgid "_Apply"
1706 1722 msgstr "_Aplicar"
1707 1723  
1708   -#: src/selection/windows/paste.c:83 src/selection/windows/paste.c:123
1709   -#: src/dialogs/load.c:205 src/dialogs/load.c:224
1710   -#: src/dialogs/windows/select.c:158 src/dialogs/print/settingsdialog.c:410
1711   -#: src/dialogs/print/settingsdialog.c:429 src/dialogs/save/save.c:267
1712   -#: src/dialogs/save/save.c:286 src/dialogs/settings/dialog.c:231
  1724 +#: src/selection/linux/paste.c:84 src/selection/linux/paste.c:118
  1725 +#: src/dialogs/load.c:205 src/dialogs/load.c:224 src/dialogs/linux/select.c:51
  1726 +#: src/dialogs/linux/select.c:77 src/dialogs/print/settingsdialog.c:410
  1727 +#: src/dialogs/print/settingsdialog.c:429 src/dialogs/save/save.c:342
  1728 +#: src/dialogs/save/save.c:361 src/dialogs/settings/dialog.c:231
1713 1729 msgid "_Cancel"
1714 1730 msgstr "_Cancelar"
1715 1731  
... ... @@ -1730,7 +1746,7 @@ msgstr &quot;_Tabela de cores&quot;
1730 1746 msgid "_File"
1731 1747 msgstr "_Arquivo"
1732 1748  
1733   -#: src/dialogs/load.c:163 src/dialogs/save/save.c:192
  1749 +#: src/dialogs/load.c:163 src/dialogs/save/save.c:250
1734 1750 msgid "_Filename"
1735 1751 msgstr "Nome do _Arquivo"
1736 1752  
... ... @@ -1758,7 +1774,7 @@ msgstr &quot;_Modelo&quot;
1758 1774 msgid "_Operation"
1759 1775 msgstr "_Operação:"
1760 1776  
1761   -#: src/selection/windows/paste.c:84 src/selection/windows/paste.c:124
  1777 +#: src/selection/linux/paste.c:85 src/selection/linux/paste.c:119
1762 1778 msgid "_Paste as text"
1763 1779 msgstr "_Colar como texto"
1764 1780  
... ... @@ -1766,8 +1782,8 @@ msgstr &quot;_Colar como texto&quot;
1766 1782 msgid "_Remote file"
1767 1783 msgstr "Arquivo _remoto:"
1768 1784  
1769   -#: src/trace/tracewindow.c:123 src/dialogs/save/save.c:272
1770   -#: src/dialogs/save/save.c:287
  1785 +#: src/trace/tracewindow.c:123 src/dialogs/save/save.c:347
  1786 +#: src/dialogs/save/save.c:362
1771 1787 msgid "_Save"
1772 1788 msgstr "_Salvar"
1773 1789  
... ... @@ -2511,9 +2527,6 @@ msgstr &quot;Diminui o tamanho da fonte&quot;
2511 2527 #~ msgid "Error in ioctl(%s) when setting no blocking mode"
2512 2528 #~ msgstr "Erro em ioctl(%s) ao ativar o modo não blocante"
2513 2529  
2514   -#~ msgid "Error loading %s"
2515   -#~ msgstr "Erro lendo %s"
2516   -
2517 2530 #~ msgid "Error loading CRL"
2518 2531 #~ msgstr "Erro lendo CRL"
2519 2532  
... ... @@ -2927,9 +2940,6 @@ msgstr &quot;Diminui o tamanho da fonte&quot;
2927 2940 #~ msgid "Non zero if the host is TSO."
2928 2941 #~ msgstr "Diferente de zero se o host é TSO"
2929 2942  
2930   -#~ msgid "None of the screens in the clipboard match with the current one."
2931   -#~ msgstr "Nenhuma das telas da área de transferência corresponde à atual."
2932   -
2933 2943 #~ msgid "Not available"
2934 2944 #~ msgstr "Não disponível"
2935 2945  
... ...
src/selection/pixbuf.c
... ... @@ -38,24 +38,27 @@ GdkPixbuf * v3270_get_selection_as_pixbuf(v3270 * terminal, const GList *selecti
38 38 const GList *selection;
39 39  
40 40 // Get image size
41   - size_t rows = 0, cols = 0;
  41 + size_t rows = 0, from_col = 1000, to_col = 0;
42 42  
43 43 for(selection = selections; selection; selection = g_list_next(selection))
44 44 {
45 45 lib3270_selection * block = ((lib3270_selection *) selection->data);
46   - unsigned int row, col, src = 0;
  46 + unsigned int row, src = 0;
47 47  
48 48 for(row=0; row < block->bounds.height; row++)
49 49 {
50 50 size_t hasSelection = FALSE;
  51 + unsigned int col;
51 52  
52 53 for(col=0; col<block->bounds.width; col++)
53 54 {
54 55 if( (block->contents[src].attribute.visual & LIB3270_ATTR_SELECTED) || all )
55 56 {
56 57 hasSelection = TRUE;
57   - if(col > cols)
58   - cols = col;
  58 + if(col < from_col)
  59 + from_col = col;
  60 + if(col > to_col)
  61 + to_col = col;
59 62 }
60 63 src++;
61 64 }
... ... @@ -69,22 +72,24 @@ GdkPixbuf * v3270_get_selection_as_pixbuf(v3270 * terminal, const GList *selecti
69 72  
70 73 }
71 74  
72   - debug("%s: rows=%d cols=%d",__FUNCTION__,rows,cols);
  75 + debug("Selection rows=%u cols=%u",(unsigned int) rows, (unsigned int) (to_col - from_col));
73 76  
74   - if(!rows)
  77 + if(!(rows || (from_col > to_col)))
75 78 return NULL;
76 79  
77   - debug("Selection rows=%u cols=%u",(unsigned int) rows, (unsigned int) cols);
78   -
79   - gint width = (cols+1) * terminal->font.width;
80   - gint height = (rows+1) * terminal->font.spacing.value;
  80 + gint width = ((to_col - from_col)+1) * terminal->font.width;
  81 + gint height = rows * terminal->font.spacing.value;
81 82  
82 83 debug("%s: width=%d height=%d",__FUNCTION__,width,height);
83 84  
84 85 cairo_surface_t *surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height);
85 86  
86 87 cairo_t *cr = cairo_create(surface);
  88 +#ifdef DEBUG
  89 + gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_BLUE);
  90 +#else
87 91 gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_BACKGROUND);
  92 +#endif // DEBUG
88 93 cairo_rectangle(cr, 0, 0, width, height);
89 94 cairo_fill(cr);
90 95 cairo_stroke(cr);
... ... @@ -107,7 +112,8 @@ GdkPixbuf * v3270_get_selection_as_pixbuf(v3270 * terminal, const GList *selecti
107 112 size_t hasSelection = FALSE;
108 113 rect.x = 0;
109 114  
110   - for(col=0; col<block->bounds.width; col++)
  115 + src += from_col;
  116 + for(col=from_col; col<block->bounds.width; col++)
111 117 {
112 118 if( (block->contents[src].attribute.visual & LIB3270_ATTR_SELECTED) || all )
113 119 {
... ...