Commit 7f24770a27d486eb20dc01ef6db5a27fbf0f32ff
1 parent
4330eeae
Exists in
master
and in
5 other branches
Implementando diálogos de transferencia de arquivos
Showing
2 changed files
with
175 additions
and
67 deletions
Show diff stats
po/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: 2012-05-08 07:23-0300\n" | |
9 | -"PO-Revision-Date: 2012-05-08 07:19-0300\n" | |
8 | +"POT-Creation-Date: 2012-05-08 09:06-0300\n" | |
9 | +"PO-Revision-Date: 2012-05-08 09:03-0300\n" | |
10 | 10 | "Last-Translator: Perry Werneck <perry.werneck@gmail.com>\n" |
11 | 11 | "Language-Team: Português do Brasil <>\n" |
12 | 12 | "Language: pt_BR\n" |
... | ... | @@ -123,7 +123,7 @@ msgstr "Ação falhou" |
123 | 123 | msgid "Add to copy" |
124 | 124 | msgstr "Adicionar à cópia" |
125 | 125 | |
126 | -#: filetransfer.c:182 | |
126 | +#: filetransfer.c:190 | |
127 | 127 | msgid "Add/Remove _CR at end of line" |
128 | 128 | msgstr "Adicionar/Remover _CR no final da linha" |
129 | 129 | |
... | ... | @@ -144,6 +144,11 @@ msgstr "Atributo \"%s\" é invalido ou indefinido" |
144 | 144 | msgid "Auto-Reconnect" |
145 | 145 | msgstr "Reconectar automaticamente" |
146 | 146 | |
147 | +#: filetransfer.c:407 | |
148 | +#, fuzzy | |
149 | +msgid "Avblock" | |
150 | +msgstr "Avblock" | |
151 | + | |
147 | 152 | #: colors.c:351 |
148 | 153 | msgid "Background" |
149 | 154 | msgstr "Fundo" |
... | ... | @@ -212,7 +217,7 @@ msgstr "Não foi possível carregar %s" |
212 | 217 | msgid "Can't load file" |
213 | 218 | msgstr "Não foi possível carregar arquivo" |
214 | 219 | |
215 | -#: ft.c:238 | |
220 | +#: ft.c:244 | |
216 | 221 | msgid "Can't open local file" |
217 | 222 | msgstr "Não foi possível abrir arquivo local" |
218 | 223 | |
... | ... | @@ -264,15 +269,15 @@ msgstr "" |
264 | 269 | msgid "Can't set lib3270 I/O handlers" |
265 | 270 | msgstr "Não foi possível registrar manipuladores de I/O 3270" |
266 | 271 | |
267 | -#: filetransfer.c:307 | |
272 | +#: filetransfer.c:316 | |
268 | 273 | msgid "Can't start download" |
269 | 274 | msgstr "Não foi possível iniciar o download" |
270 | 275 | |
271 | -#: filetransfer.c:284 | |
276 | +#: filetransfer.c:294 | |
272 | 277 | msgid "Can't start file transfer" |
273 | 278 | msgstr "Não foi possível iniciar transferência de arquivo" |
274 | 279 | |
275 | -#: filetransfer.c:347 | |
280 | +#: filetransfer.c:374 | |
276 | 281 | msgid "Can't start upload" |
277 | 282 | msgstr "Não foi possível iniciar upload" |
278 | 283 | |
... | ... | @@ -348,7 +353,11 @@ msgstr "Atual (%s)" |
348 | 353 | msgid "Custom colors" |
349 | 354 | msgstr "Cores personalizadas" |
350 | 355 | |
351 | -#: filetransfer.c:231 | |
356 | +#: filetransfer.c:406 | |
357 | +msgid "Cylinders" | |
358 | +msgstr "Cilindros" | |
359 | + | |
360 | +#: filetransfer.c:241 | |
352 | 361 | msgid "DFT B_uffer size:" |
353 | 362 | msgstr "Tamanho do b_uffer DFT:" |
354 | 363 | |
... | ... | @@ -376,6 +385,15 @@ msgstr "" |
376 | 385 | msgid "Debug window updates" |
377 | 386 | msgstr "" |
378 | 387 | |
388 | +#: filetransfer.c:396 filetransfer.c:404 | |
389 | +#, fuzzy | |
390 | +msgid "Default" | |
391 | +msgstr "Default" | |
392 | + | |
393 | +#: ft.c:212 | |
394 | +msgid "Disconnected from host" | |
395 | +msgstr "Desconectado do servidor" | |
396 | + | |
379 | 397 | #: telnet.c:1260 |
380 | 398 | msgid "EOR received when not in 3270 mode, ignored." |
381 | 399 | msgstr "EOR recebido fora do modo 3270, ignorado." |
... | ... | @@ -437,18 +455,22 @@ msgstr "" |
437 | 455 | msgid "Fields" |
438 | 456 | msgstr "" |
439 | 457 | |
440 | -#: filetransfer.c:287 | |
458 | +#: filetransfer.c:297 | |
441 | 459 | msgid "File transfer error" |
442 | 460 | msgstr "Erro na transferência de arquivos" |
443 | 461 | |
444 | -#: filetransfer.c:307 filetransfer.c:347 ft.c:213 | |
462 | +#: filetransfer.c:316 filetransfer.c:374 ft.c:219 | |
445 | 463 | msgid "File transfer is already active" |
446 | 464 | msgstr "Transferência de arquivos já está ativa" |
447 | 465 | |
448 | -#: ft.c:220 | |
466 | +#: ft.c:226 | |
449 | 467 | msgid "File transfer is already active in this session" |
450 | 468 | msgstr "Transferência de arquivos já está ativa nesta sessão" |
451 | 469 | |
470 | +#: filetransfer.c:397 | |
471 | +msgid "Fixed" | |
472 | +msgstr "Fixo" | |
473 | + | |
452 | 474 | #: glue.c:327 |
453 | 475 | msgid "Forces monochrome display" |
454 | 476 | msgstr "Força tela monocromática" |
... | ... | @@ -473,11 +495,11 @@ msgstr "Verde" |
473 | 495 | msgid "Help" |
474 | 496 | msgstr "Ajuda" |
475 | 497 | |
476 | -#: ft.c:461 | |
498 | +#: ft.c:467 | |
477 | 499 | msgid "Host disconnected, transfer cancelled" |
478 | -msgstr "Host desconectou, transferência cancelada" | |
500 | +msgstr "Servidor desconectou, transferência cancelada" | |
479 | 501 | |
480 | -#: filetransfer.c:181 | |
502 | +#: filetransfer.c:189 | |
481 | 503 | msgid "Host is T_SO" |
482 | 504 | msgstr "Servidor é T_SO" |
483 | 505 | |
... | ... | @@ -563,7 +585,7 @@ msgstr "Normal/Protegido" |
563 | 585 | msgid "Normal/Unprotected" |
564 | 586 | msgstr "Normal/Desprotegido" |
565 | 587 | |
566 | -#: ft.c:468 | |
588 | +#: ft.c:474 | |
567 | 589 | msgid "Not in 3270 mode, transfer cancelled" |
568 | 590 | msgstr "Não está no modo 3270, transferência cancelada" |
569 | 591 | |
... | ... | @@ -669,10 +691,14 @@ msgstr "Púrpura" |
669 | 691 | msgid "Receive file" |
670 | 692 | msgstr "Receber arquivo" |
671 | 693 | |
672 | -#: filetransfer.c:313 | |
694 | +#: filetransfer.c:322 | |
673 | 695 | msgid "Receive file from host" |
674 | 696 | msgstr "Receber arquivo do servidor" |
675 | 697 | |
698 | +#: filetransfer.c:417 | |
699 | +msgid "Record format" | |
700 | +msgstr "Formato de registro" | |
701 | + | |
676 | 702 | #: colors.c:353 |
677 | 703 | msgid "Red" |
678 | 704 | msgstr "Vermelho" |
... | ... | @@ -745,11 +771,11 @@ msgstr "Selecionar tudo" |
745 | 771 | msgid "Select by rectangles" |
746 | 772 | msgstr "Seleção retangular" |
747 | 773 | |
748 | -#: filetransfer.c:86 | |
774 | +#: filetransfer.c:94 | |
749 | 775 | msgid "Select file to receive" |
750 | 776 | msgstr "Selecione arquivo a receber" |
751 | 777 | |
752 | -#: filetransfer.c:86 | |
778 | +#: filetransfer.c:94 | |
753 | 779 | msgid "Select file to send" |
754 | 780 | msgstr "Selecione arquivo a enviar" |
755 | 781 | |
... | ... | @@ -773,6 +799,10 @@ msgstr "Frente da seleção" |
773 | 799 | msgid "Send file" |
774 | 800 | msgstr "Enviar arquivo" |
775 | 801 | |
802 | +#: filetransfer.c:380 | |
803 | +msgid "Send file to host" | |
804 | +msgstr "Enviar arquivo para o servidor" | |
805 | + | |
776 | 806 | #: ui/00default.xml:103 |
777 | 807 | msgid "Send/Receive" |
778 | 808 | msgstr "Enviar/Receber" |
... | ... | @@ -817,6 +847,10 @@ msgstr "Erro ao ler dados da rede" |
817 | 847 | msgid "Socket write error" |
818 | 848 | msgstr "Erro ao enviar dados para a rede" |
819 | 849 | |
850 | +#: filetransfer.c:418 | |
851 | +msgid "Space allocation units" | |
852 | +msgstr "Space allocation units" | |
853 | + | |
820 | 854 | #: host.c:351 |
821 | 855 | msgid "Space in LU name" |
822 | 856 | msgstr "Espaço no nome da LU" |
... | ... | @@ -843,7 +877,7 @@ msgstr "O arquivo já existe, substituir?" |
843 | 877 | msgid "The name of the default TCP port to connect" |
844 | 878 | msgstr "Nome da porta TCP para conectar" |
845 | 879 | |
846 | -#: ft.c:228 | |
880 | +#: ft.c:234 | |
847 | 881 | msgid "The remote file name is invalid" |
848 | 882 | msgstr "O nome do arquivo remoto não é válido" |
849 | 883 | |
... | ... | @@ -894,6 +928,10 @@ msgstr "" |
894 | 928 | msgid "Track Cursor" |
895 | 929 | msgstr "Mostrar posição do cursor" |
896 | 930 | |
931 | +#: filetransfer.c:405 | |
932 | +msgid "Tracks" | |
933 | +msgstr "Trilhas" | |
934 | + | |
897 | 935 | #: ft_cut.c:359 |
898 | 936 | msgid "Transfer cancelled by host" |
899 | 937 | msgstr "Transferência cancelada pelo servidor" |
... | ... | @@ -902,7 +940,7 @@ msgstr "Transferência cancelada pelo servidor" |
902 | 940 | msgid "Transfer cancelled by user" |
903 | 941 | msgstr "Transferência cancelada pelo usuário" |
904 | 942 | |
905 | -#: filetransfer.c:188 | |
943 | +#: filetransfer.c:196 | |
906 | 944 | msgid "Transfer options" |
907 | 945 | msgstr "Opções de transferência" |
908 | 946 | |
... | ... | @@ -930,10 +968,14 @@ msgstr "Não é possível conectar em servidores seguros" |
930 | 968 | msgid "Unable to paste text" |
931 | 969 | msgstr "Incapaz de colar texto" |
932 | 970 | |
933 | -#: ft.c:322 | |
971 | +#: ft.c:328 | |
934 | 972 | msgid "Unable to send file-transfer request" |
935 | 973 | msgstr "Não foi possível enviar a requisição de transferência de arquivo" |
936 | 974 | |
975 | +#: filetransfer.c:399 | |
976 | +msgid "Undefined" | |
977 | +msgstr "Indefinido" | |
978 | + | |
937 | 979 | #: uiparser/menubar.c:46 uiparser/toolbar.c:55 uiparser/popup.c:51 |
938 | 980 | #, c-format |
939 | 981 | msgid "Unexpected action attribute in <%s>" |
... | ... | @@ -1016,6 +1058,10 @@ msgstr "Número de porta ou serviço desconhecido: %s" |
1016 | 1058 | msgid "Use +/- for field navigation" |
1017 | 1059 | msgstr "Usar teclas +/- para navegar por campos" |
1018 | 1060 | |
1061 | +#: filetransfer.c:398 | |
1062 | +msgid "Variable" | |
1063 | +msgstr "Variável" | |
1064 | + | |
1019 | 1065 | #: dialog.c:565 |
1020 | 1066 | #, c-format |
1021 | 1067 | msgid "Version %s - Revision %s" |
... | ... | @@ -1093,11 +1139,11 @@ msgstr "X Aguarde" |
1093 | 1139 | msgid "Yellow" |
1094 | 1140 | msgstr "Amarelo" |
1095 | 1141 | |
1096 | -#: filetransfer.c:183 | |
1142 | +#: filetransfer.c:191 | |
1097 | 1143 | msgid "_Append" |
1098 | 1144 | msgstr "_Acrescentar" |
1099 | 1145 | |
1100 | -#: filetransfer.c:154 | |
1146 | +#: filetransfer.c:162 | |
1101 | 1147 | msgid "_Browse" |
1102 | 1148 | msgstr "_Procurar" |
1103 | 1149 | |
... | ... | @@ -1121,7 +1167,7 @@ msgstr "_Arquivo" |
1121 | 1167 | msgid "_Font:" |
1122 | 1168 | msgstr "_Fonte:" |
1123 | 1169 | |
1124 | -#: filetransfer.c:114 | |
1170 | +#: filetransfer.c:122 | |
1125 | 1171 | msgid "_Host file name:" |
1126 | 1172 | msgstr "Arquivo no _Servidor:" |
1127 | 1173 | |
... | ... | @@ -1129,7 +1175,7 @@ msgstr "Arquivo no _Servidor:" |
1129 | 1175 | msgid "_Hostname:" |
1130 | 1176 | msgstr "Nome do _Host:" |
1131 | 1177 | |
1132 | -#: filetransfer.c:114 | |
1178 | +#: filetransfer.c:122 | |
1133 | 1179 | msgid "_Local file name:" |
1134 | 1180 | msgstr "Arquivo _local:" |
1135 | 1181 | |
... | ... | @@ -1145,16 +1191,15 @@ msgstr "Opções" |
1145 | 1191 | msgid "_Port:" |
1146 | 1192 | msgstr "_Porta:" |
1147 | 1193 | |
1148 | -#: filetransfer.c:184 | |
1149 | -#, fuzzy | |
1194 | +#: filetransfer.c:192 | |
1150 | 1195 | msgid "_Remap ASCII Characters" |
1151 | -msgstr "_Remap ASCII Characters" | |
1196 | +msgstr "_Remapear caracteres ASCII" | |
1152 | 1197 | |
1153 | 1198 | #: dialog.c:295 |
1154 | 1199 | msgid "_Secure connection" |
1155 | 1200 | msgstr "Conexão _Segura" |
1156 | 1201 | |
1157 | -#: filetransfer.c:180 | |
1202 | +#: filetransfer.c:188 | |
1158 | 1203 | msgid "_Text file" |
1159 | 1204 | msgstr "Arquivo _texto" |
1160 | 1205 | ... | ... |
src/pw3270/filetransfer.c
... | ... | @@ -43,7 +43,7 @@ |
43 | 43 | const gchar * name; |
44 | 44 | GtkWidget * dialog; |
45 | 45 | GtkEntry * file[2]; |
46 | - GtkEntry * dft; | |
46 | + GtkEntry * parm[5]; | |
47 | 47 | }; |
48 | 48 | |
49 | 49 | struct ftoption |
... | ... | @@ -125,6 +125,8 @@ static void add_file_fields(GObject *action, struct ftdialog *dlg) |
125 | 125 | GtkWidget * widget; |
126 | 126 | int f; |
127 | 127 | |
128 | + gtk_container_set_border_width(GTK_CONTAINER(table),2); | |
129 | + | |
128 | 130 | for(f=0;f<2;f++) |
129 | 131 | { |
130 | 132 | const gchar *val; |
... | ... | @@ -242,45 +244,71 @@ static void setup_dft(GObject *action, struct ftdialog *dlg, GtkWidget **label) |
242 | 244 | |
243 | 245 | gtk_misc_set_alignment(GTK_MISC(*label),0,.5); |
244 | 246 | |
245 | - dlg->dft = GTK_ENTRY(gtk_entry_new()); | |
246 | - gtk_entry_set_max_length(dlg->dft,10); | |
247 | - gtk_entry_set_width_chars(dlg->dft,10); | |
248 | - | |
249 | - gtk_label_set_mnemonic_widget(GTK_LABEL(*label),GTK_WIDGET(dlg->dft)); | |
250 | - | |
251 | - if(val) | |
252 | - { | |
253 | - gtk_entry_set_text(dlg->dft,val); | |
254 | - } | |
255 | - else | |
256 | - { | |
257 | - val = get_string_from_config(dlg->name,"dft",""); | |
258 | - gtk_entry_set_text(dlg->dft,val); | |
259 | - g_free(val); | |
260 | - } | |
247 | + dlg->parm[4] = GTK_ENTRY(gtk_entry_new()); | |
248 | + gtk_widget_set_name(GTK_WIDGET(dlg->parm[4]),"dftsize"); | |
249 | + gtk_entry_set_max_length(dlg->parm[4],10); | |
250 | + gtk_entry_set_width_chars(dlg->parm[4],10); | |
261 | 251 | |
252 | + gtk_label_set_mnemonic_widget(GTK_LABEL(*label),GTK_WIDGET(dlg->parm[4])); | |
262 | 253 | |
263 | 254 | } |
264 | 255 | |
265 | -static gboolean run_ft_dialog(GtkWidget *widget, struct ftdialog *dlg) | |
256 | +static gboolean run_ft_dialog(GObject *action, GtkWidget *widget, struct ftdialog *dlg) | |
266 | 257 | { |
267 | 258 | H3270FT * ft = NULL; |
268 | 259 | const char * msg = NULL; |
260 | + int f; | |
261 | + int parm[G_N_ELEMENTS(dlg->parm)]; | |
269 | 262 | |
270 | 263 | gtk_widget_show_all(dlg->dialog); |
271 | 264 | |
265 | + for(f=0;f<G_N_ELEMENTS(dlg->parm);f++) | |
266 | + { | |
267 | + if(dlg->parm[f]) | |
268 | + { | |
269 | + const gchar *name = gtk_widget_get_name(GTK_WIDGET(dlg->parm[f])); | |
270 | + const gchar *attr = g_object_get_data(action,name); | |
271 | + if(attr) | |
272 | + { | |
273 | + gtk_entry_set_text(dlg->parm[f],attr); | |
274 | + } | |
275 | + else | |
276 | + { | |
277 | + gchar *ptr = get_string_from_config(dlg->name,name,""); | |
278 | + gtk_entry_set_text(dlg->parm[f],ptr); | |
279 | + g_free(ptr); | |
280 | + } | |
281 | + } | |
282 | + } | |
283 | + | |
272 | 284 | if(gtk_dialog_run(GTK_DIALOG(dlg->dialog)) != GTK_RESPONSE_ACCEPT) |
273 | 285 | return FALSE; |
274 | 286 | |
287 | + for(f=0;f<G_N_ELEMENTS(dlg->parm);f++) | |
288 | + { | |
289 | + if(dlg->parm[f]) | |
290 | + { | |
291 | + parm[f] = atoi(gtk_entry_get_text(dlg->parm[f])); | |
292 | + set_string_to_config(dlg->name,gtk_widget_get_name(GTK_WIDGET(dlg->parm[f])),"%d",parm[f]); | |
293 | + } | |
294 | + else | |
295 | + { | |
296 | + parm[f] = 0; | |
297 | + } | |
298 | + } | |
299 | + | |
300 | + set_string_to_config(dlg->name,"local","%s",gtk_entry_get_text(dlg->file[0])); | |
301 | + set_string_to_config(dlg->name,"remote","%s",gtk_entry_get_text(dlg->file[1])); | |
302 | + | |
275 | 303 | ft = lib3270_ft_start( v3270_get_session(widget), |
276 | 304 | dlg->option, |
277 | 305 | gtk_entry_get_text(dlg->file[0]), |
278 | 306 | gtk_entry_get_text(dlg->file[1]), |
279 | - 0, | |
280 | - 0, | |
281 | - 0, | |
282 | - 0, | |
283 | - atoi(gtk_entry_get_text(dlg->dft)), | |
307 | + parm[0], // lrecl | |
308 | + parm[2], // blksize | |
309 | + parm[1], // primspace | |
310 | + parm[3], // secspace | |
311 | + parm[4], // dft | |
284 | 312 | &msg ); |
285 | 313 | |
286 | 314 | trace("%s ft=%p msg=%p",__FUNCTION__,ft,&msg); |
... | ... | @@ -326,7 +354,7 @@ void download_action(GtkAction *action, GtkWidget *widget) |
326 | 354 | GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, \ |
327 | 355 | NULL ); |
328 | 356 | |
329 | - dlg.name = "download"; | |
357 | + dlg.name = gtk_action_get_name(action); | |
330 | 358 | dlg.option = LIB3270_FT_OPTION_RECEIVE; |
331 | 359 | add_file_fields(G_OBJECT(action),&dlg); |
332 | 360 | add_transfer_options(G_OBJECT(action),&dlg); |
... | ... | @@ -336,14 +364,16 @@ void download_action(GtkAction *action, GtkWidget *widget) |
336 | 364 | GtkWidget *hbox = gtk_hbox_new(FALSE,2); |
337 | 365 | GtkWidget *label = NULL; |
338 | 366 | |
367 | + gtk_container_set_border_width(GTK_CONTAINER(hbox),4); | |
368 | + | |
339 | 369 | setup_dft(G_OBJECT(action),&dlg,&label); |
340 | 370 | |
341 | 371 | gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0); |
342 | - gtk_box_pack_start(GTK_BOX(hbox),GTK_WIDGET(dlg.dft),FALSE,FALSE,0); | |
372 | + gtk_box_pack_start(GTK_BOX(hbox),GTK_WIDGET(dlg.parm[4]),FALSE,FALSE,0); | |
343 | 373 | gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg.dialog))),hbox,FALSE,FALSE,2); |
344 | 374 | } |
345 | 375 | |
346 | - run_ft_dialog(widget,&dlg); | |
376 | + run_ft_dialog(G_OBJECT(action),widget,&dlg); | |
347 | 377 | |
348 | 378 | gtk_widget_destroy(dlg.dialog); |
349 | 379 | |
... | ... | @@ -384,7 +414,7 @@ void upload_action(GtkAction *action, GtkWidget *widget) |
384 | 414 | GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, \ |
385 | 415 | NULL ); |
386 | 416 | |
387 | - dlg.name = "upload"; | |
417 | + dlg.name = gtk_action_get_name(action); | |
388 | 418 | dlg.option = LIB3270_FT_OPTION_SEND; |
389 | 419 | add_file_fields(G_OBJECT(action),&dlg); |
390 | 420 | add_transfer_options(G_OBJECT(action),&dlg); |
... | ... | @@ -454,27 +484,60 @@ void upload_action(GtkAction *action, GtkWidget *widget) |
454 | 484 | gtk_box_pack_start(GTK_BOX(box),frame,TRUE,TRUE,2); |
455 | 485 | } |
456 | 486 | |
487 | + gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg.dialog))),box,TRUE,TRUE,2); | |
488 | + } | |
457 | 489 | |
490 | + { | |
491 | + // Add options | |
492 | + static const struct _fld | |
493 | + { | |
494 | + const gchar *name; | |
495 | + const gchar *label; | |
496 | + } | |
497 | + fld[] = { { "lrecl", N_( "LRECL:" ) }, | |
498 | + { "primary", N_( "Primary space:" ) }, | |
499 | + { "blksize", N_( "BLKSIZE:" ) }, | |
500 | + { "secondary", N_( "Secondary space:" ) }, | |
501 | + { "dftsize", N_( "DFT B_uffer size:" ) } | |
502 | + }; | |
458 | 503 | |
504 | + GtkTable * table = GTK_TABLE(gtk_table_new(2,2,FALSE)); | |
459 | 505 | |
460 | - gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg.dialog))),box,TRUE,TRUE,2); | |
461 | - } | |
506 | + int row, col, f; | |
462 | 507 | |
508 | + gtk_container_set_border_width(GTK_CONTAINER(table),2); | |
463 | 509 | |
510 | + row=0; | |
511 | + col=0; | |
512 | + for(f=0;f < 5;f++) | |
513 | + { | |
514 | + GtkWidget *label = gtk_label_new_with_mnemonic(gettext(fld[f].label)); | |
464 | 515 | |
465 | - { | |
466 | - // Add dft option | |
467 | - GtkWidget *hbox = gtk_hbox_new(FALSE,2); | |
468 | - GtkWidget *label = NULL; | |
516 | + gtk_misc_set_alignment(GTK_MISC(label),0,.5); | |
517 | + dlg.parm[f] = GTK_ENTRY(gtk_entry_new()); | |
518 | + | |
519 | + gtk_widget_set_name(GTK_WIDGET(dlg.parm[f]),fld[f].name); | |
520 | + | |
521 | + gtk_label_set_mnemonic_widget(GTK_LABEL(label),GTK_WIDGET(dlg.parm[f])); | |
522 | + | |
523 | + gtk_table_attach(table,label,col,col+1,row,row+1,GTK_EXPAND|GTK_SHRINK|GTK_FILL,GTK_EXPAND|GTK_SHRINK|GTK_FILL,2,2); | |
524 | + gtk_table_attach(table,GTK_WIDGET(dlg.parm[f]),col+1,col+2,row,row+1,GTK_EXPAND|GTK_SHRINK|GTK_FILL,GTK_EXPAND|GTK_SHRINK|GTK_FILL,2,2); | |
525 | + | |
526 | + col += 2; | |
527 | + if(col++ > 3) | |
528 | + { | |
529 | + row++; | |
530 | + col=0; | |
531 | + } | |
532 | + | |
533 | + } | |
534 | + | |
535 | + gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg.dialog))),GTK_WIDGET(table),TRUE,TRUE,2); | |
469 | 536 | |
470 | - setup_dft(G_OBJECT(action),&dlg,&label); | |
471 | 537 | |
472 | - gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0); | |
473 | - gtk_box_pack_start(GTK_BOX(hbox),GTK_WIDGET(dlg.dft),FALSE,FALSE,0); | |
474 | - gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg.dialog))),hbox,FALSE,FALSE,2); | |
475 | 538 | } |
476 | 539 | |
477 | - run_ft_dialog(widget,&dlg); | |
540 | + run_ft_dialog(G_OBJECT(action),widget,&dlg); | |
478 | 541 | |
479 | 542 | gtk_widget_destroy(dlg.dialog); |
480 | 543 | ... | ... |