diff --git a/src/pw3270/v3270ft/private.h b/src/pw3270/v3270ft/private.h index b4fe32d..9ed01cd 100644 --- a/src/pw3270/v3270ft/private.h +++ b/src/pw3270/v3270ft/private.h @@ -41,6 +41,10 @@ #define NUM_TYPES 4 #define ERROR_DOMAIN g_quark_from_static_string("v3270ft") + #if GTK_CHECK_VERSION(3,10,0) + #define HAVE_GTK_HEADER_BAR 1 + #endif // GTK 3.10 + typedef enum ft_button { FT_BUTTON_GO_FIRST, diff --git a/src/pw3270/v3270ft/set.c b/src/pw3270/v3270ft/set.c index abd81c7..3cbb1d1 100644 --- a/src/pw3270/v3270ft/set.c +++ b/src/pw3270/v3270ft/set.c @@ -143,7 +143,11 @@ void v3270ft_set_options(GtkWidget *widget, LIB3270_FT_OPTION opt) { void v3270ftprogress_set_header(GtkWidget *widget, const gchar *status) { +#ifdef HAVE_GTK_HEADER_BAR gtk_header_bar_set_subtitle(GTK_HEADER_BAR(gtk_dialog_get_header_bar(GTK_DIALOG(widget))),status); +#else + #warning aqui +#endif } diff --git a/src/pw3270/v3270ft/v3270ft.c b/src/pw3270/v3270ft/v3270ft.c index b61c519..adf5df3 100644 --- a/src/pw3270/v3270ft/v3270ft.c +++ b/src/pw3270/v3270ft/v3270ft.c @@ -347,7 +347,7 @@ static void v3270ft_init(v3270ft *dialog) { GtkTreeModel * model; GtkCellRenderer * renderer; GtkWidget * widget; - GtkBox * box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))); + GtkBox * box = GTK_BOX(gtk_dialog_get_content_area(GTK_DIALOG(dialog))); GtkWidget * entry[G_N_ELEMENTS(label)]; // Initialize @@ -367,12 +367,46 @@ static void v3270ft_init(v3270ft *dialog) { } action[FT_BUTTON_COUNT] = { { + FT_BUTTON_LOAD_LIST, + TRUE, + "document-open", + N_("Get transfer queue from an external XML file"), + G_CALLBACK(load_file) + }, + + { + FT_BUTTON_SAVE_LIST, + TRUE, + "document-save", + N_("Save transfer queue to an external XML file"), + G_CALLBACK(save_file) + }, + + { + FT_BUTTON_INSERT_FILE, + TRUE, + "list-add", + N_("Insert new file in the transfer queue"), + G_CALLBACK(insert_file) + }, + + { + FT_BUTTON_REMOVE_FILE, + TRUE, + "list-remove", + N_("Remove selected file from the transfer queue"), + G_CALLBACK(remove_file) + }, + + { FT_BUTTON_START_TRANSFER, FALSE, "network-server", N_("Start file transfer"), G_CALLBACK(start_transfer) }, + +#if HAVE_GTK_HEADER_BAR { FT_BUTTON_GO_LAST, FALSE, @@ -380,6 +414,7 @@ static void v3270ft_init(v3270ft *dialog) { N_("Select last file"), G_CALLBACK(select_last) }, + { FT_BUTTON_GO_NEXT, FALSE, @@ -387,6 +422,7 @@ static void v3270ft_init(v3270ft *dialog) { N_("Select next file"), G_CALLBACK(select_next) }, + { FT_BUTTON_GO_PREVIOUS, FALSE, @@ -394,6 +430,7 @@ static void v3270ft_init(v3270ft *dialog) { N_("Select previous file"), G_CALLBACK(select_previous) }, + { FT_BUTTON_GO_FIRST, FALSE, @@ -402,38 +439,46 @@ static void v3270ft_init(v3270ft *dialog) { G_CALLBACK(select_first) }, +#else { - FT_BUTTON_LOAD_LIST, - TRUE, - "document-open", - N_("Get transfer queue from an external XML file"), - G_CALLBACK(load_file) + FT_BUTTON_GO_FIRST, + FALSE, + "go-first", + N_("Select first file"), + G_CALLBACK(select_first) }, { - FT_BUTTON_SAVE_LIST, - TRUE, - "document-save", - N_("Save transfer queue to an external XML file"), - G_CALLBACK(save_file) + FT_BUTTON_GO_PREVIOUS, + FALSE, + "go-previous", + N_("Select previous file"), + G_CALLBACK(select_previous) }, + { - FT_BUTTON_INSERT_FILE, - TRUE, - "list-add", - N_("Insert new file in the transfer queue"), - G_CALLBACK(insert_file) + FT_BUTTON_GO_NEXT, + FALSE, + "go-next", + N_("Select next file"), + G_CALLBACK(select_next) }, + { - FT_BUTTON_REMOVE_FILE, - TRUE, - "list-remove", - N_("Remove selected file from the transfer queue"), - G_CALLBACK(remove_file) + FT_BUTTON_GO_LAST, + FALSE, + "go-last", + N_("Select last file"), + G_CALLBACK(select_last) }, + +#endif // HAVE_GTK_HEADER_BAR + }; +#if HAVE_GTK_HEADER_BAR widget = gtk_dialog_get_header_bar(GTK_DIALOG(dialog)); + for(f=0;fbutton[action[f].id] = button; + gtk_widget_set_sensitive(button,FALSE); + + } + +#endif + gtk_widget_set_sensitive(dialog->button[FT_BUTTON_LOAD_LIST],TRUE); gtk_widget_set_sensitive(dialog->button[FT_BUTTON_REMOVE_FILE],TRUE); diff --git a/src/pw3270/v3270ft/v3270ftprogress.c b/src/pw3270/v3270ft/v3270ftprogress.c index d387516..5751d2e 100644 --- a/src/pw3270/v3270ft/v3270ftprogress.c +++ b/src/pw3270/v3270ft/v3270ftprogress.c @@ -468,12 +468,16 @@ static void v3270ftprogress_init(v3270ftprogress *dialog) { // Buttons - frame = gtk_dialog_get_header_bar(GTK_DIALOG(dialog)); - - // https://developer.gnome.org/icon-naming-spec/ widget = gtk_button_new_with_label(_("Cancel")); g_signal_connect(widget,"clicked",G_CALLBACK(cancel_clicked),dialog); + +#ifdef HAVE_GTK_HEADER_BAR + frame = gtk_dialog_get_header_bar(GTK_DIALOG(dialog)); gtk_header_bar_pack_start(GTK_HEADER_BAR(frame),widget); +#else + frame = gtk_dialog_get_action_area(GTK_DIALOG(dialog)); + gtk_box_pack_end(GTK_BOX(frame),widget,FALSE,TRUE,2); +#endif } -- libgit2 0.21.2