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 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 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 186 static const gchar * label_text[] = { N_( "_Local file name:" ), N_( "_Host file name:" ) };
183 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 191 gchar * val;
188 192  
189 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 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 201 gtk_widget_set_name(entry,attr[ix]);
193 202  
194 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 205 g_free(val);
197 206  
198 207 gtk_entry_set_width_chars(GTK_ENTRY(entry),40);
199 208  
200 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 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 217 return GTK_ENTRY(entry);
205 218 }
206 219  
207 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 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 235 gtk_container_set_border_width(GTK_CONTAINER(table),2);
213 236  
  237 +#endif // GTK_CHECK_VERSION
  238 +
  239 +
214 240 if(dlg->option&LIB3270_FT_OPTION_RECEIVE)
215 241 {
216 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 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 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 257 else
225 258 {
226 259 // Sending file, first the local filename
227   - dlg->file[0] = add_filename_entry(action,0,0,dlg,table);
228 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 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 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 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 308 GtkWidget * frame = gtk_frame_new( _( "Transfer options" ) );
265 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 324 row=0;
268 325 col=0;
269 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 345 g_object_set_data(G_OBJECT(widget),"dlg",(gpointer) dlg);
289 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 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 354 if(col++ > 0)
293 355 {
294 356 row++;
... ... @@ -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 364 gtk_container_add(GTK_CONTAINER(frame),GTK_WIDGET(table));
  365 +#endif // GTK_CHECK_VERSION
  366 +
300 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 470 for(f=0;f<2;f++)
404 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 473 for(f=0;f<G_N_ELEMENTS(dlg->parm);f++)
409 474 {
410 475 if(dlg->parm[f])
... ... @@ -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 491 if(gtk_dialog_run(GTK_DIALOG(dlg->dialog)) != GTK_RESPONSE_ACCEPT)
425 492 {
426 493 gtk_widget_destroy(dlg->dialog);
... ... @@ -849,12 +916,25 @@ void upload_action(GtkAction *action, GtkWidget *widget)
849 916 { "dftsize", N_( "DFT B_uffer size:" ) }
850 917 };
851 918  
852   - GtkTable * table = GTK_TABLE(gtk_table_new(2,2,FALSE));
853   -
854 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 934 gtk_container_set_border_width(GTK_CONTAINER(table),2);
857 935  
  936 +#endif // GTK_CHECK_VERSION
  937 +
858 938 row=0;
859 939 col=0;
860 940 for(f=0;f < 5;f++)
... ... @@ -868,8 +948,13 @@ void upload_action(GtkAction *action, GtkWidget *widget)
868 948  
869 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 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 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 959 col += 2;
875 960 if(col++ > 3)
... ... @@ -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 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 }
... ...