Commit 8c109bbc1bbdb5358817fcb6e3d7dba9f0253a99

Authored by perry.werneck@gmail.com
1 parent db0c09d7

Mudando dialogo de transferencia de arquivos para gtkgrid

Showing 1 changed file with 104 additions and 13 deletions   Show diff stats
src/pw3270/filetransfer.c
@@ -177,7 +177,11 @@ static void check_entry(GtkEditable *editable, struct ftdialog *dlg) @@ -177,7 +177,11 @@ static void check_entry(GtkEditable *editable, struct ftdialog *dlg)
177 gtk_widget_set_sensitive(dlg->ready,is_dialog_ok(editable,dlg)); 177 gtk_widget_set_sensitive(dlg->ready,is_dialog_ok(editable,dlg));
178 } 178 }
179 179
  180 +#if GTK_CHECK_VERSION(3,0,0)
  181 +static GtkEntry * add_filename_entry(GObject *action, int ix, int row, struct ftdialog *dlg, GtkGrid *grid)
  182 +#else
180 static GtkEntry * add_filename_entry(GObject *action, int ix, int row, struct ftdialog *dlg, GtkTable *table) 183 static GtkEntry * add_filename_entry(GObject *action, int ix, int row, struct ftdialog *dlg, GtkTable *table)
  184 +#endif // GTK_CHECK_VERSION
181 { 185 {
182 static const gchar * label_text[] = { N_( "_Local file name:" ), N_( "_Host file name:" ) }; 186 static const gchar * label_text[] = { N_( "_Local file name:" ), N_( "_Host file name:" ) };
183 static const gchar * attr[] = { "local", "remote" }; 187 static const gchar * attr[] = { "local", "remote" };
@@ -187,52 +191,93 @@ static GtkEntry * add_filename_entry(GObject *action, int ix, int row, struct ft @@ -187,52 +191,93 @@ static GtkEntry * add_filename_entry(GObject *action, int ix, int row, struct ft
187 gchar * val; 191 gchar * val;
188 192
189 gtk_misc_set_alignment(GTK_MISC(label),0,.5); 193 gtk_misc_set_alignment(GTK_MISC(label),0,.5);
  194 +
  195 +#if GTK_CHECK_VERSION(3,0,0)
  196 + gtk_grid_attach(grid,label,0,row,1,1);
  197 +#else
190 gtk_table_attach(GTK_TABLE(table),label,0,1,row,row+1,GTK_FILL,GTK_FILL,2,2); 198 gtk_table_attach(GTK_TABLE(table),label,0,1,row,row+1,GTK_FILL,GTK_FILL,2,2);
  199 +#endif // GTK_CHECK_VERSION
191 200
192 gtk_widget_set_name(entry,attr[ix]); 201 gtk_widget_set_name(entry,attr[ix]);
193 202
194 val = get_attribute(action,dlg,attr[ix]); 203 val = get_attribute(action,dlg,attr[ix]);
195 - gtk_entry_set_text(dlg->file[ix],val); 204 + gtk_entry_set_text(GTK_ENTRY(entry),val);
196 g_free(val); 205 g_free(val);
197 206
198 gtk_entry_set_width_chars(GTK_ENTRY(entry),40); 207 gtk_entry_set_width_chars(GTK_ENTRY(entry),40);
199 208
200 gtk_label_set_mnemonic_widget(GTK_LABEL(label),entry); 209 gtk_label_set_mnemonic_widget(GTK_LABEL(label),entry);
201 210
  211 +#if GTK_CHECK_VERSION(3,0,0)
  212 + gtk_grid_attach(grid,entry,1,row,1,1);
  213 +#else
202 gtk_table_attach(GTK_TABLE(table),entry,1,3,row,row+1,GTK_EXPAND|GTK_SHRINK|GTK_FILL,GTK_EXPAND|GTK_SHRINK|GTK_FILL,2,2); 214 gtk_table_attach(GTK_TABLE(table),entry,1,3,row,row+1,GTK_EXPAND|GTK_SHRINK|GTK_FILL,GTK_EXPAND|GTK_SHRINK|GTK_FILL,2,2);
  215 +#endif // GTK_CHECK_VERSION
203 216
204 return GTK_ENTRY(entry); 217 return GTK_ENTRY(entry);
205 } 218 }
206 219
207 static void add_file_fields(GObject *action, struct ftdialog *dlg) 220 static void add_file_fields(GObject *action, struct ftdialog *dlg)
208 { 221 {
209 - GtkTable * table = GTK_TABLE(gtk_table_new(2,3,FALSE));  
210 GtkWidget * widget; 222 GtkWidget * widget;
211 223
  224 +#if GTK_CHECK_VERSION(3,0,0)
  225 + GtkGrid * grid = GTK_GRID(gtk_grid_new());
  226 +
  227 + gtk_container_set_border_width(GTK_CONTAINER(grid),2);
  228 + gtk_grid_set_column_spacing(grid,5);
  229 + gtk_grid_set_row_spacing(grid,3);
  230 +
  231 +#else
  232 +
  233 + GtkTable * table = GTK_TABLE(gtk_table_new(2,3,FALSE));
  234 +
212 gtk_container_set_border_width(GTK_CONTAINER(table),2); 235 gtk_container_set_border_width(GTK_CONTAINER(table),2);
213 236
  237 +#endif // GTK_CHECK_VERSION
  238 +
  239 +
214 if(dlg->option&LIB3270_FT_OPTION_RECEIVE) 240 if(dlg->option&LIB3270_FT_OPTION_RECEIVE)
215 { 241 {
216 // Receiving file, first the remote filename 242 // Receiving file, first the remote filename
217 - dlg->file[1] = add_filename_entry(action,1,0,dlg,table); 243 + widget = gtk_button_new_with_mnemonic( _( "_Browse" ) );
218 244
  245 +#if GTK_CHECK_VERSION(3,0,0)
  246 + dlg->file[1] = add_filename_entry(action,1,0,dlg,grid);
  247 + dlg->file[0] = add_filename_entry(action,0,1,dlg,grid);
  248 + gtk_grid_attach(grid,widget,2,1,1,1);
  249 +#else
  250 + dlg->file[1] = add_filename_entry(action,1,0,dlg,table);
219 dlg->file[0] = add_filename_entry(action,0,1,dlg,table); 251 dlg->file[0] = add_filename_entry(action,0,1,dlg,table);
220 - widget = gtk_button_new_with_mnemonic( _( "_Browse" ) );  
221 - g_signal_connect(G_OBJECT(widget),"clicked",G_CALLBACK(browse_file),dlg);  
222 gtk_table_attach(GTK_TABLE(table),widget,3,4,1,2,0,0,2,2); 252 gtk_table_attach(GTK_TABLE(table),widget,3,4,1,2,0,0,2,2);
  253 +#endif // GTK_CHECK_VERSION
  254 +
  255 + g_signal_connect(G_OBJECT(widget),"clicked",G_CALLBACK(browse_file),dlg);
223 } 256 }
224 else 257 else
225 { 258 {
226 // Sending file, first the local filename 259 // Sending file, first the local filename
227 - dlg->file[0] = add_filename_entry(action,0,0,dlg,table);  
228 widget = gtk_button_new_with_mnemonic( _( "_Browse" ) ); 260 widget = gtk_button_new_with_mnemonic( _( "_Browse" ) );
229 - g_signal_connect(G_OBJECT(widget),"clicked",G_CALLBACK(browse_file),dlg);  
230 - gtk_table_attach(GTK_TABLE(table),widget,3,4,0,1,0,0,2,2);  
231 261
  262 +#if GTK_CHECK_VERSION(3,0,0)
  263 + dlg->file[0] = add_filename_entry(action,0,0,dlg,grid);
  264 + dlg->file[1] = add_filename_entry(action,1,1,dlg,grid);
  265 + gtk_grid_attach(grid,widget,2,0,1,1);
  266 +#else
  267 + dlg->file[0] = add_filename_entry(action,0,0,dlg,table);
232 dlg->file[1] = add_filename_entry(action,1,1,dlg,table); 268 dlg->file[1] = add_filename_entry(action,1,1,dlg,table);
  269 + gtk_table_attach(GTK_TABLE(table),widget,3,4,0,1,0,0,2,2);
  270 +
  271 +#endif // GTK_CHECK_VERSION
  272 +
  273 + g_signal_connect(G_OBJECT(widget),"clicked",G_CALLBACK(browse_file),dlg);
233 } 274 }
234 275
  276 +#if GTK_CHECK_VERSION(3,0,0)
  277 + gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg->dialog))),GTK_WIDGET(grid),TRUE,TRUE,2);
  278 +#else
235 gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg->dialog))),GTK_WIDGET(table),FALSE,FALSE,2); 279 gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg->dialog))),GTK_WIDGET(table),FALSE,FALSE,2);
  280 +#endif // GTK_CHECK_VERSION
236 281
237 } 282 }
238 283
@@ -260,10 +305,22 @@ static void add_transfer_options(GObject *action, struct ftdialog *dlg) @@ -260,10 +305,22 @@ static void add_transfer_options(GObject *action, struct ftdialog *dlg)
260 { LIB3270_FT_OPTION_REMAP_ASCII, "remap", N_( "_Remap ASCII Characters" ) } 305 { LIB3270_FT_OPTION_REMAP_ASCII, "remap", N_( "_Remap ASCII Characters" ) }
261 }; 306 };
262 307
263 - GtkTable * table = GTK_TABLE(gtk_table_new(3,2,TRUE));  
264 GtkWidget * frame = gtk_frame_new( _( "Transfer options" ) ); 308 GtkWidget * frame = gtk_frame_new( _( "Transfer options" ) );
265 int row, col, f; 309 int row, col, f;
266 310
  311 +#if GTK_CHECK_VERSION(3,0,0)
  312 + GtkGrid * grid = GTK_GRID(gtk_grid_new());
  313 +
  314 + gtk_grid_set_column_spacing(grid,5);
  315 + gtk_grid_set_row_spacing(grid,3);
  316 + gtk_container_set_border_width(GTK_CONTAINER(grid),2);
  317 +
  318 + gtk_grid_set_column_homogeneous(grid,TRUE);
  319 +
  320 +#else
  321 + GtkTable * table = GTK_TABLE(gtk_table_new(3,2,TRUE));
  322 +#endif // GTK_CHECK_VERSION
  323 +
267 row=0; 324 row=0;
268 col=0; 325 col=0;
269 for(f=0;f < G_N_ELEMENTS(option);f++) 326 for(f=0;f < G_N_ELEMENTS(option);f++)
@@ -288,7 +345,12 @@ static void add_transfer_options(GObject *action, struct ftdialog *dlg) @@ -288,7 +345,12 @@ static void add_transfer_options(GObject *action, struct ftdialog *dlg)
288 g_object_set_data(G_OBJECT(widget),"dlg",(gpointer) dlg); 345 g_object_set_data(G_OBJECT(widget),"dlg",(gpointer) dlg);
289 g_signal_connect(G_OBJECT(widget),"toggled", G_CALLBACK(toggle_option),(gpointer) &option[f]); 346 g_signal_connect(G_OBJECT(widget),"toggled", G_CALLBACK(toggle_option),(gpointer) &option[f]);
290 347
  348 +#if GTK_CHECK_VERSION(3,0,0)
  349 + gtk_grid_attach(grid,widget,col,row,1,1);
  350 +#else
291 gtk_table_attach(table,widget,col,col+1,row,row+1,GTK_EXPAND|GTK_SHRINK|GTK_FILL,GTK_EXPAND|GTK_SHRINK|GTK_FILL,2,2); 351 gtk_table_attach(table,widget,col,col+1,row,row+1,GTK_EXPAND|GTK_SHRINK|GTK_FILL,GTK_EXPAND|GTK_SHRINK|GTK_FILL,2,2);
  352 +#endif // GTK_CHECK_VERSION
  353 +
292 if(col++ > 0) 354 if(col++ > 0)
293 { 355 {
294 row++; 356 row++;
@@ -296,7 +358,12 @@ static void add_transfer_options(GObject *action, struct ftdialog *dlg) @@ -296,7 +358,12 @@ static void add_transfer_options(GObject *action, struct ftdialog *dlg)
296 } 358 }
297 } 359 }
298 360
  361 +#if GTK_CHECK_VERSION(3,0,0)
  362 + gtk_container_add(GTK_CONTAINER(frame),GTK_WIDGET(grid));
  363 +#else
299 gtk_container_add(GTK_CONTAINER(frame),GTK_WIDGET(table)); 364 gtk_container_add(GTK_CONTAINER(frame),GTK_WIDGET(table));
  365 +#endif // GTK_CHECK_VERSION
  366 +
300 gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg->dialog))),GTK_WIDGET(frame),FALSE,FALSE,2); 367 gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg->dialog))),GTK_WIDGET(frame),FALSE,FALSE,2);
301 368
302 } 369 }
@@ -403,8 +470,6 @@ static void run_ft_dialog(GObject *action, GtkWidget *widget, struct ftdialog *d @@ -403,8 +470,6 @@ static void run_ft_dialog(GObject *action, GtkWidget *widget, struct ftdialog *d
403 for(f=0;f<2;f++) 470 for(f=0;f<2;f++)
404 gtk_widget_set_sensitive(dlg->ready,is_dialog_ok(GTK_EDITABLE(dlg->file[f]),dlg)); 471 gtk_widget_set_sensitive(dlg->ready,is_dialog_ok(GTK_EDITABLE(dlg->file[f]),dlg));
405 472
406 - gtk_widget_show_all(dlg->dialog);  
407 -  
408 for(f=0;f<G_N_ELEMENTS(dlg->parm);f++) 473 for(f=0;f<G_N_ELEMENTS(dlg->parm);f++)
409 { 474 {
410 if(dlg->parm[f]) 475 if(dlg->parm[f])
@@ -421,6 +486,8 @@ static void run_ft_dialog(GObject *action, GtkWidget *widget, struct ftdialog *d @@ -421,6 +486,8 @@ static void run_ft_dialog(GObject *action, GtkWidget *widget, struct ftdialog *d
421 } 486 }
422 } 487 }
423 488
  489 + gtk_widget_show_all(dlg->dialog);
  490 +
424 if(gtk_dialog_run(GTK_DIALOG(dlg->dialog)) != GTK_RESPONSE_ACCEPT) 491 if(gtk_dialog_run(GTK_DIALOG(dlg->dialog)) != GTK_RESPONSE_ACCEPT)
425 { 492 {
426 gtk_widget_destroy(dlg->dialog); 493 gtk_widget_destroy(dlg->dialog);
@@ -849,12 +916,25 @@ void upload_action(GtkAction *action, GtkWidget *widget) @@ -849,12 +916,25 @@ void upload_action(GtkAction *action, GtkWidget *widget)
849 { "dftsize", N_( "DFT B_uffer size:" ) } 916 { "dftsize", N_( "DFT B_uffer size:" ) }
850 }; 917 };
851 918
852 - GtkTable * table = GTK_TABLE(gtk_table_new(2,2,FALSE));  
853 -  
854 int row, col, f; 919 int row, col, f;
  920 + gchar * dft = g_object_get_data(action,"dft");
  921 +
  922 +#if GTK_CHECK_VERSION(3,0,0)
  923 +
  924 + GtkGrid * grid = GTK_GRID(gtk_grid_new());
  925 +
  926 + gtk_grid_set_column_spacing(grid,5);
  927 + gtk_grid_set_row_spacing(grid,3);
  928 + gtk_grid_set_column_homogeneous(grid,TRUE);
  929 + gtk_container_set_border_width(GTK_CONTAINER(grid),2);
  930 +
  931 +#else
  932 + GtkTable * table = GTK_TABLE(gtk_table_new(2,2,FALSE));
855 933
856 gtk_container_set_border_width(GTK_CONTAINER(table),2); 934 gtk_container_set_border_width(GTK_CONTAINER(table),2);
857 935
  936 +#endif // GTK_CHECK_VERSION
  937 +
858 row=0; 938 row=0;
859 col=0; 939 col=0;
860 for(f=0;f < 5;f++) 940 for(f=0;f < 5;f++)
@@ -868,8 +948,13 @@ void upload_action(GtkAction *action, GtkWidget *widget) @@ -868,8 +948,13 @@ void upload_action(GtkAction *action, GtkWidget *widget)
868 948
869 gtk_label_set_mnemonic_widget(GTK_LABEL(label),GTK_WIDGET(dlg.parm[f])); 949 gtk_label_set_mnemonic_widget(GTK_LABEL(label),GTK_WIDGET(dlg.parm[f]));
870 950
  951 +#if GTK_CHECK_VERSION(3,0,0)
  952 + gtk_grid_attach(grid,label,col,row,1,1);
  953 + gtk_grid_attach(grid,GTK_WIDGET(dlg.parm[f]),col+1,row,1,1);
  954 +#else
871 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); 955 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);
872 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); 956 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);
  957 +#endif // GTK_CHECK_VERSION
873 958
874 col += 2; 959 col += 2;
875 if(col++ > 3) 960 if(col++ > 3)
@@ -880,7 +965,13 @@ void upload_action(GtkAction *action, GtkWidget *widget) @@ -880,7 +965,13 @@ void upload_action(GtkAction *action, GtkWidget *widget)
880 965
881 } 966 }
882 967
  968 + gtk_entry_set_text(GTK_ENTRY(dlg.parm[4]),dft ? dft : "4096");
  969 +
  970 +#if GTK_CHECK_VERSION(3,0,0)
  971 + gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg.dialog))),GTK_WIDGET(grid),TRUE,TRUE,2);
  972 +#else
883 gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg.dialog))),GTK_WIDGET(table),TRUE,TRUE,2); 973 gtk_box_pack_start(GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dlg.dialog))),GTK_WIDGET(table),TRUE,TRUE,2);
  974 +#endif // GTK_CHECK_VERSION
884 975
885 976
886 } 977 }