From 944233f3fa1feb1c20449aa22344ea2c062df2c5 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Mon, 6 Jul 2020 16:12:50 -0300 Subject: [PATCH] Small adjustment in copy-as-image. Updating translation. --- locale/pt_BR.po | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------ src/selection/pixbuf.c | 28 +++++++++++++++++----------- 2 files changed, 75 insertions(+), 59 deletions(-) diff --git a/locale/pt_BR.po b/locale/pt_BR.po index f4b118f..27112d7 100644 --- a/locale/pt_BR.po +++ b/locale/pt_BR.po @@ -5,8 +5,8 @@ msgid "" msgstr "" "Project-Id-Version: pw3270 5.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-07-03 12:42-0300\n" -"PO-Revision-Date: 2020-07-03 15:04-0300\n" +"POT-Creation-Date: 2020-07-06 16:11-0300\n" +"PO-Revision-Date: 2020-07-06 16:12-0300\n" "Last-Translator: Perry Werneck \n" "Language-Team: Português <>\n" "Language: pt_BR\n" @@ -162,7 +162,7 @@ msgstr "Azul" msgid "Bold" msgstr "Negrito" -#: src/dialogs/load.c:181 src/dialogs/save/save.c:216 +#: src/dialogs/load.c:181 src/dialogs/save/save.c:268 msgid "C_haracter Coding" msgstr "C_odificação de caracteres" @@ -202,7 +202,7 @@ msgstr "Erro ao converter valor do cgcsid" msgid "Can't parse character value" msgstr "Erro ao analisar valor de caractere" -#: src/selection/windows/paste.c:79 src/selection/windows/paste.c:119 +#: src/selection/linux/paste.c:80 src/selection/linux/paste.c:115 msgid "Can't paste" msgstr "Não é possivel colar" @@ -211,7 +211,7 @@ msgid "Can't paste text" msgstr "Não é possível colar texto" #: src/filetransfer/save.c:117 src/filetransfer/activitylist.c:436 -#: src/trace/trace.c:486 src/dialogs/transfer.c:91 src/dialogs/save/save.c:461 +#: src/trace/trace.c:486 src/dialogs/transfer.c:91 src/dialogs/save/save.c:627 #, c-format msgid "Can't save %s" msgstr "Não foi possível salvar arquivo %s" @@ -230,7 +230,7 @@ msgstr "Não foi possível iniciar transferência de arquivo" #: src/terminal/callbacks.c:396 src/filetransfer/v3270ftprogress.c:433 #: src/filetransfer/transfer.c:89 src/dialogs/load.c:111 -#: src/dialogs/save/save.c:136 src/dialogs/settings/host.c:401 +#: src/dialogs/save/save.c:117 src/dialogs/settings/host.c:401 msgid "Cancel" msgstr "_Cancelar" @@ -246,7 +246,7 @@ msgstr "Marcar para ativar a conexão segura via SSL." msgid "Check this if the file consists of character data only." msgstr "Marque se o arquivo contem apenas texto." -#: src/dialogs/load.c:206 src/dialogs/save/save.c:268 +#: src/dialogs/load.c:206 src/dialogs/save/save.c:343 msgid "Click to cancel operation" msgstr "Clique para cancelar operação" @@ -254,11 +254,11 @@ msgstr "Clique para cancelar operação" msgid "Click to load file" msgstr "Clique para carregar arquivo" -#: src/dialogs/save/save.c:273 +#: src/dialogs/save/save.c:348 msgid "Click to save file" msgstr "Clique para salvar arquivo" -#: src/dialogs/settings/clipboard.c:409 +#: src/dialogs/settings/clipboard.c:420 msgid "Clipboard" msgstr "Área de transferência" @@ -266,7 +266,7 @@ msgstr "Área de transferência" msgid "Clipboard name" msgstr "Nome da área de transferência" -#: src/dialogs/settings/clipboard.c:408 +#: src/dialogs/settings/clipboard.c:419 msgid "Clipboard properties" msgstr "Configuração da área de transferência" @@ -318,7 +318,7 @@ msgstr "Copiar como texto puro" msgid "Copy as table" msgstr "Copiar como tabela" -#: src/dialogs/settings/clipboard.c:239 +#: src/dialogs/settings/clipboard.c:250 msgid "Copy options" msgstr "Opções da cópia" @@ -433,6 +433,10 @@ msgstr "Erro" msgid "Error on print operation" msgstr "Erro na operação de impressão" +#: src/dialogs/save/save.c:579 +msgid "Error saving image" +msgstr "Erro ao salvar imagem" + #: src/filetransfer/tables.c:224 msgid "Estimated transfer arrival" msgstr "Tempo estimado para a transferência" @@ -441,7 +445,7 @@ msgstr "Tempo estimado para a transferência" msgid "Field colors" msgstr "Cor dos campos" -#: src/dialogs/save/save.c:230 +#: src/dialogs/save/save.c:282 msgid "File _Format" msgstr "_Formato do arquivo" @@ -524,7 +528,7 @@ msgstr "Cinza" msgid "Green" msgstr "Verde" -#: src/dialogs/settings/clipboard.c:241 +#: src/dialogs/settings/clipboard.c:252 msgid "HTML options" msgstr "Opções HTML" @@ -568,6 +572,10 @@ msgstr "Ignore" msgid "Ignore the fail and remove the file from queue." msgstr "Ignore the fail and remove the file from queue." +#: src/dialogs/settings/clipboard.c:173 +msgid "Image copy" +msgstr "Copiar imagem" + #: src/terminal/actions/table.c:196 msgid "Increase the font size" msgstr "Aumenta o tamanho da fonte" @@ -694,14 +702,18 @@ msgstr "Nenhuma transferência" msgid "No transfer in progress" msgstr "Nenhuma transferência em andamento" -#: src/dialogs/settings/clipboard.c:306 +#: src/dialogs/settings/clipboard.c:317 msgid "None (Don't export color)" msgstr "Nenhum (Não exporta cores)" -#: src/dialogs/settings/clipboard.c:426 +#: src/dialogs/settings/clipboard.c:437 msgid "None (Don't export font name)" msgstr "Nenhuma (Não exporta fontes)" +#: src/selection/linux/paste.c:117 +msgid "None of the screens in the clipboard match with the current one." +msgstr "Nenhuma das telas da área de transferência corresponde à atual." + #: src/dialogs/settings/colors.c:174 msgid "Normal/Protected" msgstr "Normal/Protegido" @@ -710,7 +722,7 @@ msgstr "Normal/Protegido" msgid "Normal/Unprotected" msgstr "Normal/Desprotegido" -#: src/selection/windows/paste.c:75 +#: src/selection/linux/paste.c:76 msgid "Not the same terminal type" msgstr "O tipo de terminal é diferente" @@ -802,7 +814,7 @@ msgstr "Colar de um arquivo" msgid "Paste from text file" msgstr "Colar de um arquivo texto" -#: src/dialogs/settings/clipboard.c:240 +#: src/dialogs/settings/clipboard.c:251 msgid "Paste options" msgstr "Opções para colar" @@ -830,7 +842,7 @@ msgstr "Rosa" msgid "Plain text" msgstr "Texto puro" -#: src/dialogs/settings/clipboard.c:374 +#: src/dialogs/settings/clipboard.c:385 msgid "Plain text only" msgstr "Apenas texto puro" @@ -987,7 +999,7 @@ msgstr "" "SPACE can be specified in units of TRACKS, CYLINDERS, or AVBLOCK, and only " "one option can be used." -#: src/dialogs/settings/clipboard.c:307 src/dialogs/settings/clipboard.c:427 +#: src/dialogs/settings/clipboard.c:318 src/dialogs/settings/clipboard.c:438 msgid "Same of the screen" msgstr "Igual ao terminal" @@ -1009,7 +1021,7 @@ msgstr "Salvar _Como" msgid "Save all" msgstr "Salvar tela" -#: src/terminal/actions/table.c:262 src/dialogs/save/save.c:302 +#: src/terminal/actions/table.c:262 src/dialogs/save/save.c:377 msgid "Save copy" msgstr "Salvar cópia" @@ -1029,11 +1041,11 @@ msgstr "Salvar tela ou seleção" msgid "Save selected" msgstr "Salvar seleção" -#: src/terminal/actions/table.c:253 src/dialogs/save/save.c:301 +#: src/terminal/actions/table.c:253 src/dialogs/save/save.c:376 msgid "Save selected area" msgstr "Salvar área selecionada" -#: src/dialogs/save/save.c:300 +#: src/dialogs/save/save.c:375 msgid "Save terminal contents" msgstr "Salvar conteúdo da tela" @@ -1061,7 +1073,7 @@ msgstr "Guarda fila de transferência num arquivo XML externo" msgid "Save transfer queue to file" msgstr "Salvar fila de transferências para arquivo" -#: src/dialogs/settings/clipboard.c:375 +#: src/dialogs/settings/clipboard.c:386 msgid "Screen with terminal attributes" msgstr "Completa incluindo atributos do terminal" @@ -1086,7 +1098,7 @@ msgid "Secondary space" msgstr "Secondary space" #: src/filetransfer/v3270ft.c:303 src/filetransfer/settings.c:209 -#: src/dialogs/save/save.c:114 src/dialogs/save/save.c:137 +#: src/dialogs/save/save.c:98 src/dialogs/save/save.c:118 #: src/dialogs/settings/host.c:402 msgid "Select" msgstr "Selecionar" @@ -1099,13 +1111,13 @@ msgstr "Selecionar arquivo com mapeamento personalizado" msgid "Select custom charset mapping" msgstr "Seleciona mapeamento de teclado personalizado" -#: src/dialogs/save/save.c:113 src/dialogs/save/save.c:133 +#: src/dialogs/save/save.c:97 src/dialogs/save/save.c:114 msgid "Select destination file" msgstr "Selecionar arquivo destino" #: src/filetransfer/v3270ft.c:591 src/filetransfer/settings.c:467 #: src/dialogs/load.c:92 src/dialogs/load.c:108 src/dialogs/load.c:171 -#: src/dialogs/save/save.c:205 +#: src/dialogs/save/save.c:258 msgid "Select file" msgstr "Selecionar arquivo" @@ -1318,7 +1330,7 @@ msgstr "" msgid "The error code was %d" msgstr "O código de erro foi %d" -#: src/dialogs/save/save.c:415 +#: src/dialogs/save/save.c:425 #, c-format msgid "The file \"%s\" already exists. Replace it?" msgstr "O arquivo \"%s\" já existe, substituir?" @@ -1480,20 +1492,20 @@ msgstr "Turquesa" msgid "UTF-8" msgstr "UTF-8" -#: src/selection/windows/paste.c:115 -msgid "Unable to paste formatted data" -msgstr "Incapaz de colar tela formatada." +#: src/selection/linux/paste.c:116 +msgid "Unable to paste formatted data." +msgstr "Incapaz de colar dados formatados." #: src/filetransfer/tables.c:92 msgid "Undefined" msgstr "Indefinido" -#: src/dialogs/save/save.c:400 +#: src/dialogs/save/save.c:495 #, c-format msgid "Unexpected format %d" msgstr "Formato inesperado %d" -#: src/dialogs/save/save.c:370 +#: src/dialogs/save/save.c:463 src/dialogs/save/save.c:559 #, c-format msgid "Unexpected mode %d" msgstr "Modo inesperado %d" @@ -1503,7 +1515,7 @@ msgstr "Modo inesperado %d" msgid "Unexpected status %d in print operation" msgstr "Estado inesperado %d na operação de impressão" -#: src/dialogs/windows/select.c:169 src/dialogs/save/save.c:149 +#: src/dialogs/save/save.c:130 msgid "Untitled document" msgstr "Documento sem título" @@ -1524,6 +1536,10 @@ msgstr "Variável" msgid "Western Europe (ISO 8859-1)" msgstr "Europa ocidental (ISO 8859-1)" +#: src/dialogs/settings/clipboard.c:174 +msgid "When set allow image formats on clipboard" +msgstr "Quando ativo permite imagens na área de transferência" + #: src/dialogs/settings/clipboard.c:154 msgid "" "When set search clipboard for a similar screen, if found paste unprotected " @@ -1705,11 +1721,11 @@ msgstr "Texto _ASCII" msgid "_Apply" msgstr "_Aplicar" -#: src/selection/windows/paste.c:83 src/selection/windows/paste.c:123 -#: src/dialogs/load.c:205 src/dialogs/load.c:224 -#: src/dialogs/windows/select.c:158 src/dialogs/print/settingsdialog.c:410 -#: src/dialogs/print/settingsdialog.c:429 src/dialogs/save/save.c:267 -#: src/dialogs/save/save.c:286 src/dialogs/settings/dialog.c:231 +#: src/selection/linux/paste.c:84 src/selection/linux/paste.c:118 +#: src/dialogs/load.c:205 src/dialogs/load.c:224 src/dialogs/linux/select.c:51 +#: src/dialogs/linux/select.c:77 src/dialogs/print/settingsdialog.c:410 +#: src/dialogs/print/settingsdialog.c:429 src/dialogs/save/save.c:342 +#: src/dialogs/save/save.c:361 src/dialogs/settings/dialog.c:231 msgid "_Cancel" msgstr "_Cancelar" @@ -1730,7 +1746,7 @@ msgstr "_Tabela de cores" msgid "_File" msgstr "_Arquivo" -#: src/dialogs/load.c:163 src/dialogs/save/save.c:192 +#: src/dialogs/load.c:163 src/dialogs/save/save.c:250 msgid "_Filename" msgstr "Nome do _Arquivo" @@ -1758,7 +1774,7 @@ msgstr "_Modelo" msgid "_Operation" msgstr "_Operação:" -#: src/selection/windows/paste.c:84 src/selection/windows/paste.c:124 +#: src/selection/linux/paste.c:85 src/selection/linux/paste.c:119 msgid "_Paste as text" msgstr "_Colar como texto" @@ -1766,8 +1782,8 @@ msgstr "_Colar como texto" msgid "_Remote file" msgstr "Arquivo _remoto:" -#: src/trace/tracewindow.c:123 src/dialogs/save/save.c:272 -#: src/dialogs/save/save.c:287 +#: src/trace/tracewindow.c:123 src/dialogs/save/save.c:347 +#: src/dialogs/save/save.c:362 msgid "_Save" msgstr "_Salvar" @@ -2511,9 +2527,6 @@ msgstr "Diminui o tamanho da fonte" #~ msgid "Error in ioctl(%s) when setting no blocking mode" #~ msgstr "Erro em ioctl(%s) ao ativar o modo não blocante" -#~ msgid "Error loading %s" -#~ msgstr "Erro lendo %s" - #~ msgid "Error loading CRL" #~ msgstr "Erro lendo CRL" @@ -2927,9 +2940,6 @@ msgstr "Diminui o tamanho da fonte" #~ msgid "Non zero if the host is TSO." #~ msgstr "Diferente de zero se o host é TSO" -#~ msgid "None of the screens in the clipboard match with the current one." -#~ msgstr "Nenhuma das telas da área de transferência corresponde à atual." - #~ msgid "Not available" #~ msgstr "Não disponível" diff --git a/src/selection/pixbuf.c b/src/selection/pixbuf.c index 0f3f8bc..2c00f42 100644 --- a/src/selection/pixbuf.c +++ b/src/selection/pixbuf.c @@ -38,24 +38,27 @@ GdkPixbuf * v3270_get_selection_as_pixbuf(v3270 * terminal, const GList *selecti const GList *selection; // Get image size - size_t rows = 0, cols = 0; + size_t rows = 0, from_col = 1000, to_col = 0; for(selection = selections; selection; selection = g_list_next(selection)) { lib3270_selection * block = ((lib3270_selection *) selection->data); - unsigned int row, col, src = 0; + unsigned int row, src = 0; for(row=0; row < block->bounds.height; row++) { size_t hasSelection = FALSE; + unsigned int col; for(col=0; colbounds.width; col++) { if( (block->contents[src].attribute.visual & LIB3270_ATTR_SELECTED) || all ) { hasSelection = TRUE; - if(col > cols) - cols = col; + if(col < from_col) + from_col = col; + if(col > to_col) + to_col = col; } src++; } @@ -69,22 +72,24 @@ GdkPixbuf * v3270_get_selection_as_pixbuf(v3270 * terminal, const GList *selecti } - debug("%s: rows=%d cols=%d",__FUNCTION__,rows,cols); + debug("Selection rows=%u cols=%u",(unsigned int) rows, (unsigned int) (to_col - from_col)); - if(!rows) + if(!(rows || (from_col > to_col))) return NULL; - debug("Selection rows=%u cols=%u",(unsigned int) rows, (unsigned int) cols); - - gint width = (cols+1) * terminal->font.width; - gint height = (rows+1) * terminal->font.spacing.value; + gint width = ((to_col - from_col)+1) * terminal->font.width; + gint height = rows * terminal->font.spacing.value; debug("%s: width=%d height=%d",__FUNCTION__,width,height); cairo_surface_t *surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); cairo_t *cr = cairo_create(surface); +#ifdef DEBUG + gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_BLUE); +#else gdk_cairo_set_source_rgba(cr,terminal->color+V3270_COLOR_BACKGROUND); +#endif // DEBUG cairo_rectangle(cr, 0, 0, width, height); cairo_fill(cr); cairo_stroke(cr); @@ -107,7 +112,8 @@ GdkPixbuf * v3270_get_selection_as_pixbuf(v3270 * terminal, const GList *selecti size_t hasSelection = FALSE; rect.x = 0; - for(col=0; colbounds.width; col++) + src += from_col; + for(col=from_col; colbounds.width; col++) { if( (block->contents[src].attribute.visual & LIB3270_ATTR_SELECTED) || all ) { -- libgit2 0.21.2