Commit 26de0ea4825abd4834ea717969db3b5f693fb587

Authored by Perry Werneck
1 parent 81d957a7

Ajustes para compilar em versão do GTK anterior à 3.10

src/pw3270/v3270ft/private.h
@@ -41,6 +41,10 @@ @@ -41,6 +41,10 @@
41 #define NUM_TYPES 4 41 #define NUM_TYPES 4
42 #define ERROR_DOMAIN g_quark_from_static_string("v3270ft") 42 #define ERROR_DOMAIN g_quark_from_static_string("v3270ft")
43 43
  44 + #if GTK_CHECK_VERSION(3,10,0)
  45 + #define HAVE_GTK_HEADER_BAR 1
  46 + #endif // GTK 3.10
  47 +
44 typedef enum ft_button { 48 typedef enum ft_button {
45 49
46 FT_BUTTON_GO_FIRST, 50 FT_BUTTON_GO_FIRST,
src/pw3270/v3270ft/set.c
@@ -143,7 +143,11 @@ void v3270ft_set_options(GtkWidget *widget, LIB3270_FT_OPTION opt) { @@ -143,7 +143,11 @@ void v3270ft_set_options(GtkWidget *widget, LIB3270_FT_OPTION opt) {
143 143
144 void v3270ftprogress_set_header(GtkWidget *widget, const gchar *status) { 144 void v3270ftprogress_set_header(GtkWidget *widget, const gchar *status) {
145 145
  146 +#ifdef HAVE_GTK_HEADER_BAR
146 gtk_header_bar_set_subtitle(GTK_HEADER_BAR(gtk_dialog_get_header_bar(GTK_DIALOG(widget))),status); 147 gtk_header_bar_set_subtitle(GTK_HEADER_BAR(gtk_dialog_get_header_bar(GTK_DIALOG(widget))),status);
  148 +#else
  149 + #warning aqui
  150 +#endif
147 151
148 } 152 }
149 153
src/pw3270/v3270ft/v3270ft.c
@@ -347,7 +347,7 @@ static void v3270ft_init(v3270ft *dialog) { @@ -347,7 +347,7 @@ static void v3270ft_init(v3270ft *dialog) {
347 GtkTreeModel * model; 347 GtkTreeModel * model;
348 GtkCellRenderer * renderer; 348 GtkCellRenderer * renderer;
349 GtkWidget * widget; 349 GtkWidget * widget;
350 - GtkBox * box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))); 350 + GtkBox * box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog)));
351 GtkWidget * entry[G_N_ELEMENTS(label)]; 351 GtkWidget * entry[G_N_ELEMENTS(label)];
352 352
353 // Initialize 353 // Initialize
@@ -367,12 +367,46 @@ static void v3270ft_init(v3270ft *dialog) { @@ -367,12 +367,46 @@ static void v3270ft_init(v3270ft *dialog) {
367 } action[FT_BUTTON_COUNT] = { 367 } action[FT_BUTTON_COUNT] = {
368 368
369 { 369 {
  370 + FT_BUTTON_LOAD_LIST,
  371 + TRUE,
  372 + "document-open",
  373 + N_("Get transfer queue from an external XML file"),
  374 + G_CALLBACK(load_file)
  375 + },
  376 +
  377 + {
  378 + FT_BUTTON_SAVE_LIST,
  379 + TRUE,
  380 + "document-save",
  381 + N_("Save transfer queue to an external XML file"),
  382 + G_CALLBACK(save_file)
  383 + },
  384 +
  385 + {
  386 + FT_BUTTON_INSERT_FILE,
  387 + TRUE,
  388 + "list-add",
  389 + N_("Insert new file in the transfer queue"),
  390 + G_CALLBACK(insert_file)
  391 + },
  392 +
  393 + {
  394 + FT_BUTTON_REMOVE_FILE,
  395 + TRUE,
  396 + "list-remove",
  397 + N_("Remove selected file from the transfer queue"),
  398 + G_CALLBACK(remove_file)
  399 + },
  400 +
  401 + {
370 FT_BUTTON_START_TRANSFER, 402 FT_BUTTON_START_TRANSFER,
371 FALSE, 403 FALSE,
372 "network-server", 404 "network-server",
373 N_("Start file transfer"), 405 N_("Start file transfer"),
374 G_CALLBACK(start_transfer) 406 G_CALLBACK(start_transfer)
375 }, 407 },
  408 +
  409 +#if HAVE_GTK_HEADER_BAR
376 { 410 {
377 FT_BUTTON_GO_LAST, 411 FT_BUTTON_GO_LAST,
378 FALSE, 412 FALSE,
@@ -380,6 +414,7 @@ static void v3270ft_init(v3270ft *dialog) { @@ -380,6 +414,7 @@ static void v3270ft_init(v3270ft *dialog) {
380 N_("Select last file"), 414 N_("Select last file"),
381 G_CALLBACK(select_last) 415 G_CALLBACK(select_last)
382 }, 416 },
  417 +
383 { 418 {
384 FT_BUTTON_GO_NEXT, 419 FT_BUTTON_GO_NEXT,
385 FALSE, 420 FALSE,
@@ -387,6 +422,7 @@ static void v3270ft_init(v3270ft *dialog) { @@ -387,6 +422,7 @@ static void v3270ft_init(v3270ft *dialog) {
387 N_("Select next file"), 422 N_("Select next file"),
388 G_CALLBACK(select_next) 423 G_CALLBACK(select_next)
389 }, 424 },
  425 +
390 { 426 {
391 FT_BUTTON_GO_PREVIOUS, 427 FT_BUTTON_GO_PREVIOUS,
392 FALSE, 428 FALSE,
@@ -394,6 +430,7 @@ static void v3270ft_init(v3270ft *dialog) { @@ -394,6 +430,7 @@ static void v3270ft_init(v3270ft *dialog) {
394 N_("Select previous file"), 430 N_("Select previous file"),
395 G_CALLBACK(select_previous) 431 G_CALLBACK(select_previous)
396 }, 432 },
  433 +
397 { 434 {
398 FT_BUTTON_GO_FIRST, 435 FT_BUTTON_GO_FIRST,
399 FALSE, 436 FALSE,
@@ -402,38 +439,46 @@ static void v3270ft_init(v3270ft *dialog) { @@ -402,38 +439,46 @@ static void v3270ft_init(v3270ft *dialog) {
402 G_CALLBACK(select_first) 439 G_CALLBACK(select_first)
403 }, 440 },
404 441
  442 +#else
405 { 443 {
406 - FT_BUTTON_LOAD_LIST,  
407 - TRUE,  
408 - "document-open",  
409 - N_("Get transfer queue from an external XML file"),  
410 - G_CALLBACK(load_file) 444 + FT_BUTTON_GO_FIRST,
  445 + FALSE,
  446 + "go-first",
  447 + N_("Select first file"),
  448 + G_CALLBACK(select_first)
411 }, 449 },
412 450
413 { 451 {
414 - FT_BUTTON_SAVE_LIST,  
415 - TRUE,  
416 - "document-save",  
417 - N_("Save transfer queue to an external XML file"),  
418 - G_CALLBACK(save_file) 452 + FT_BUTTON_GO_PREVIOUS,
  453 + FALSE,
  454 + "go-previous",
  455 + N_("Select previous file"),
  456 + G_CALLBACK(select_previous)
419 }, 457 },
  458 +
420 { 459 {
421 - FT_BUTTON_INSERT_FILE,  
422 - TRUE,  
423 - "list-add",  
424 - N_("Insert new file in the transfer queue"),  
425 - G_CALLBACK(insert_file) 460 + FT_BUTTON_GO_NEXT,
  461 + FALSE,
  462 + "go-next",
  463 + N_("Select next file"),
  464 + G_CALLBACK(select_next)
426 }, 465 },
  466 +
427 { 467 {
428 - FT_BUTTON_REMOVE_FILE,  
429 - TRUE,  
430 - "list-remove",  
431 - N_("Remove selected file from the transfer queue"),  
432 - G_CALLBACK(remove_file) 468 + FT_BUTTON_GO_LAST,
  469 + FALSE,
  470 + "go-last",
  471 + N_("Select last file"),
  472 + G_CALLBACK(select_last)
433 }, 473 },
  474 +
  475 +#endif // HAVE_GTK_HEADER_BAR
  476 +
434 }; 477 };
435 478
  479 +#if HAVE_GTK_HEADER_BAR
436 widget = gtk_dialog_get_header_bar(GTK_DIALOG(dialog)); 480 widget = gtk_dialog_get_header_bar(GTK_DIALOG(dialog));
  481 +
437 for(f=0;f<G_N_ELEMENTS(action);f++) { 482 for(f=0;f<G_N_ELEMENTS(action);f++) {
438 483
439 GtkWidget *button = gtk_button_new_from_icon_name(action[f].name,GTK_ICON_SIZE_BUTTON); 484 GtkWidget *button = gtk_button_new_from_icon_name(action[f].name,GTK_ICON_SIZE_BUTTON);
@@ -453,6 +498,30 @@ static void v3270ft_init(v3270ft *dialog) { @@ -453,6 +498,30 @@ static void v3270ft_init(v3270ft *dialog) {
453 498
454 } 499 }
455 500
  501 +#else
  502 +
  503 + widget = gtk_toolbar_new();
  504 + gtk_toolbar_set_icon_size(GTK_TOOLBAR(widget),GTK_ICON_SIZE_SMALL_TOOLBAR);
  505 +
  506 + gtk_box_pack_start(box,GTK_WIDGET(widget),FALSE,FALSE,2);
  507 +
  508 + for(f=0;f<G_N_ELEMENTS(action);f++) {
  509 +
  510 + GtkWidget *button = GTK_WIDGET(gtk_tool_button_new(gtk_image_new_from_icon_name(action[f].name,GTK_ICON_SIZE_SMALL_TOOLBAR),NULL));
  511 +
  512 + gtk_widget_set_tooltip_markup(button,gettext(action[f].tooltip));
  513 +
  514 + gtk_toolbar_insert(GTK_TOOLBAR(widget),GTK_TOOL_ITEM(button),-1);
  515 +
  516 + g_signal_connect(button,"clicked",action[f].callback,dialog);
  517 +
  518 + dialog->button[action[f].id] = button;
  519 + gtk_widget_set_sensitive(button,FALSE);
  520 +
  521 + }
  522 +
  523 +#endif
  524 +
456 gtk_widget_set_sensitive(dialog->button[FT_BUTTON_LOAD_LIST],TRUE); 525 gtk_widget_set_sensitive(dialog->button[FT_BUTTON_LOAD_LIST],TRUE);
457 gtk_widget_set_sensitive(dialog->button[FT_BUTTON_REMOVE_FILE],TRUE); 526 gtk_widget_set_sensitive(dialog->button[FT_BUTTON_REMOVE_FILE],TRUE);
458 527
src/pw3270/v3270ft/v3270ftprogress.c
@@ -468,12 +468,16 @@ static void v3270ftprogress_init(v3270ftprogress *dialog) { @@ -468,12 +468,16 @@ static void v3270ftprogress_init(v3270ftprogress *dialog) {
468 468
469 469
470 // Buttons 470 // Buttons
471 - frame = gtk_dialog_get_header_bar(GTK_DIALOG(dialog));  
472 -  
473 - // https://developer.gnome.org/icon-naming-spec/  
474 widget = gtk_button_new_with_label(_("Cancel")); 471 widget = gtk_button_new_with_label(_("Cancel"));
475 g_signal_connect(widget,"clicked",G_CALLBACK(cancel_clicked),dialog); 472 g_signal_connect(widget,"clicked",G_CALLBACK(cancel_clicked),dialog);
  473 +
  474 +#ifdef HAVE_GTK_HEADER_BAR
  475 + frame = gtk_dialog_get_header_bar(GTK_DIALOG(dialog));
476 gtk_header_bar_pack_start(GTK_HEADER_BAR(frame),widget); 476 gtk_header_bar_pack_start(GTK_HEADER_BAR(frame),widget);
  477 +#else
  478 + frame = gtk_dialog_get_action_area(GTK_DIALOG(dialog));
  479 + gtk_box_pack_end(GTK_BOX(frame),widget,FALSE,TRUE,2);
  480 +#endif
477 481
478 } 482 }
479 483