Commit a6878485db50fbd4f5f593caf96eb5c775b6bba3

Authored by perry.werneck@gmail.com
1 parent 5636dd03

Implementando sinal quando algum elemento da OIA receb um click, incluindo trata…

…mento de ponteiros ao movimentar o mouse sobre a OIA
@@ -5,7 +5,7 @@ msgid "" @@ -5,7 +5,7 @@ msgid ""
5 msgstr "" 5 msgstr ""
6 "Project-Id-Version: pw3270 5.0\n" 6 "Project-Id-Version: pw3270 5.0\n"
7 "Report-Msgid-Bugs-To: \n" 7 "Report-Msgid-Bugs-To: \n"
8 -"POT-Creation-Date: 2012-12-27 15:43-0200\n" 8 +"POT-Creation-Date: 2013-01-03 17:05-0200\n"
9 "PO-Revision-Date: 2012-12-26 10:36-0200\n" 9 "PO-Revision-Date: 2012-12-26 10:36-0200\n"
10 "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" 10 "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n"
11 "Language-Team: Português <>\n" 11 "Language-Team: Português <>\n"
@@ -78,7 +78,7 @@ msgstr &quot;%s: Tabulação verticao não suportada&quot; @@ -78,7 +78,7 @@ msgstr &quot;%s: Tabulação verticao não suportada&quot;
78 msgid "%s: unknown family %d" 78 msgid "%s: unknown family %d"
79 msgstr "%s: Familia %d é inválida" 79 msgstr "%s: Familia %d é inválida"
80 80
81 -#: telnet.c:1146 81 +#: telnet.c:1164
82 #, c-format 82 #, c-format
83 msgid "%s:%d" 83 msgid "%s:%d"
84 msgstr "%s:%d" 84 msgstr "%s:%d"
@@ -135,7 +135,7 @@ msgstr &quot;&lt;%s&gt; precisa do atributo %s&quot; @@ -135,7 +135,7 @@ msgstr &quot;&lt;%s&gt; precisa do atributo %s&quot;
135 msgid "<%s> should be on toplevel" 135 msgid "<%s> should be on toplevel"
136 msgstr "<%s> deve estar no primeiro nível" 136 msgstr "<%s> deve estar no primeiro nível"
137 137
138 -#: telnet.c:3237 138 +#: telnet.c:3255
139 #, c-format 139 #, c-format
140 msgid "" 140 msgid ""
141 "<b>Connection state:</b> %s\n" 141 "<b>Connection state:</b> %s\n"
@@ -206,7 +206,7 @@ msgstr &quot;Avblock&quot; @@ -206,7 +206,7 @@ msgstr &quot;Avblock&quot;
206 msgid "BLKSIZE:" 206 msgid "BLKSIZE:"
207 msgstr "BLKSIZE:" 207 msgstr "BLKSIZE:"
208 208
209 -#: colors.c:376 209 +#: colors.c:393
210 msgid "Background" 210 msgid "Background"
211 msgstr "Fundo" 211 msgstr "Fundo"
212 212
@@ -214,7 +214,7 @@ msgstr &quot;Fundo&quot; @@ -214,7 +214,7 @@ msgstr &quot;Fundo&quot;
214 msgid "Bad winsock version" 214 msgid "Bad winsock version"
215 msgstr "Versão winsock inválida" 215 msgstr "Versão winsock inválida"
216 216
217 -#: colors.c:384 217 +#: colors.c:401
218 msgid "Black" 218 msgid "Black"
219 msgstr "Preto" 219 msgstr "Preto"
220 220
@@ -226,7 +226,7 @@ msgstr &quot;Completar com espaços&quot; @@ -226,7 +226,7 @@ msgstr &quot;Completar com espaços&quot;
226 msgid "Blinking Cursor" 226 msgid "Blinking Cursor"
227 msgstr "Cursor piscante" 227 msgstr "Cursor piscante"
228 228
229 -#: colors.c:377 229 +#: colors.c:394
230 msgid "Blue" 230 msgid "Blue"
231 msgstr "Azul" 231 msgstr "Azul"
232 232
@@ -242,7 +242,7 @@ msgstr &quot;Portal do Software Público Brasileiro&quot; @@ -242,7 +242,7 @@ msgstr &quot;Portal do Software Público Brasileiro&quot;
242 msgid "Break" 242 msgid "Break"
243 msgstr "Break" 243 msgstr "Break"
244 244
245 -#: telnet.c:2112 245 +#: telnet.c:2130
246 msgid "Broken pipe" 246 msgid "Broken pipe"
247 msgstr "Conexão interrompida" 247 msgstr "Conexão interrompida"
248 248
@@ -398,11 +398,11 @@ msgstr &quot;Tabela de tradução tem mais de 256 caracteres&quot; @@ -398,11 +398,11 @@ msgstr &quot;Tabela de tradução tem mais de 256 caracteres&quot;
398 msgid "Clear" 398 msgid "Clear"
399 msgstr "Limpar" 399 msgstr "Limpar"
400 400
401 -#: colors.c:507 401 +#: colors.c:525
402 msgid "Color scheme:" 402 msgid "Color scheme:"
403 msgstr "Tema de cores:" 403 msgstr "Tema de cores:"
404 404
405 -#: colors.c:413 405 +#: colors.c:431
406 msgid "Color setup" 406 msgid "Color setup"
407 msgstr "Configuração de cores" 407 msgstr "Configuração de cores"
408 408
@@ -418,7 +418,7 @@ msgstr &quot;Completo&quot; @@ -418,7 +418,7 @@ msgstr &quot;Completo&quot;
418 msgid "Connect on startup" 418 msgid "Connect on startup"
419 msgstr "Conectar ao iniciar" 419 msgstr "Conectar ao iniciar"
420 420
421 -#: telnet.c:2116 421 +#: telnet.c:2134
422 msgid "Connection reset by peer" 422 msgid "Connection reset by peer"
423 msgstr "Conexão foi cancelada pelo servidor" 423 msgstr "Conexão foi cancelada pelo servidor"
424 424
@@ -438,7 +438,7 @@ msgstr &quot;Copiar como tabela&quot; @@ -438,7 +438,7 @@ msgstr &quot;Copiar como tabela&quot;
438 msgid "Cross Hair Cursor" 438 msgid "Cross Hair Cursor"
439 msgstr "Cursor mira" 439 msgstr "Cursor mira"
440 440
441 -#: colors.c:401 441 +#: colors.c:418
442 msgid "Cross hair cursor" 442 msgid "Cross hair cursor"
443 msgstr "Cursor mira" 443 msgstr "Cursor mira"
444 444
@@ -447,7 +447,7 @@ msgstr &quot;Cursor mira&quot; @@ -447,7 +447,7 @@ msgstr &quot;Cursor mira&quot;
447 msgid "Current (%s)" 447 msgid "Current (%s)"
448 msgstr "Atual (%s)" 448 msgstr "Atual (%s)"
449 449
450 -#: colors.c:294 450 +#: colors.c:311
451 msgid "Custom colors" 451 msgid "Custom colors"
452 msgstr "Cores personalizadas" 452 msgstr "Cores personalizadas"
453 453
@@ -467,11 +467,11 @@ msgstr &quot;Tamanho do b_uffer DFT:&quot; @@ -467,11 +467,11 @@ msgstr &quot;Tamanho do b_uffer DFT:&quot;
467 msgid "DS Trace" 467 msgid "DS Trace"
468 msgstr "DS Trace" 468 msgstr "DS Trace"
469 469
470 -#: colors.c:385 470 +#: colors.c:402
471 msgid "Dark Blue" 471 msgid "Dark Blue"
472 msgstr "Azul Escuro" 472 msgstr "Azul Escuro"
473 473
474 -#: colors.c:388 474 +#: colors.c:405
475 msgid "Dark Green" 475 msgid "Dark Green"
476 msgstr "Verde Escuro" 476 msgstr "Verde Escuro"
477 477
@@ -495,7 +495,7 @@ msgstr &quot;Padrão&quot; @@ -495,7 +495,7 @@ msgstr &quot;Padrão&quot;
495 msgid "Delete field" 495 msgid "Delete field"
496 msgstr "Apagar campo" 496 msgstr "Apagar campo"
497 497
498 -#: telnet.c:1787 498 +#: telnet.c:1805
499 msgid "Device type rejected" 499 msgid "Device type rejected"
500 msgstr "Tipo de dispositivo rejeitado" 500 msgstr "Tipo de dispositivo rejeitado"
501 501
@@ -503,7 +503,7 @@ msgstr &quot;Tipo de dispositivo rejeitado&quot; @@ -503,7 +503,7 @@ msgstr &quot;Tipo de dispositivo rejeitado&quot;
503 msgid "Disconnected from host" 503 msgid "Disconnected from host"
504 msgstr "Desconectado do servidor" 504 msgstr "Desconectado do servidor"
505 505
506 -#: telnet.c:1362 506 +#: telnet.c:1380
507 msgid "EOR received when not in 3270 mode, ignored." 507 msgid "EOR received when not in 3270 mode, ignored."
508 msgstr "EOR recebido fora do modo 3270, ignorado." 508 msgstr "EOR recebido fora do modo 3270, ignorado."
509 509
@@ -570,12 +570,12 @@ msgstr &quot;Erro \&quot;%s\&quot; gravando arquivo local (rc=%d)&quot; @@ -570,12 +570,12 @@ msgstr &quot;Erro \&quot;%s\&quot; gravando arquivo local (rc=%d)&quot;
570 msgid "Error %d resolving %s" 570 msgid "Error %d resolving %s"
571 msgstr "Erro %d resolvendo %s" 571 msgstr "Erro %d resolvendo %s"
572 572
573 -#: telnet.c:3100 telnet.c:3111 573 +#: telnet.c:3118 telnet.c:3129
574 #, c-format 574 #, c-format
575 msgid "Error in fcntl(%s) when setting non blocking mode" 575 msgid "Error in fcntl(%s) when setting non blocking mode"
576 msgstr "Erro em fcntl(%s) ao ativar o modo não blocante" 576 msgstr "Erro em fcntl(%s) ao ativar o modo não blocante"
577 577
578 -#: telnet.c:3090 578 +#: telnet.c:3108
579 #, c-format 579 #, c-format
580 msgid "Error in ioctl(%s) when setting no blocking mode" 580 msgid "Error in ioctl(%s) when setting no blocking mode"
581 msgstr "Erro em ioctl(%s) ao ativar o modo não blocante" 581 msgstr "Erro em ioctl(%s) ao ativar o modo não blocante"
@@ -598,7 +598,7 @@ msgstr &quot;Trace de eventos&quot; @@ -598,7 +598,7 @@ msgstr &quot;Trace de eventos&quot;
598 msgid "Extra CGCSGID(s), ignoring" 598 msgid "Extra CGCSGID(s), ignoring"
599 msgstr "Extra CGCSGID(s), ignoring" 599 msgstr "Extra CGCSGID(s), ignoring"
600 600
601 -#: colors.c:370 601 +#: colors.c:387
602 msgid "Field colors" 602 msgid "Field colors"
603 msgstr "Cor dos campos" 603 msgstr "Cor dos campos"
604 604
@@ -634,11 +634,11 @@ msgstr &quot;Barra de funções&quot; @@ -634,11 +634,11 @@ msgstr &quot;Barra de funções&quot;
634 msgid "GTK Version mismatch" 634 msgid "GTK Version mismatch"
635 msgstr "Divergência de versão GTK" 635 msgstr "Divergência de versão GTK"
636 636
637 -#: colors.c:391 637 +#: colors.c:408
638 msgid "Gray" 638 msgid "Gray"
639 msgstr "Cinza" 639 msgstr "Cinza"
640 640
641 -#: colors.c:380 641 +#: colors.c:397
642 msgid "Green" 642 msgid "Green"
643 msgstr "Verde" 643 msgstr "Verde"
644 644
@@ -679,7 +679,7 @@ msgstr &quot;Ajuda&quot; @@ -679,7 +679,7 @@ msgstr &quot;Ajuda&quot;
679 msgid "Host disconnected, transfer cancelled" 679 msgid "Host disconnected, transfer cancelled"
680 msgstr "Servidor desconectou, transferência cancelada" 680 msgstr "Servidor desconectou, transferência cancelada"
681 681
682 -#: telnet.c:1845 682 +#: telnet.c:1863
683 msgid "Host illegally added function(s)" 683 msgid "Host illegally added function(s)"
684 msgstr "Host illegally added function(s)" 684 msgstr "Host illegally added function(s)"
685 685
@@ -691,11 +691,11 @@ msgstr &quot;Servidor é AS_400&quot; @@ -691,11 +691,11 @@ msgstr &quot;Servidor é AS_400&quot;
691 msgid "Host is TSO" 691 msgid "Host is TSO"
692 msgstr "Servidor é TSO" 692 msgstr "Servidor é TSO"
693 693
694 -#: telnet.c:1770 694 +#: telnet.c:1788
695 msgid "Host rejected device type or request type" 695 msgid "Host rejected device type or request type"
696 msgstr "Servidor rejeitou o tipo de dispositivo ou requisição" 696 msgstr "Servidor rejeitou o tipo de dispositivo ou requisição"
697 697
698 -#: telnet.c:1783 698 +#: telnet.c:1801
699 msgid "Host rejected resource(s)" 699 msgid "Host rejected resource(s)"
700 msgstr "Servidor rejeitou recurso(s)" 700 msgstr "Servidor rejeitou recurso(s)"
701 701
@@ -732,11 +732,11 @@ msgstr &quot;Informações&quot; @@ -732,11 +732,11 @@ msgstr &quot;Informações&quot;
732 msgid "Input method" 732 msgid "Input method"
733 msgstr "Método de entrada" 733 msgstr "Método de entrada"
734 734
735 -#: colors.c:396 735 +#: colors.c:413
736 msgid "Intensified/Protected" 736 msgid "Intensified/Protected"
737 msgstr "Intensificado/Protegido" 737 msgstr "Intensificado/Protegido"
738 738
739 -#: colors.c:394 739 +#: colors.c:411
740 msgid "Intensified/Unprotected" 740 msgid "Intensified/Unprotected"
741 msgstr "Intensificado/Desprotegido" 741 msgstr "Intensificado/Desprotegido"
742 742
@@ -787,7 +787,7 @@ msgstr &quot;LRECL:&quot; @@ -787,7 +787,7 @@ msgstr &quot;LRECL:&quot;
787 msgid "Lateral keypad" 787 msgid "Lateral keypad"
788 msgstr "Barra lateral" 788 msgstr "Barra lateral"
789 789
790 -#: colors.c:371 790 +#: colors.c:388
791 msgid "Misc colors" 791 msgid "Misc colors"
792 msgstr "Cores diversas" 792 msgstr "Cores diversas"
793 793
@@ -820,7 +820,7 @@ msgstr &quot;Múltiplos nomes de porta&quot; @@ -820,7 +820,7 @@ msgstr &quot;Múltiplos nomes de porta&quot;
820 msgid "Must specify port for telnet proxy" 820 msgid "Must specify port for telnet proxy"
821 msgstr "Proxy telnet precisa de porta" 821 msgstr "Proxy telnet precisa de porta"
822 822
823 -#: colors.c:390 823 +#: colors.c:407
824 msgid "Mustard" 824 msgid "Mustard"
825 msgstr "Mostarda" 825 msgstr "Mostarda"
826 826
@@ -840,11 +840,11 @@ msgstr &quot;Erro ao iniciar a rede&quot; @@ -840,11 +840,11 @@ msgstr &quot;Erro ao iniciar a rede&quot;
840 msgid "Next field" 840 msgid "Next field"
841 msgstr "Próximo campo" 841 msgstr "Próximo campo"
842 842
843 -#: colors.c:395 843 +#: colors.c:412
844 msgid "Normal/Protected" 844 msgid "Normal/Protected"
845 msgstr "Normal/Protegido" 845 msgstr "Normal/Protegido"
846 846
847 -#: colors.c:393 847 +#: colors.c:410
848 msgid "Normal/Unprotected" 848 msgid "Normal/Unprotected"
849 msgstr "Normal/Desprotegido" 849 msgstr "Normal/Desprotegido"
850 850
@@ -856,23 +856,28 @@ msgstr &quot;Não disponível&quot; @@ -856,23 +856,28 @@ msgstr &quot;Não disponível&quot;
856 msgid "Not in 3270 mode, transfer cancelled" 856 msgid "Not in 3270 mode, transfer cancelled"
857 msgstr "Não está no modo 3270, transferência cancelada" 857 msgstr "Não está no modo 3270, transferência cancelada"
858 858
859 -#: colors.c:404 859 +#: colors.c:425
  860 +#, fuzzy
  861 +msgid "OIA Warning"
  862 +msgstr "Alerta 3270"
  863 +
  864 +#: colors.c:421
860 msgid "OIA background" 865 msgid "OIA background"
861 msgstr "Fundo da OIA" 866 msgstr "Fundo da OIA"
862 867
863 -#: colors.c:405 868 +#: colors.c:422
864 msgid "OIA foreground" 869 msgid "OIA foreground"
865 msgstr "Frente da OIA" 870 msgstr "Frente da OIA"
866 871
867 -#: colors.c:406 872 +#: colors.c:423
868 msgid "OIA separator" 873 msgid "OIA separator"
869 msgstr "Separador da OIA" 874 msgstr "Separador da OIA"
870 875
871 -#: colors.c:408 876 +#: colors.c:426
872 msgid "OIA status invalid" 877 msgid "OIA status invalid"
873 msgstr "Estado inválido na OIA" 878 msgstr "Estado inválido na OIA"
874 879
875 -#: colors.c:407 880 +#: colors.c:424
876 msgid "OIA status ok" 881 msgid "OIA status ok"
877 msgstr "Estado normal na OIA" 882 msgstr "Estado normal na OIA"
878 883
@@ -885,7 +890,7 @@ msgstr &quot;Opção não suportada: &#39;%c:&#39;&quot; @@ -885,7 +890,7 @@ msgstr &quot;Opção não suportada: &#39;%c:&#39;&quot;
885 msgid "Options" 890 msgid "Options"
886 msgstr "Opções" 891 msgstr "Opções"
887 892
888 -#: colors.c:386 893 +#: colors.c:403
889 msgid "Orange" 894 msgid "Orange"
890 msgstr "Laranja" 895 msgstr "Laranja"
891 896
@@ -1042,7 +1047,7 @@ msgstr &quot;Colar com margem esquerda&quot; @@ -1042,7 +1047,7 @@ msgstr &quot;Colar com margem esquerda&quot;
1042 msgid "Path to application data files" 1047 msgid "Path to application data files"
1043 msgstr "Path to application data files" 1048 msgstr "Path to application data files"
1044 1049
1045 -#: colors.c:379 1050 +#: colors.c:396
1046 msgid "Pink" 1051 msgid "Pink"
1047 msgstr "Rosa" 1052 msgstr "Rosa"
1048 1053
@@ -1082,7 +1087,7 @@ msgstr &quot;Configurações de impressão&quot; @@ -1082,7 +1087,7 @@ msgstr &quot;Configurações de impressão&quot;
1082 msgid "Progress" 1087 msgid "Progress"
1083 msgstr "Progresso" 1088 msgstr "Progresso"
1084 1089
1085 -#: colors.c:387 1090 +#: colors.c:404
1086 msgid "Purple" 1091 msgid "Purple"
1087 msgstr "Púrpura" 1092 msgstr "Púrpura"
1088 1093
@@ -1174,7 +1179,7 @@ msgstr &quot;Receber arquivo do servidor&quot; @@ -1174,7 +1179,7 @@ msgstr &quot;Receber arquivo do servidor&quot;
1174 msgid "Record format" 1179 msgid "Record format"
1175 msgstr "Formato de registro" 1180 msgstr "Formato de registro"
1176 1181
1177 -#: colors.c:378 1182 +#: colors.c:395
1178 msgid "Red" 1183 msgid "Red"
1179 msgstr "Vermelho" 1184 msgstr "Vermelho"
1180 1185
@@ -1326,15 +1331,15 @@ msgstr &quot;SOCKS5 Proxy: xmit version 5 nmethods 1 (no auth)\n&quot; @@ -1326,15 +1331,15 @@ msgstr &quot;SOCKS5 Proxy: xmit version 5 nmethods 1 (no auth)\n&quot;
1326 msgid "SOCKS5 proxy: %s/%u: %s" 1331 msgid "SOCKS5 proxy: %s/%u: %s"
1327 msgstr "SOCKS5 proxy: %s/%u: %s" 1332 msgstr "SOCKS5 proxy: %s/%u: %s"
1328 1333
1329 -#: telnet.c:3235 1334 +#: telnet.c:3253
1330 msgid "SSL Connect error" 1335 msgid "SSL Connect error"
1331 msgstr "Erro na conexão SSL" 1336 msgstr "Erro na conexão SSL"
1332 1337
1333 -#: telnet.c:1129 1338 +#: telnet.c:1147
1334 msgid "SSL Error" 1339 msgid "SSL Error"
1335 msgstr "Erro SSL" 1340 msgstr "Erro SSL"
1336 1341
1337 -#: telnet.c:1129 1342 +#: telnet.c:1147
1338 msgid "SSL Read error" 1343 msgid "SSL Read error"
1339 msgstr "Erro de leitura SSL" 1344 msgstr "Erro de leitura SSL"
1340 1345
@@ -1354,7 +1359,7 @@ msgstr &quot;Inicialização SSL falhou&quot; @@ -1354,7 +1359,7 @@ msgstr &quot;Inicialização SSL falhou&quot;
1354 msgid "SSL_set_fd failed!" 1359 msgid "SSL_set_fd failed!"
1355 msgstr "SSL_set_fd falhou!" 1360 msgstr "SSL_set_fd falhou!"
1356 1361
1357 -#: telnet.c:2102 1362 +#: telnet.c:2120
1358 #, c-format 1363 #, c-format
1359 msgid "" 1364 msgid ""
1360 "SSL_write:\n" 1365 "SSL_write:\n"
@@ -1431,11 +1436,11 @@ msgstr &quot;Selecione fonte&quot; @@ -1431,11 +1436,11 @@ msgstr &quot;Selecione fonte&quot;
1431 msgid "Select hostname" 1436 msgid "Select hostname"
1432 msgstr "Selecione host" 1437 msgstr "Selecione host"
1433 1438
1434 -#: colors.c:398 1439 +#: colors.c:415
1435 msgid "Selection background" 1440 msgid "Selection background"
1436 msgstr "Fundo da seleção" 1441 msgstr "Fundo da seleção"
1437 1442
1438 -#: colors.c:399 1443 +#: colors.c:416
1439 msgid "Selection foreground" 1444 msgid "Selection foreground"
1440 msgstr "Frente da seleção" 1445 msgstr "Frente da seleção"
1441 1446
@@ -1479,11 +1484,11 @@ msgstr &quot;Mostrar padrão de teste&quot; @@ -1479,11 +1484,11 @@ msgstr &quot;Mostrar padrão de teste&quot;
1479 msgid "Smart paste" 1484 msgid "Smart paste"
1480 msgstr "Colar inteligente" 1485 msgstr "Colar inteligente"
1481 1486
1482 -#: telnet.c:1150 1487 +#: telnet.c:1168
1483 msgid "Socket read error" 1488 msgid "Socket read error"
1484 msgstr "Erro ao ler dados da rede" 1489 msgstr "Erro ao ler dados da rede"
1485 1490
1486 -#: telnet.c:2123 1491 +#: telnet.c:2141
1487 msgid "Socket write error" 1492 msgid "Socket write error"
1488 msgstr "Erro ao enviar dados para a rede" 1493 msgstr "Erro ao enviar dados para a rede"
1489 1494
@@ -1507,7 +1512,7 @@ msgstr &quot;Tipo de servidor:&quot; @@ -1507,7 +1512,7 @@ msgstr &quot;Tipo de servidor:&quot;
1507 msgid "TELNET Proxy: send error" 1512 msgid "TELNET Proxy: send error"
1508 msgstr "TELNET Proxy: send error" 1513 msgstr "TELNET Proxy: send error"
1509 1514
1510 -#: telnet.c:3284 1515 +#: telnet.c:3302
1511 msgid "TLS negotiation failure" 1516 msgid "TLS negotiation failure"
1512 msgstr "Negociação TLS falhou" 1517 msgstr "Negociação TLS falhou"
1513 1518
@@ -1515,7 +1520,7 @@ msgstr &quot;Negociação TLS falhou&quot; @@ -1515,7 +1520,7 @@ msgstr &quot;Negociação TLS falhou&quot;
1515 msgid "T_otal" 1520 msgid "T_otal"
1516 msgstr "T_otal" 1521 msgstr "T_otal"
1517 1522
1518 -#: colors.c:369 1523 +#: colors.c:386
1519 msgid "Terminal colors" 1524 msgid "Terminal colors"
1520 msgstr "Cores do terminal" 1525 msgstr "Cores do terminal"
1521 1526
@@ -1603,7 +1608,7 @@ msgstr &quot;Opções de transferência&quot; @@ -1603,7 +1608,7 @@ msgstr &quot;Opções de transferência&quot;
1603 msgid "Transmission error" 1608 msgid "Transmission error"
1604 msgstr "Erro de transmissão" 1609 msgstr "Erro de transmissão"
1605 1610
1606 -#: colors.c:381 colors.c:389 1611 +#: colors.c:398 colors.c:406
1607 msgid "Turquoise" 1612 msgid "Turquoise"
1608 msgstr "Turquesa" 1613 msgstr "Turquesa"
1609 1614
@@ -1778,7 +1783,7 @@ msgstr &quot;Aguardando resposta do pedido de upload&quot; @@ -1778,7 +1783,7 @@ msgstr &quot;Aguardando resposta do pedido de upload&quot;
1778 msgid "Western Europe (ISO 8859-1)" 1783 msgid "Western Europe (ISO 8859-1)"
1779 msgstr "Europa ocidental (ISO 8859-1)" 1784 msgstr "Europa ocidental (ISO 8859-1)"
1780 1785
1781 -#: colors.c:383 1786 +#: colors.c:400
1782 msgid "White" 1787 msgid "White"
1783 msgstr "Branco" 1788 msgstr "Branco"
1784 1789
@@ -1790,51 +1795,51 @@ msgstr &quot;Janela&quot; @@ -1790,51 +1795,51 @@ msgstr &quot;Janela&quot;
1790 msgid "Windows Western languages (CP1252)" 1795 msgid "Windows Western languages (CP1252)"
1791 msgstr "Windows ocidental (CP1252)" 1796 msgstr "Windows ocidental (CP1252)"
1792 1797
1793 -#: v3270/oia.c:411 v3270/oia.c:435 v3270/oia.c:439 1798 +#: v3270/oia.c:420 v3270/oia.c:444 v3270/oia.c:448
1794 msgid "X" 1799 msgid "X"
1795 msgstr "X" 1800 msgstr "X"
1796 1801
1797 -#: v3270/oia.c:415 1802 +#: v3270/oia.c:424
1798 msgid "X -f" 1803 msgid "X -f"
1799 msgstr "X -f" 1804 msgstr "X -f"
1800 1805
1801 -#: v3270/oia.c:447 1806 +#: v3270/oia.c:456
1802 msgid "X Connecting" 1807 msgid "X Connecting"
1803 msgstr "X Conectando" 1808 msgstr "X Conectando"
1804 1809
1805 -#: v3270/oia.c:431 1810 +#: v3270/oia.c:440
1806 msgid "X Inhibit" 1811 msgid "X Inhibit"
1807 msgstr "X Inibido" 1812 msgstr "X Inibido"
1808 1813
1809 -#: v3270/oia.c:407 1814 +#: v3270/oia.c:416
1810 msgid "X Not Connected" 1815 msgid "X Not Connected"
1811 msgstr "X Desconectado" 1816 msgstr "X Desconectado"
1812 1817
1813 -#: v3270/oia.c:423 1818 +#: v3270/oia.c:432
1814 msgid "X Numeric" 1819 msgid "X Numeric"
1815 msgstr "X Numérico" 1820 msgstr "X Numérico"
1816 1821
1817 -#: v3270/oia.c:427 1822 +#: v3270/oia.c:436
1818 msgid "X Overflow" 1823 msgid "X Overflow"
1819 msgstr "X Estouro" 1824 msgstr "X Estouro"
1820 1825
1821 -#: v3270/oia.c:419 1826 +#: v3270/oia.c:428
1822 msgid "X Protected" 1827 msgid "X Protected"
1823 msgstr "X Protegido" 1828 msgstr "X Protegido"
1824 1829
1825 -#: v3270/oia.c:443 1830 +#: v3270/oia.c:452
1826 msgid "X Resolving" 1831 msgid "X Resolving"
1827 msgstr "X Resolvendo" 1832 msgstr "X Resolvendo"
1828 1833
1829 -#: v3270/oia.c:395 1834 +#: v3270/oia.c:404
1830 msgid "X System" 1835 msgid "X System"
1831 msgstr "X Sistema" 1836 msgstr "X Sistema"
1832 1837
1833 -#: v3270/oia.c:399 1838 +#: v3270/oia.c:408
1834 msgid "X Wait" 1839 msgid "X Wait"
1835 msgstr "X Aguarde" 1840 msgstr "X Aguarde"
1836 1841
1837 -#: colors.c:382 1842 +#: colors.c:399
1838 msgid "Yellow" 1843 msgid "Yellow"
1839 msgstr "Amarelo" 1844 msgstr "Amarelo"
1840 1845
@@ -1964,7 +1969,7 @@ msgstr &quot;socket&quot; @@ -1964,7 +1969,7 @@ msgstr &quot;socket&quot;
1964 msgid "translator-credits" 1969 msgid "translator-credits"
1965 msgstr "translator-credits" 1970 msgstr "translator-credits"
1966 1971
1967 -#: telnet.c:1125 1972 +#: telnet.c:1143
1968 msgid "unknown error" 1973 msgid "unknown error"
1969 msgstr "Erro desconhecido" 1974 msgstr "Erro desconhecido"
1970 1975
src/include/pw3270/v3270.h
@@ -121,6 +121,8 @@ @@ -121,6 +121,8 @@
121 121
122 } V3270_OIA_FIELD; 122 } V3270_OIA_FIELD;
123 123
  124 + #define V3270_OIA_FIELD_INVALID ((V3270_OIA_FIELD) -1)
  125 +
124 126
125 #define V3270_COLOR_OIA_SPINNER V3270_COLOR_OIA_FOREGROUND 127 #define V3270_COLOR_OIA_SPINNER V3270_COLOR_OIA_FOREGROUND
126 #define V3270_COLOR_OIA_LUNAME V3270_COLOR_OIA_FOREGROUND 128 #define V3270_COLOR_OIA_LUNAME V3270_COLOR_OIA_FOREGROUND
src/pw3270/v3270/genmarshal
@@ -10,3 +10,4 @@ VOID:VOID,BOOL @@ -10,3 +10,4 @@ VOID:VOID,BOOL
10 BOOL:VOID,BOOL,BOOL,POINTER 10 BOOL:VOID,BOOL,BOOL,POINTER
11 VOID:VOID,UINT,UINT 11 VOID:VOID,UINT,UINT
12 VOID:VOID,UINT,POINTER,POINTER,POINTER 12 VOID:VOID,UINT,POINTER,POINTER,POINTER
  13 +BOOL:VOID,BOOL,UINT,POINTER
src/pw3270/v3270/mouse.c
@@ -128,28 +128,49 @@ void v3270_emit_popup(v3270 *widget, int baddr, GdkEventButton *event) @@ -128,28 +128,49 @@ void v3270_emit_popup(v3270 *widget, int baddr, GdkEventButton *event)
128 gdk_beep(); 128 gdk_beep();
129 } 129 }
130 130
131 -gboolean v3270_button_press_event(GtkWidget *widget, GdkEventButton *event) 131 +static V3270_OIA_FIELD get_field_from_event(v3270 *widget, GdkEventButton *event)
132 { 132 {
133 - int baddr = v3270_get_offset_at_point(GTK_V3270(widget),event->x,event->y); 133 + if(event->y >= widget->oia_rect->y)
  134 + {
  135 + V3270_OIA_FIELD f;
134 136
135 - if(baddr < 0)  
136 - return FALSE; 137 + for(f=0;f<V3270_OIA_FIELD_COUNT;f++)
  138 + {
  139 + if(event->x >= widget->oia_rect[f].x && event->x <= (widget->oia_rect[f].x+widget->oia_rect[f].width))
  140 + return f;
  141 + }
  142 + }
137 143
138 -// trace("%s button=%d type=%d",__FUNCTION__,event->button,event->type); 144 + return V3270_OIA_FIELD_INVALID;
  145 +}
139 146
140 - switch(event->button) 147 +gboolean v3270_button_press_event(GtkWidget *widget, GdkEventButton *event)
  148 +{
  149 + int baddr = v3270_get_offset_at_point(GTK_V3270(widget),event->x,event->y);
  150 +
  151 + if(baddr >= 0)
141 { 152 {
142 - case 1: // Left button  
143 - button_1_press(widget,event->type,baddr);  
144 - break; 153 + GTK_V3270(widget)->selected_field = V3270_OIA_FIELD_INVALID;
145 154
146 - case 3: // Right button  
147 - if(event->type == GDK_BUTTON_PRESS)  
148 - v3270_emit_popup(GTK_V3270(widget),baddr,event);  
149 - break; 155 + switch(event->button)
  156 + {
  157 + case 1: // Left button
  158 + button_1_press(widget,event->type,baddr);
  159 + break;
150 160
151 - default:  
152 - trace("%s button=%d type=%d",__FUNCTION__,event->button,event->type); 161 + case 3: // Right button
  162 + if(event->type == GDK_BUTTON_PRESS)
  163 + v3270_emit_popup(GTK_V3270(widget),baddr,event);
  164 + break;
  165 +
  166 + default:
  167 + trace("%s button=%d type=%d",__FUNCTION__,event->button,event->type);
  168 + }
  169 + }
  170 + else if(event->button == 1 && event->type == GDK_BUTTON_PRESS)
  171 + {
  172 + GTK_V3270(widget)->selected_field = get_field_from_event(GTK_V3270(widget),event);
  173 + trace("%s field=%d",__FUNCTION__,GTK_V3270(widget)->selected_field);
153 } 174 }
154 175
155 return FALSE; 176 return FALSE;
@@ -163,24 +184,44 @@ gboolean v3270_button_release_event(GtkWidget *widget, GdkEventButton*event) @@ -163,24 +184,44 @@ gboolean v3270_button_release_event(GtkWidget *widget, GdkEventButton*event)
163 GTK_V3270(widget)->selecting = 0; 184 GTK_V3270(widget)->selecting = 0;
164 GTK_V3270(widget)->moving = 0; 185 GTK_V3270(widget)->moving = 0;
165 GTK_V3270(widget)->resizing = 0; 186 GTK_V3270(widget)->resizing = 0;
  187 +
  188 + if(GTK_V3270(widget)->selected_field != V3270_OIA_FIELD_INVALID && GTK_V3270(widget)->selected_field == get_field_from_event(GTK_V3270(widget),event))
  189 + {
  190 + gboolean handled = FALSE;
  191 +
  192 + trace("%s field %d was clicked event=%p",__FUNCTION__,GTK_V3270(widget)->selected_field,event);
  193 +
  194 + g_signal_emit(widget, v3270_widget_signal[SIGNAL_FIELD], 0,
  195 + lib3270_connected(GTK_V3270(widget)->host) ? TRUE : FALSE,
  196 + GTK_V3270(widget)->selected_field,
  197 + event,
  198 + &handled);
  199 +
  200 + trace("Handled: %s",handled ? "Yes": "No");
  201 +
  202 + if(!handled)
  203 + gdk_beep();
  204 +
  205 + }
  206 +
  207 + GTK_V3270(widget)->selected_field = V3270_OIA_FIELD_INVALID;
  208 +
166 break; 209 break;
167 210
168 default: 211 default:
169 trace("%s button=%d type=%d",__FUNCTION__,event->button,event->type); 212 trace("%s button=%d type=%d",__FUNCTION__,event->button,event->type);
170 } 213 }
171 214
172 -  
173 return FALSE; 215 return FALSE;
174 } 216 }
175 217
176 -  
177 static void update_mouse_pointer(GtkWidget *widget, int baddr) 218 static void update_mouse_pointer(GtkWidget *widget, int baddr)
178 { 219 {
179 - v3270 *terminal = GTK_V3270(widget); 220 + v3270 * terminal = GTK_V3270(widget);
  221 + int id = terminal->pointer;
180 222
181 if(baddr >= 0 && terminal->pointer_id == LIB3270_CURSOR_EDITABLE) 223 if(baddr >= 0 && terminal->pointer_id == LIB3270_CURSOR_EDITABLE)
182 { 224 {
183 - int id = terminal->pointer;  
184 225
185 switch(lib3270_get_selection_flags(terminal->host,baddr) & 0x8f) 226 switch(lib3270_get_selection_flags(terminal->host,baddr) & 0x8f)
186 { 227 {
@@ -225,9 +266,10 @@ static void update_mouse_pointer(GtkWidget *widget, int baddr) @@ -225,9 +266,10 @@ static void update_mouse_pointer(GtkWidget *widget, int baddr)
225 266
226 } 267 }
227 268
228 - gdk_window_set_cursor(gtk_widget_get_window(widget),v3270_cursor[id]);  
229 } 269 }
230 270
  271 + gdk_window_set_cursor(gtk_widget_get_window(widget),v3270_cursor[id]);
  272 +
231 } 273 }
232 274
233 void v3270_update_mouse_pointer(GtkWidget *widget) 275 void v3270_update_mouse_pointer(GtkWidget *widget)
@@ -244,11 +286,20 @@ void v3270_update_mouse_pointer(GtkWidget *widget) @@ -244,11 +286,20 @@ void v3270_update_mouse_pointer(GtkWidget *widget)
244 286
245 gboolean v3270_motion_notify_event(GtkWidget *widget, GdkEventMotion *event) 287 gboolean v3270_motion_notify_event(GtkWidget *widget, GdkEventMotion *event)
246 { 288 {
247 - v3270 * terminal = GTK_V3270(widget);  
248 - int baddr = v3270_get_offset_at_point(terminal,event->x,event->y); 289 + v3270 * terminal = GTK_V3270(widget);
  290 + int baddr;
  291 +
  292 + if(!lib3270_connected(terminal->host))
  293 + {
  294 + gdk_window_set_cursor(gtk_widget_get_window(widget),v3270_cursor[V3270_CURSOR_PROTECTED]);
  295 + return FALSE;
  296 + }
  297 +
  298 + baddr = v3270_get_offset_at_point(terminal,event->x,event->y);
249 299
250 if(baddr >= 0) 300 if(baddr >= 0)
251 { 301 {
  302 +
252 if(terminal->selecting) // Select region 303 if(terminal->selecting) // Select region
253 { 304 {
254 lib3270_select_to(terminal->host,baddr); 305 lib3270_select_to(terminal->host,baddr);
@@ -263,6 +314,37 @@ gboolean v3270_motion_notify_event(GtkWidget *widget, GdkEventMotion *event) @@ -263,6 +314,37 @@ gboolean v3270_motion_notify_event(GtkWidget *widget, GdkEventMotion *event)
263 update_mouse_pointer(widget,baddr); 314 update_mouse_pointer(widget,baddr);
264 } 315 }
265 } 316 }
  317 + else if(event->y >= terminal->oia_rect->y)
  318 + {
  319 + int id = V3270_CURSOR_PROTECTED;
  320 +
  321 + if(event->x >= terminal->oia_rect[V3270_OIA_SSL].x && event->x <= (terminal->oia_rect[V3270_OIA_SSL].x + terminal->oia_rect[V3270_OIA_SSL].width))
  322 + {
  323 + switch(lib3270_get_secure(terminal->host))
  324 + {
  325 + case LIB3270_SSL_UNSECURE: /**< No secure connection */
  326 + id = V3270_CURSOR_QUESTION;
  327 + break;
  328 +
  329 + case LIB3270_SSL_NEGOTIATING: /**< Negotiating SSL */
  330 + id = V3270_CURSOR_WAITING;
  331 + break;
  332 +
  333 + case LIB3270_SSL_NEGOTIATED: /**< Connection secure, no CA or self-signed */
  334 + id = V3270_CURSOR_QUESTION;
  335 + break;
  336 +
  337 + case LIB3270_SSL_SECURE: /**< Connection secure with CA check */
  338 + id = V3270_CURSOR_QUESTION;
  339 + break;
  340 +
  341 + default:
  342 + id = V3270_CURSOR_LOCKED;
  343 + }
  344 + }
  345 +
  346 + gdk_window_set_cursor(gtk_widget_get_window(widget),v3270_cursor[id]);
  347 + }
266 348
267 return FALSE; 349 return FALSE;
268 } 350 }
src/pw3270/v3270/oia.c
@@ -335,6 +335,13 @@ void v3270_draw_ssl_status(cairo_t *cr, H3270 *host, struct v3270_metrics *metri @@ -335,6 +335,13 @@ void v3270_draw_ssl_status(cairo_t *cr, H3270 *host, struct v3270_metrics *metri
335 bits = (unsigned char *) unlocked_bits; 335 bits = (unsigned char *) unlocked_bits;
336 break; 336 break;
337 337
  338 + case LIB3270_SSL_NEGOTIATING: /**< Negotiating SSL */
  339 + gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_STATUS_WARNING);
  340 + width = unlocked_width;
  341 + height = unlocked_height;
  342 + bits = (unsigned char *) unlocked_bits;
  343 + break;
  344 +
338 case LIB3270_SSL_NEGOTIATED: /**< Connection secure, no CA or self-signed */ 345 case LIB3270_SSL_NEGOTIATED: /**< Connection secure, no CA or self-signed */
339 gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_STATUS_WARNING); 346 gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_STATUS_WARNING);
340 width = negotiated_width; 347 width = negotiated_width;
@@ -342,7 +349,6 @@ void v3270_draw_ssl_status(cairo_t *cr, H3270 *host, struct v3270_metrics *metri @@ -342,7 +349,6 @@ void v3270_draw_ssl_status(cairo_t *cr, H3270 *host, struct v3270_metrics *metri
342 bits = (unsigned char *) negotiated_bits; 349 bits = (unsigned char *) negotiated_bits;
343 break; 350 break;
344 351
345 -  
346 case LIB3270_SSL_SECURE: /**< Connection secure with CA check */ 352 case LIB3270_SSL_SECURE: /**< Connection secure with CA check */
347 gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_STATUS_OK); 353 gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_STATUS_OK);
348 width = locked_width; 354 width = locked_width;
@@ -350,19 +356,11 @@ void v3270_draw_ssl_status(cairo_t *cr, H3270 *host, struct v3270_metrics *metri @@ -350,19 +356,11 @@ void v3270_draw_ssl_status(cairo_t *cr, H3270 *host, struct v3270_metrics *metri
350 bits = (unsigned char *) locked_bits; 356 bits = (unsigned char *) locked_bits;
351 break; 357 break;
352 358
353 - case LIB3270_SSL_NEGOTIATING: /**< Negotiating SSL */  
354 - gdk_cairo_set_source_color(cr,color+V3270_COLOR_OIA_STATUS_WARNING);  
355 - width = unlocked_width;  
356 - height = unlocked_height;  
357 - bits = (unsigned char *) unlocked_bits;  
358 - break;  
359 -  
360 default: 359 default:
361 return; 360 return;
362 361
363 } 362 }
364 363
365 -  
366 icon = cairo_image_surface_create_for_data( bits, 364 icon = cairo_image_surface_create_for_data( bits,
367 CAIRO_FORMAT_A1, 365 CAIRO_FORMAT_A1,
368 width,height, 366 width,height,
src/pw3270/v3270/private.h
@@ -81,10 +81,12 @@ G_BEGIN_DECLS @@ -81,10 +81,12 @@ G_BEGIN_DECLS
81 SIGNAL_CLIPBOARD, 81 SIGNAL_CLIPBOARD,
82 SIGNAL_CHANGED, 82 SIGNAL_CHANGED,
83 SIGNAL_MESSAGE, 83 SIGNAL_MESSAGE,
  84 + SIGNAL_FIELD,
84 85
85 LAST_SIGNAL 86 LAST_SIGNAL
86 }; 87 };
87 88
  89 +
88 /*--[ Globals ]--------------------------------------------------------------------------------------*/ 90 /*--[ Globals ]--------------------------------------------------------------------------------------*/
89 91
90 #define V3270_CURSOR_UNPROTECTED LIB3270_CURSOR_EDITABLE 92 #define V3270_CURSOR_UNPROTECTED LIB3270_CURSOR_EDITABLE
@@ -101,8 +103,9 @@ G_BEGIN_DECLS @@ -101,8 +103,9 @@ G_BEGIN_DECLS
101 #define V3270_CURSOR_SELECTION_BOTTOM LIB3270_CURSOR_USER+7 103 #define V3270_CURSOR_SELECTION_BOTTOM LIB3270_CURSOR_USER+7
102 #define V3270_CURSOR_SELECTION_LEFT LIB3270_CURSOR_USER+8 104 #define V3270_CURSOR_SELECTION_LEFT LIB3270_CURSOR_USER+8
103 #define V3270_CURSOR_SELECTION_RIGHT LIB3270_CURSOR_USER+9 105 #define V3270_CURSOR_SELECTION_RIGHT LIB3270_CURSOR_USER+9
  106 + #define V3270_CURSOR_QUESTION LIB3270_CURSOR_USER+10
104 107
105 - #define V3270_CURSOR_COUNT LIB3270_CURSOR_USER+10 108 + #define V3270_CURSOR_COUNT LIB3270_CURSOR_USER+11
106 109
107 110
108 struct v3270_metrics 111 struct v3270_metrics
@@ -144,8 +147,10 @@ G_BEGIN_DECLS @@ -144,8 +147,10 @@ G_BEGIN_DECLS
144 gchar * clipboard; /**< Clipboard contents (text only) */ 147 gchar * clipboard; /**< Clipboard contents (text only) */
145 148
146 LIB3270_CURSOR pointer_id; 149 LIB3270_CURSOR pointer_id;
147 - unsigned char pointer; /** Mouse pointer ID */  
148 - int selection_addr; /** Selection addr */ 150 + unsigned char pointer; /**< Mouse pointer ID */
  151 + int selection_addr; /**< Selection addr */
  152 +
  153 + V3270_OIA_FIELD selected_field; /**< Clicked OIA field */
149 154
150 // Font info 155 // Font info
151 gchar * font_family; 156 gchar * font_family;
src/pw3270/v3270/widget.c
@@ -333,6 +333,8 @@ static void v3270_class_init(v3270Class *klass) @@ -333,6 +333,8 @@ static void v3270_class_init(v3270Class *klass)
333 // Cursors 333 // Cursors
334 { 334 {
335 #ifdef WIN32 335 #ifdef WIN32
  336 + // http://git.gnome.org/browse/gtk+/tree/gdk/win32/gdkcursor-win32.c
  337 + // http://www.functionx.com/win32/Lesson02b.htm
336 static const gchar * cr[V3270_CURSOR_COUNT] = 338 static const gchar * cr[V3270_CURSOR_COUNT] =
337 { 339 {
338 "ibeam", // V3270_CURSOR_UNPROTECTED 340 "ibeam", // V3270_CURSOR_UNPROTECTED
@@ -348,6 +350,7 @@ static void v3270_class_init(v3270Class *klass) @@ -348,6 +350,7 @@ static void v3270_class_init(v3270Class *klass)
348 "sizens", // V3270_CURSOR_SELECTION_BOTTOM 350 "sizens", // V3270_CURSOR_SELECTION_BOTTOM
349 "sizewe", // V3270_CURSOR_SELECTION_LEFT 351 "sizewe", // V3270_CURSOR_SELECTION_LEFT
350 "sizewe", // V3270_CURSOR_SELECTION_RIGHT 352 "sizewe", // V3270_CURSOR_SELECTION_RIGHT
  353 + "help", // V3270_CURSOR_QUESTION
351 }; 354 };
352 #else 355 #else
353 static const int cr[V3270_CURSOR_COUNT] = 356 static const int cr[V3270_CURSOR_COUNT] =
@@ -365,6 +368,7 @@ static void v3270_class_init(v3270Class *klass) @@ -365,6 +368,7 @@ static void v3270_class_init(v3270Class *klass)
365 GDK_BOTTOM_SIDE, // V3270_CURSOR_SELECTION_BOTTOM 368 GDK_BOTTOM_SIDE, // V3270_CURSOR_SELECTION_BOTTOM
366 GDK_LEFT_SIDE, // V3270_CURSOR_SELECTION_LEFT 369 GDK_LEFT_SIDE, // V3270_CURSOR_SELECTION_LEFT
367 GDK_RIGHT_SIDE, // V3270_CURSOR_SELECTION_RIGHT 370 GDK_RIGHT_SIDE, // V3270_CURSOR_SELECTION_RIGHT
  371 + GDK_QUESTION_ARROW, // V3270_CURSOR_QUESTION
368 }; 372 };
369 #endif // WIN32 373 #endif // WIN32
370 374
@@ -516,6 +520,15 @@ static void v3270_class_init(v3270Class *klass) @@ -516,6 +520,15 @@ static void v3270_class_init(v3270Class *klass)
516 pw3270_VOID__VOID_UINT_POINTER_POINTER_POINTER, 520 pw3270_VOID__VOID_UINT_POINTER_POINTER_POINTER,
517 G_TYPE_NONE, 4, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING); 521 G_TYPE_NONE, 4, G_TYPE_UINT, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
518 522
  523 + v3270_widget_signal[SIGNAL_FIELD] =
  524 + g_signal_new( "field_clicked",
  525 + G_OBJECT_CLASS_TYPE (gobject_class),
  526 + G_SIGNAL_RUN_LAST,
  527 + 0,
  528 + NULL, NULL,
  529 + pw3270_BOOL__VOID_BOOL_UINT_POINTER,
  530 + G_TYPE_BOOLEAN, 3, G_TYPE_BOOLEAN, G_TYPE_UINT, G_TYPE_POINTER);
  531 +
519 } 532 }
520 533
521 void v3270_update_font_metrics(v3270 *terminal, cairo_t *cr, int width, int height) 534 void v3270_update_font_metrics(v3270 *terminal, cairo_t *cr, int width, int height)
src/pw3270/window.c
@@ -471,6 +471,23 @@ @@ -471,6 +471,23 @@
471 471
472 } 472 }
473 473
  474 + static gboolean field_clicked(GtkWidget *terminal, gboolean connected, V3270_OIA_FIELD field, GdkEventButton *event)
  475 + {
  476 + trace("%s: %s field=%d event=%p",__FUNCTION__,connected ? "Connected" : "Disconnected", field, event);
  477 +
  478 + if(!connected)
  479 + return FALSE;
  480 +
  481 + if(field == V3270_OIA_SSL)
  482 + {
  483 + trace("%s: Show SSL connection info dialog",__FUNCTION__);
  484 + return TRUE;
  485 + }
  486 +
  487 +
  488 + return FALSE;
  489 + }
  490 +
474 static void pw3270_init(pw3270 *widget) 491 static void pw3270_init(pw3270 *widget)
475 { 492 {
476 static const UI_WIDGET_SETUP widget_setup[] = 493 static const UI_WIDGET_SETUP widget_setup[] =
@@ -576,6 +593,7 @@ @@ -576,6 +593,7 @@
576 } 593 }
577 594
578 // Connect widget signals 595 // Connect widget signals
  596 + g_signal_connect(widget->terminal,"field_clicked",G_CALLBACK(field_clicked),widget);
579 g_signal_connect(widget->terminal,"toggle_changed",G_CALLBACK(toggle_changed),widget); 597 g_signal_connect(widget->terminal,"toggle_changed",G_CALLBACK(toggle_changed),widget);
580 598
581 // Connect window signals 599 // Connect window signals