Commit 4af8362c59346129f0f369926d88fdabc298f9bf

Authored by Perry Werneck
1 parent 97a58c8f
Exists in master and in 1 other branch develop

Implementing clipboard settings dialog.

Makefile.in
... ... @@ -441,6 +441,8 @@ $(POTDIR)/$(LIBNAME).pot: \
441 441 locale: \
442 442 locale/$(LIBNAME).pot
443 443  
  444 + @$(MAKE) -C locale all
  445 +
444 446 locale/$(LIBNAME).pot: \
445 447 $(POTDIR)/$(LIBNAME).pot
446 448  
... ...
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-01-21 16:17-0300\n"
9   -"PO-Revision-Date: 2020-01-21 16:17-0300\n"
  8 +"POT-Creation-Date: 2020-01-23 09:01-0300\n"
  9 +"PO-Revision-Date: 2020-01-23 09:05-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"
... ... @@ -19,7 +19,7 @@ msgstr &quot;&quot;
19 19 "Plural-Forms: nplurals=2; plural=(n > 1);\n"
20 20 "X-Generator: Gtranslator 2.91.7\n"
21 21  
22   -#: src/dialogs/settings/host.c:178
  22 +#: src/dialogs/settings/host.c:168
23 23 msgid "16 colors"
24 24 msgstr "16 cores"
25 25  
... ... @@ -34,7 +34,7 @@ msgstr &quot;Transferência de arquivos 3270&quot;
34 34 msgid "3270 screen"
35 35 msgstr "Tela 3270"
36 36  
37   -#: src/dialogs/settings/host.c:177
  37 +#: src/dialogs/settings/host.c:167
38 38 msgid "8 colors"
39 39 msgstr "8 cores"
40 40  
... ... @@ -83,7 +83,7 @@ msgstr &quot;Atividade já está na fila&quot;
83 83 msgid "Add to copy"
84 84 msgstr "Adicionar à cópia"
85 85  
86   -#: src/dialogs/settings/host.c:232
  86 +#: src/dialogs/settings/host.c:214
87 87 msgid "Address or name of the host to connect."
88 88 msgstr "Endereço ou nome do host a conectar."
89 89  
... ... @@ -124,7 +124,7 @@ msgstr &quot;Adiciona conteúdo do arquivo origem ao final do arquivo destino.&quot;
124 124 msgid "Assign it to action (<b>%s</b>)?"
125 125 msgstr "Associar com a ação (<b>%s</b>)?"
126 126  
127   -#: src/dialogs/settings/host.c:509
  127 +#: src/dialogs/settings/host.c:492
128 128 msgid "Auto _disconnect"
129 129 msgstr "Desconexão automática"
130 130  
... ... @@ -229,7 +229,7 @@ msgstr &quot;Não foi possível iniciar transferência de arquivo&quot;
229 229  
230 230 #: src/terminal/callbacks.c:393 src/filetransfer/v3270ftprogress.c:433
231 231 #: src/filetransfer/transfer.c:89 src/dialogs/load.c:111
232   -#: src/dialogs/save/save.c:136 src/dialogs/settings/host.c:385
  232 +#: src/dialogs/save/save.c:136 src/dialogs/settings/host.c:367
233 233 msgid "Cancel"
234 234 msgstr "_Cancelar"
235 235  
... ... @@ -237,7 +237,7 @@ msgstr &quot;_Cancelar&quot;
237 237 msgid "Cancel transfer operation."
238 238 msgstr "Cancelar transferência"
239 239  
240   -#: src/dialogs/settings/host.c:545
  240 +#: src/dialogs/settings/host.c:528
241 241 msgid "Check for SSL secure connection."
242 242 msgstr "Marcar para ativar a conexão segura via SSL."
243 243  
... ... @@ -257,14 +257,26 @@ msgstr &quot;Clique para carregar arquivo&quot;
257 257 msgid "Click to save file"
258 258 msgstr "Clique para salvar arquivo"
259 259  
  260 +#: src/dialogs/settings/clipboard.c:349
  261 +msgid "Clipboard"
  262 +msgstr "Área de transferência"
  263 +
260 264 #: src/terminal/properties/init.c:138
261 265 msgid "Clipboard name"
262 266 msgstr "Nome da área de transferência"
263 267  
  268 +#: src/dialogs/settings/clipboard.c:348
  269 +msgid "Clipboard properties"
  270 +msgstr "Configuração da área de transferência"
  271 +
264 272 #: src/dialogs/settings/colors.c:350
265 273 msgid "Color _theme"
266 274 msgstr "Tema de cores"
267 275  
  276 +#: src/dialogs/settings/clipboard.c:102
  277 +msgid "Color theme"
  278 +msgstr "Tema de cores"
  279 +
268 280 #: src/dialogs/settings/colors.c:380
269 281 msgid "Colors"
270 282 msgstr "Cores"
... ... @@ -273,7 +285,7 @@ msgstr &quot;Cores&quot;
273 285 msgid "Comma separated list of LU names"
274 286 msgstr "Lista de LUs separadas por vírgula"
275 287  
276   -#: src/dialogs/settings/host.c:284
  288 +#: src/dialogs/settings/host.c:266
277 289 msgid "Comma separated list of LU names."
278 290 msgstr "Lista de LUs separadas por vírgula."
279 291  
... ... @@ -285,7 +297,11 @@ msgstr &quot;Arquivo separado por vírgulas (CSV)&quot;
285 297 msgid "Command to execute"
286 298 msgstr "Comando a executar"
287 299  
288   -#: src/dialogs/settings/host.c:458
  300 +#: src/dialogs/settings/clipboard.c:315
  301 +msgid "Complete with terminal attributes"
  302 +msgstr "Completo incluindo atributos do terminal"
  303 +
  304 +#: src/dialogs/settings/host.c:437
289 305 msgid "Connection"
290 306 msgstr "Conexão"
291 307  
... ... @@ -305,6 +321,10 @@ msgstr &quot;Copiar como texto puro&quot;
305 321 msgid "Copy as table"
306 322 msgstr "Copiar como tabela"
307 323  
  324 +#: src/dialogs/settings/clipboard.c:184
  325 +msgid "Copy options"
  326 +msgstr "Opções da cópia"
  327 +
308 328 #: src/terminal/actions/table.c:71
309 329 msgid "Copy selection to clipboard"
310 330 msgstr "Salvar seleção para área de transferência"
... ... @@ -343,7 +363,7 @@ msgstr &quot;Posição atual da transferência&quot;
343 363 msgid "Current:"
344 364 msgstr "Atual:"
345 365  
346   -#: src/dialogs/settings/host.c:270
  366 +#: src/dialogs/settings/host.c:252
347 367 msgid "Custom Remap"
348 368 msgstr "Mapeamento personalizado"
349 369  
... ... @@ -400,7 +420,7 @@ msgstr &quot;ETA:&quot;
400 420 msgid "Emit a PA Key action"
401 421 msgstr "Emite uma ação de tecla PA"
402 422  
403   -#: src/dialogs/settings/host.c:468
  423 +#: src/dialogs/settings/host.c:447
404 424 msgid "Emulation"
405 425 msgstr "Emulação"
406 426  
... ... @@ -461,7 +481,7 @@ msgstr &quot;&quot;
461 481 "Seguindo a convenção para arquivos texto ASCII, LF é usado para terminar "
462 482 "registros no arquivo do PC."
463 483  
464   -#: src/dialogs/font/chooser.c:329
  484 +#: src/dialogs/font/chooser.c:329 src/dialogs/settings/clipboard.c:85
465 485 msgid "Font"
466 486 msgstr "Fonte"
467 487  
... ... @@ -479,6 +499,10 @@ msgstr &quot;Fonte \&quot;%s\&quot; é válida&quot;
479 499 msgid "Font family for terminal contents"
480 500 msgstr "Familia da fonte usada no terminal"
481 501  
  502 +#: src/dialogs/settings/clipboard.c:119
  503 +msgid "Format"
  504 +msgstr "Formato"
  505 +
482 506 #: src/filetransfer/activity.c:135
483 507 msgid "Full path of local file"
484 508 msgstr "Caminho completo do arquivo local"
... ... @@ -503,11 +527,15 @@ msgstr &quot;Cinza&quot;
503 527 msgid "Green"
504 528 msgstr "Verde"
505 529  
506   -#: src/dialogs/settings/host.c:654
  530 +#: src/dialogs/settings/clipboard.c:186
  531 +msgid "HTML options"
  532 +msgstr "Opções HTML"
  533 +
  534 +#: src/dialogs/settings/host.c:649
507 535 msgid "Host"
508 536 msgstr "Servidor"
509 537  
510   -#: src/dialogs/settings/host.c:653
  538 +#: src/dialogs/settings/host.c:648
511 539 msgid "Host settings"
512 540 msgstr "Configurações do servidor"
513 541  
... ... @@ -515,15 +543,15 @@ msgstr &quot;Configurações do servidor&quot;
515 543 msgid "HyperText Markup Language (HTML)"
516 544 msgstr "Documento HTML"
517 545  
518   -#: src/dialogs/settings/host.c:148
  546 +#: src/dialogs/settings/host.c:138
519 547 msgid "IBM AS/400"
520 548 msgstr "IBM AS/400"
521 549  
522   -#: src/dialogs/settings/host.c:147
  550 +#: src/dialogs/settings/host.c:137
523 551 msgid "IBM S/390"
524 552 msgstr "IBM S/390"
525 553  
526   -#: src/terminal/properties/init.c:121 src/dialogs/settings/host.c:513
  554 +#: src/terminal/properties/init.c:121 src/dialogs/settings/host.c:496
527 555 msgid "IDLE minutes for automatic disconnection"
528 556 msgstr "Minutos para desconexão automática"
529 557  
... ... @@ -585,7 +613,7 @@ msgstr &quot;Estado inválido&quot;
585 613 msgid "Keyboard accelerators"
586 614 msgstr "Atalhos de teclado"
587 615  
588   -#: src/dialogs/settings/host.c:283
  616 +#: src/dialogs/settings/host.c:265
589 617 msgid "L_U Names"
590 618 msgstr "Nomes de L_U"
591 619  
... ... @@ -605,7 +633,7 @@ msgstr &quot;Arquivo local:&quot;
605 633 msgid "Local:"
606 634 msgstr "Local:"
607 635  
608   -#: src/dialogs/settings/host.c:258
  636 +#: src/dialogs/settings/host.c:240
609 637 msgid "Makes the screen larger than the default for the chosen model number."
610 638 msgstr "Usa tamanho maior do que o padrão para o modelo escolhido."
611 639  
... ... @@ -613,23 +641,23 @@ msgstr &quot;Usa tamanho maior do que o padrão para o modelo escolhido.&quot;
613 641 msgid "Misc colors"
614 642 msgstr "Cores diversas"
615 643  
616   -#: src/dialogs/settings/host.c:205
  644 +#: src/dialogs/settings/host.c:195
617 645 msgid "Model 2 - 80x24"
618 646 msgstr "Modelo 2 - 80x24"
619 647  
620   -#: src/dialogs/settings/host.c:206
  648 +#: src/dialogs/settings/host.c:196
621 649 msgid "Model 3 - 80x32"
622 650 msgstr "Modelo 3 - 80x32"
623 651  
624   -#: src/dialogs/settings/host.c:207
  652 +#: src/dialogs/settings/host.c:197
625 653 msgid "Model 4 - 80x43"
626 654 msgstr "Modelo 4 - 80x43"
627 655  
628   -#: src/dialogs/settings/host.c:208
  656 +#: src/dialogs/settings/host.c:198
629 657 msgid "Model 5 - 132x27"
630 658 msgstr "Modelo 5 - 132x27"
631 659  
632   -#: src/dialogs/settings/host.c:176
  660 +#: src/dialogs/settings/host.c:166
633 661 msgid "Monochrome"
634 662 msgstr "Monocromático"
635 663  
... ... @@ -665,6 +693,14 @@ msgstr &quot;Nenhuma transferência&quot;
665 693 msgid "No transfer in progress"
666 694 msgstr "Nenhuma transferência em andamento"
667 695  
  696 +#: src/dialogs/settings/clipboard.c:248
  697 +msgid "None (Don't export color)"
  698 +msgstr "Nenhum (Não exporta cores)"
  699 +
  700 +#: src/dialogs/settings/clipboard.c:366
  701 +msgid "None (Don't export font name)"
  702 +msgstr "Nenhuma (Não exporta fontes)"
  703 +
668 704 #: src/selection/linux/paste.c:117
669 705 msgid "None of the screens in the clipboard match with the current one."
670 706 msgstr "Nenhuma das telas da área de transferência corresponde à atual."
... ... @@ -725,15 +761,15 @@ msgstr &quot;Opções&quot;
725 761 msgid "Orange"
726 762 msgstr "Laranja"
727 763  
728   -#: src/dialogs/settings/host.c:149
  764 +#: src/dialogs/settings/host.c:139
729 765 msgid "Other (TSO)"
730 766 msgstr "Outro (TSO)"
731 767  
732   -#: src/dialogs/settings/host.c:150
  768 +#: src/dialogs/settings/host.c:140
733 769 msgid "Other (VM/CMS)"
734 770 msgstr "Outro (VM/CMS)"
735 771  
736   -#: src/dialogs/settings/host.c:257
  772 +#: src/dialogs/settings/host.c:239
737 773 msgid "Oversize"
738 774 msgstr "Oversize"
739 775  
... ... @@ -765,11 +801,15 @@ msgstr &quot;Colar de um arquivo&quot;
765 801 msgid "Paste from text file"
766 802 msgstr "Colar de um arquivo texto"
767 803  
  804 +#: src/dialogs/settings/clipboard.c:185
  805 +msgid "Paste options"
  806 +msgstr "Opções para colar"
  807 +
768 808 #: src/filetransfer/tables.c:219
769 809 msgid "Path and name of the local file"
770 810 msgstr "Caminho e nome do arquivo local"
771 811  
772   -#: src/dialogs/settings/host.c:271
  812 +#: src/dialogs/settings/host.c:253
773 813 msgid "Path to XML file with custom charset mapping."
774 814 msgstr "Caminho do arquivo XML com o mapeamento personalizado de caracteres."
775 815  
... ... @@ -785,7 +825,11 @@ msgstr &quot;Rosa&quot;
785 825 msgid "Plain text"
786 826 msgstr "Texto puro"
787 827  
788   -#: src/dialogs/settings/host.c:245
  828 +#: src/dialogs/settings/clipboard.c:314
  829 +msgid "Plain text only"
  830 +msgstr "Apenas texto puro"
  831 +
  832 +#: src/dialogs/settings/host.c:227
789 833 msgid "Port or service name (empty for \"telnet\")."
790 834 msgstr "Nº da porta ou nome do serviço (em branco para \"telnet\")."
791 835  
... ... @@ -938,6 +982,10 @@ msgstr &quot;&quot;
938 982 "SPACE can be specified in units of TRACKS, CYLINDERS, or AVBLOCK, and only "
939 983 "one option can be used."
940 984  
  985 +#: src/dialogs/settings/clipboard.c:249 src/dialogs/settings/clipboard.c:367
  986 +msgid "Same of the screen"
  987 +msgstr "Igual ao terminal"
  988 +
941 989 #: src/terminal/actions/table.c:240 src/filetransfer/v3270ft.c:215
942 990 #: src/filetransfer/activitylist.c:453 src/trace/trace.c:477
943 991 #: src/dialogs/transfer.c:69
... ... @@ -1022,15 +1070,15 @@ msgstr &quot;Secondary space&quot;
1022 1070  
1023 1071 #: src/filetransfer/v3270ft.c:303 src/filetransfer/settings.c:209
1024 1072 #: src/dialogs/save/save.c:114 src/dialogs/save/save.c:137
1025   -#: src/dialogs/settings/host.c:386
  1073 +#: src/dialogs/settings/host.c:368
1026 1074 msgid "Select"
1027 1075 msgstr "Selecionar"
1028 1076  
1029   -#: src/dialogs/settings/host.c:498
  1077 +#: src/dialogs/settings/host.c:481
1030 1078 msgid "Select charset remap file"
1031 1079 msgstr "Selecionar arquivo com mapeamento personalizado"
1032 1080  
1033   -#: src/dialogs/settings/host.c:382
  1081 +#: src/dialogs/settings/host.c:364
1034 1082 msgid "Select custom charset mapping"
1035 1083 msgstr "Seleciona mapeamento de teclado personalizado"
1036 1084  
... ... @@ -1176,15 +1224,15 @@ msgstr &quot;Estado do espaçamento dinâmico&quot;
1176 1224 msgid "Summary"
1177 1225 msgstr "Sumário"
1178 1226  
1179   -#: src/dialogs/settings/host.c:133
  1227 +#: src/dialogs/settings/host.c:123
1180 1228 msgid "System _type"
1181 1229 msgstr "_Tipo de servidor"
1182 1230  
1183   -#: src/dialogs/settings/host.c:175
  1231 +#: src/dialogs/settings/host.c:165
1184 1232 msgid "System default"
1185 1233 msgstr "Padrão do sistema"
1186 1234  
1187   -#: src/dialogs/settings/host.c:395
  1235 +#: src/dialogs/settings/host.c:377
1188 1236 msgid "TN3270 Custom charset"
1189 1237 msgstr "Código de página TN3270 personalizado"
1190 1238  
... ... @@ -1211,7 +1259,7 @@ msgstr &quot;&quot;
1211 1259 "has been reached, or the maximum number of data blocks per file (16060) has "
1212 1260 "been reached."
1213 1261  
1214   -#: src/dialogs/settings/host.c:637
  1262 +#: src/dialogs/settings/host.c:598
1215 1263 msgid "The EBCDIC host character set. "
1216 1264 msgstr "A tabela de caracteres EBCDIC."
1217 1265  
... ... @@ -1269,7 +1317,7 @@ msgstr &quot;O host detectou um erro no arquivo durante a operação de recebimento.&quot;
1269 1317 msgid "The label for the action"
1270 1318 msgstr "A etiqueta da ação"
1271 1319  
1272   -#: src/dialogs/settings/host.c:190
  1320 +#: src/dialogs/settings/host.c:180
1273 1321 msgid "The model of 3270 display to be emulated"
1274 1322 msgstr "Modelo de tela 3270 a ser emulada"
1275 1323  
... ... @@ -1606,7 +1654,7 @@ msgstr &quot;_Aplicar&quot;
1606 1654 msgid "_Cancel"
1607 1655 msgstr "_Cancelar"
1608 1656  
1609   -#: src/dialogs/settings/host.c:636
  1657 +#: src/dialogs/settings/host.c:597
1610 1658 msgid "_Charset"
1611 1659 msgstr "Tabela de _Caracteres"
1612 1660  
... ... @@ -1615,7 +1663,7 @@ msgstr &quot;Tabela de _Caracteres&quot;
1615 1663 msgid "_Close"
1616 1664 msgstr "_Close"
1617 1665  
1618   -#: src/dialogs/settings/host.c:161
  1666 +#: src/dialogs/settings/host.c:151
1619 1667 msgid "_Color table"
1620 1668 msgstr "_Tabela de cores"
1621 1669  
... ... @@ -1631,7 +1679,7 @@ msgstr &quot;Nome do_Arquivo&quot;
1631 1679 msgid "_Font:"
1632 1680 msgstr "_Fonte:"
1633 1681  
1634   -#: src/dialogs/settings/host.c:231
  1682 +#: src/dialogs/settings/host.c:213
1635 1683 msgid "_Host"
1636 1684 msgstr "_Servidor"
1637 1685  
... ... @@ -1643,7 +1691,7 @@ msgstr &quot;_Carregar&quot;
1643 1691 msgid "_Local file"
1644 1692 msgstr "Arquivo _local:"
1645 1693  
1646   -#: src/dialogs/settings/host.c:189
  1694 +#: src/dialogs/settings/host.c:179
1647 1695 msgid "_Model"
1648 1696 msgstr "_Modelo"
1649 1697  
... ... @@ -1664,11 +1712,11 @@ msgstr &quot;Arquivo _remoto:&quot;
1664 1712 msgid "_Save"
1665 1713 msgstr "_Salvar"
1666 1714  
1667   -#: src/dialogs/settings/host.c:544
  1715 +#: src/dialogs/settings/host.c:527
1668 1716 msgid "_Secure connection."
1669 1717 msgstr "Conexão _Segura."
1670 1718  
1671   -#: src/dialogs/settings/host.c:244
  1719 +#: src/dialogs/settings/host.c:226
1672 1720 msgid "_Service"
1673 1721 msgstr "_Serviço"
1674 1722  
... ... @@ -2789,9 +2837,6 @@ msgstr &quot;Diminui o tamanho da fonte&quot;
2789 2837 #~ msgid "N/A"
2790 2838 #~ msgstr "N/A"
2791 2839  
2792   -#~ msgid "Name of the source file."
2793   -#~ msgstr "Nome do arquivo origem."
2794   -
2795 2840 #~ msgid "Name of the target file."
2796 2841 #~ msgstr "Nome do arquivo destino."
2797 2842  
... ... @@ -3930,9 +3975,6 @@ msgstr &quot;Diminui o tamanho da fonte&quot;
3930 3975 #~ msgid "_Edit"
3931 3976 #~ msgstr "_Editar"
3932 3977  
3933   -#~ msgid "_Host options"
3934   -#~ msgstr "Opções do _Servidor"
3935   -
3936 3978 #~ msgid "_Network"
3937 3979 #~ msgstr "_Rede"
3938 3980  
... ...
src/dialogs/settings/clipboard.c
... ... @@ -49,16 +49,16 @@
49 49  
50 50 static const struct ToggleButtonDefinition toggles[] = {
51 51 {
52   - .left = 0,
53   - .top = 0,
  52 + .left = 1,
  53 + .top = 1,
54 54 .width = 1,
55 55 .grid = COPY_SETTINGS,
56 56 .id = LIB3270_TOGGLE_RECTANGLE_SELECT,
57 57 },
58 58  
59 59 {
60   - .left = 2,
61   - .top = 0,
  60 + .left = 1,
  61 + .top = 2,
62 62 .width = 1,
63 63 .grid = COPY_SETTINGS,
64 64 .id = LIB3270_TOGGLE_MARGINED_PASTE,
... ... @@ -113,8 +113,8 @@
113 113 {
114 114 .grid = COPY_SETTINGS,
115 115 .left = 0,
116   - .top = 1,
117   - .width = 1,
  116 + .top = 0,
  117 + .width = 2,
118 118 .height = 1,
119 119 .label = N_("Format"),
120 120 // .tooltip =
... ... @@ -186,6 +186,31 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) {
186 186 N_("HTML options")
187 187 };
188 188  
  189 + static const struct {
  190 + int left;
  191 + int top;
  192 + int width;
  193 + } positions[GRID_COUNT] = {
  194 + {
  195 + .left = 0,
  196 + .top = 0,
  197 + .width = 1
  198 + },
  199 +
  200 + {
  201 + .left = 1,
  202 + .top = 0,
  203 + .width = 1
  204 + },
  205 +
  206 + {
  207 + .left = 0,
  208 + .top = 1,
  209 + .width = 1
  210 + }
  211 +
  212 + };
  213 +
189 214 for(ix = 0; ix < G_N_ELEMENTS(labels); ix++) {
190 215  
191 216 grids[ix] = gtk_grid_new();
... ... @@ -196,7 +221,8 @@ static void V3270ClipboardSettings_init(V3270ClipboardSettings *widget) {
196 221 gtk_grid_attach(
197 222 GTK_GRID(widget),
198 223 v3270_dialog_create_frame(grids[ix],g_dgettext(PACKAGE_NAME,labels[ix])),
199   - 0,ix,1,1
  224 + positions[ix].left, positions[ix].top,
  225 + positions[ix].width,1
200 226 );
201 227  
202 228 }
... ... @@ -383,6 +409,45 @@ static void load(GtkWidget *w, GtkWidget *t) {
383 409 debug("Plain text: %s",((terminal->selection.options & V3270_SELECTION_PLAIN_TEXT) ? "0" : "1"));
384 410 gtk_combo_box_set_active_id(widget->input.combos[2],(terminal->selection.options & (V3270_SELECTION_ENABLE_HTML|V3270_SELECTION_DIALOG_STATE)) == 0 ? "0" : "1");
385 411  
  412 + //
  413 + // Set font combo-box
  414 + //
  415 + if(terminal->selection.options & V3270_SELECTION_FONT_FAMILY) {
  416 +
  417 + // Has font family settings.
  418 + if(terminal->selection.font_family) {
  419 +
  420 + // Has selected font-family
  421 +
  422 + } else {
  423 +
  424 + // Use screen font.
  425 + gtk_combo_box_set_active_id(widget->input.combos[0],"1");
  426 +
  427 + }
  428 +
  429 + } else {
  430 +
  431 + // No font family
  432 + gtk_combo_box_set_active_id(widget->input.combos[0],"0");
  433 +
  434 + }
  435 +
  436 + //
  437 + // Set color combo box
  438 + //
  439 + if(terminal->selection.options & V3270_SELECTION_COLORS) {
  440 +
  441 + // Has color settings.
  442 + gtk_combo_box_set_active_id(widget->input.combos[1],"1");
  443 +
  444 + } else {
  445 +
  446 + // No color
  447 + gtk_combo_box_set_active_id(widget->input.combos[1],"0");
  448 +
  449 + }
  450 +
386 451 }
387 452  
388 453 static gchar get_active_id(V3270ClipboardSettings *widget, size_t combo) {
... ... @@ -417,12 +482,14 @@ static void apply(GtkWidget *w, GtkWidget *t) {
417 482 // Disable font information
418 483 debug("%s","Disable font information");
419 484 terminal->selection.options &= ~V3270_SELECTION_FONT_FAMILY;
  485 + v3270_selection_set_font_family(t,NULL);
420 486 break;
421 487  
422 488 case '1':
423 489 // Use same font of the screen
424 490 debug("%s","Use same font of the screen");
425 491 terminal->selection.options |= V3270_SELECTION_FONT_FAMILY;
  492 + v3270_selection_set_font_family(t,NULL);
426 493 break;
427 494  
428 495 case 'S':
... ... @@ -439,6 +506,7 @@ static void apply(GtkWidget *w, GtkWidget *t) {
439 506 // Disable color information
440 507 debug("%s","Disable color information");
441 508 terminal->selection.options &= ~V3270_SELECTION_COLORS;
  509 + v3270_selection_set_color_scheme(t,NULL);
442 510 break;
443 511  
444 512 case '1':
... ... @@ -446,6 +514,7 @@ static void apply(GtkWidget *w, GtkWidget *t) {
446 514 // Use same colors of the screen
447 515 debug("%s","Use same colors of the screen");
448 516 terminal->selection.options |= V3270_SELECTION_COLORS;
  517 + v3270_selection_set_color_scheme(t,NULL);
449 518 break;
450 519  
451 520 case 'S':
... ...
src/include/terminal.h
... ... @@ -128,7 +128,7 @@ G_BEGIN_DECLS
128 128  
129 129 } V3270SelectionOption;
130 130  
131   - #define V3270_SELECTION_DEFAULT (V3270_SELECTION_FONT_FAMILY|V3270_SELECTION_COLORS|V3270_SELECTION_NON_BREAKABLE_SPACE)
  131 + #define V3270_SELECTION_DEFAULT (V3270_SELECTION_FONT_FAMILY|V3270_SELECTION_COLORS|V3270_SELECTION_NON_BREAKABLE_SPACE|V3270_SELECTION_DIALOG_STATE)
132 132 #define V3270_SELECTION_ENABLE_HTML (V3270_SELECTION_FONT_FAMILY|V3270_SELECTION_COLORS|V3270_SELECTION_NON_BREAKABLE_SPACE)
133 133  
134 134 /*--[ Globals ]--------------------------------------------------------------------------------------*/
... ... @@ -171,6 +171,10 @@ G_BEGIN_DECLS
171 171 V3270SelectionOption options; ///< @brief Selection options.
172 172 gchar * font_family; ///< @brief Font family for HTML paste.
173 173  
  174 + struct {
  175 + gchar * scheme; ///< @brief Name of the selection color scheme
  176 + } color;
  177 +
174 178 } selection;
175 179  
176 180 LIB3270_POINTER pointer_id;
... ...
src/include/v3270/selection.h
... ... @@ -77,6 +77,9 @@
77 77 void v3270_selection_set_font_family(GtkWidget *widget, const gchar *name);
78 78 const gchar * v3270_selection_get_font_family(GtkWidget *widget);
79 79  
  80 + void v3270_selection_set_color_scheme(GtkWidget *widget, const gchar *name);
  81 + const gchar * v3270_selection_get_color_scheme(GtkWidget *widget);
  82 +
80 83 G_END_DECLS
81 84  
82 85 #endif // V3270_ACTIONS_H_INCLUDED
... ...
src/selection/selection.c
... ... @@ -157,3 +157,27 @@ const gchar * v3270_selection_get_font_family(GtkWidget *widget) {
157 157 return GTK_V3270(widget)->selection.font_family;
158 158 }
159 159  
  160 +void v3270_selection_set_color_scheme(GtkWidget *widget, const gchar *name) {
  161 +
  162 + g_return_if_fail(GTK_IS_V3270(widget));
  163 +
  164 + v3270 * terminal = GTK_V3270(widget);
  165 +
  166 + if(terminal->selection.font_family) {
  167 + g_free(terminal->selection.color.scheme);
  168 + terminal->selection.color.scheme = NULL;
  169 + }
  170 +
  171 + if(name) {
  172 + terminal->selection.color.scheme = g_strdup(name);
  173 + }
  174 +
  175 + v3270_emit_save_settings(widget);
  176 +
  177 +}
  178 +
  179 +const gchar * v3270_selection_get_color_scheme(GtkWidget *widget) {
  180 + g_return_val_if_fail(GTK_IS_V3270(widget),NULL);
  181 + return GTK_V3270(widget)->selection.color.scheme;
  182 +}
  183 +
... ...
src/terminal/actions/clipboard.c
... ... @@ -29,6 +29,7 @@
29 29  
30 30 #include "private.h"
31 31 #include <v3270.h>
  32 + #include <v3270/selection.h>
32 33 #include <lib3270/trace.h>
33 34 #include <lib3270/log.h>
34 35  
... ...
src/terminal/widget.c
... ... @@ -188,6 +188,11 @@ static void finalize(GObject *object) {
188 188 terminal->selection.font_family = NULL;
189 189 }
190 190  
  191 + if(terminal->selection.color.scheme) {
  192 + g_free(terminal->selection.color.scheme);
  193 + terminal->selection.color.scheme = NULL;
  194 + }
  195 +
191 196 G_OBJECT_CLASS(v3270_parent_class)->finalize(object);
192 197 }
193 198  
... ...