Commit 4ef97a3cb8a60429024846882b740471a87de0ce
1 parent
2e903b03
Exists in
master
and in
1 other branch
Adjusting ft layout for windows.
Showing
2 changed files
with
89 additions
and
44 deletions
Show diff stats
src/filetransfer/v3270ft.c
@@ -352,7 +352,6 @@ static void v3270ft_init(v3270ft *dialog) { | @@ -352,7 +352,6 @@ static void v3270ft_init(v3270ft *dialog) { | ||
352 | // Initialize | 352 | // Initialize |
353 | gtk_window_set_title(GTK_WINDOW(dialog),_( "3270 File transfer")); | 353 | gtk_window_set_title(GTK_WINDOW(dialog),_( "3270 File transfer")); |
354 | gtk_window_set_resizable(GTK_WINDOW(dialog),FALSE); | 354 | gtk_window_set_resizable(GTK_WINDOW(dialog),FALSE); |
355 | - gtk_container_set_border_width(GTK_CONTAINER(box),18); | ||
356 | dialog->files = dialog->active = g_list_append(NULL,v3270ft_create_entry()); | 355 | dialog->files = dialog->active = g_list_append(NULL,v3270ft_create_entry()); |
357 | 356 | ||
358 | // Buttons | 357 | // Buttons |
@@ -476,50 +475,72 @@ static void v3270ft_init(v3270ft *dialog) { | @@ -476,50 +475,72 @@ static void v3270ft_init(v3270ft *dialog) { | ||
476 | }; | 475 | }; |
477 | 476 | ||
478 | #if HAVE_GTK_HEADER_BAR | 477 | #if HAVE_GTK_HEADER_BAR |
479 | - widget = gtk_dialog_get_header_bar(GTK_DIALOG(dialog)); | 478 | + { |
479 | + gboolean use_header; | ||
480 | + g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &use_header, NULL); | ||
480 | 481 | ||
481 | - for(f=0;f< (int) G_N_ELEMENTS(action);f++) { | 482 | + if(use_header) { |
483 | + widget = gtk_dialog_get_header_bar(GTK_DIALOG(dialog)); | ||
484 | + } else { | ||
485 | + widget = NULL; | ||
486 | + } | ||
482 | 487 | ||
483 | - GtkWidget *button = gtk_button_new_from_icon_name(action[f].name,GTK_ICON_SIZE_BUTTON); | 488 | + } |
489 | +#else | ||
490 | + widget = NULL; | ||
491 | +#endif // HAVE_GTK_HEADER_BAR | ||
484 | 492 | ||
485 | - gtk_widget_set_tooltip_markup(button,g_dgettext(GETTEXT_PACKAGE,action[f].tooltip)); | 493 | + if(widget) { |
486 | 494 | ||
487 | - if(action[f].start) { | ||
488 | - gtk_header_bar_pack_start(GTK_HEADER_BAR(widget),button); | ||
489 | - } else { | ||
490 | - gtk_header_bar_pack_end(GTK_HEADER_BAR(widget),button); | ||
491 | - } | 495 | + gtk_container_set_border_width(GTK_CONTAINER(box),18); |
492 | 496 | ||
493 | - g_signal_connect(button,"clicked",action[f].callback,dialog); | 497 | + for(f=0;f< (int) G_N_ELEMENTS(action);f++) { |
494 | 498 | ||
495 | - dialog->button[action[f].id] = button; | ||
496 | - gtk_widget_set_sensitive(button,FALSE); | 499 | + GtkWidget *button = gtk_button_new_from_icon_name(action[f].name,GTK_ICON_SIZE_BUTTON); |
497 | 500 | ||
498 | - } | 501 | + gtk_widget_set_tooltip_markup(button,g_dgettext(GETTEXT_PACKAGE,action[f].tooltip)); |
499 | 502 | ||
500 | -#else | 503 | + if(action[f].start) { |
504 | + gtk_header_bar_pack_start(GTK_HEADER_BAR(widget),button); | ||
505 | + } else { | ||
506 | + gtk_header_bar_pack_end(GTK_HEADER_BAR(widget),button); | ||
507 | + } | ||
501 | 508 | ||
502 | - widget = gtk_toolbar_new(); | ||
503 | - gtk_toolbar_set_icon_size(GTK_TOOLBAR(widget),GTK_ICON_SIZE_SMALL_TOOLBAR); | 509 | + g_signal_connect(button,"clicked",action[f].callback,dialog); |
504 | 510 | ||
505 | - gtk_box_pack_start(box,GTK_WIDGET(widget),FALSE,FALSE,2); | 511 | + dialog->button[action[f].id] = button; |
512 | + gtk_widget_set_sensitive(button,FALSE); | ||
506 | 513 | ||
507 | - for(f=0;f<G_N_ELEMENTS(action);f++) { | 514 | + } |
508 | 515 | ||
509 | - GtkWidget *button = GTK_WIDGET(gtk_tool_button_new(gtk_image_new_from_icon_name(action[f].name,GTK_ICON_SIZE_SMALL_TOOLBAR),NULL)); | 516 | + } else { |
510 | 517 | ||
511 | - gtk_widget_set_tooltip_markup(button,g_dgettext(GETTEXT_PACKAGE,action[f].tooltip)); | 518 | + widget = gtk_toolbar_new(); |
519 | + gtk_toolbar_set_icon_size(GTK_TOOLBAR(widget),GTK_ICON_SIZE_SMALL_TOOLBAR); | ||
512 | 520 | ||
513 | - gtk_toolbar_insert(GTK_TOOLBAR(widget),GTK_TOOL_ITEM(button),-1); | 521 | + gtk_box_pack_start(box,GTK_WIDGET(widget),FALSE,FALSE,0); |
514 | 522 | ||
515 | - g_signal_connect(button,"clicked",action[f].callback,dialog); | 523 | + for(f=0;f< (int) G_N_ELEMENTS(action);f++) { |
516 | 524 | ||
517 | - dialog->button[action[f].id] = button; | ||
518 | - gtk_widget_set_sensitive(button,FALSE); | 525 | + GtkWidget *button = GTK_WIDGET(gtk_tool_button_new(gtk_image_new_from_icon_name(action[f].name,GTK_ICON_SIZE_SMALL_TOOLBAR),NULL)); |
519 | 526 | ||
520 | - } | 527 | + gtk_widget_set_tooltip_markup(button,g_dgettext(GETTEXT_PACKAGE,action[f].tooltip)); |
521 | 528 | ||
522 | -#endif | 529 | + gtk_toolbar_insert(GTK_TOOLBAR(widget),GTK_TOOL_ITEM(button),-1); |
530 | + | ||
531 | + g_signal_connect(button,"clicked",action[f].callback,dialog); | ||
532 | + | ||
533 | + dialog->button[action[f].id] = button; | ||
534 | + gtk_widget_set_sensitive(button,FALSE); | ||
535 | + } | ||
536 | + | ||
537 | + // Create inner box | ||
538 | + widget = gtk_box_new(GTK_ORIENTATION_VERTICAL,0); | ||
539 | + gtk_box_pack_start(box,widget,TRUE,TRUE,0); | ||
540 | + gtk_container_set_border_width(GTK_CONTAINER(widget),18); | ||
541 | + box = GTK_BOX(widget); | ||
542 | + | ||
543 | + } | ||
523 | 544 | ||
524 | gtk_widget_set_sensitive(dialog->button[FT_BUTTON_LOAD_LIST],TRUE); | 545 | gtk_widget_set_sensitive(dialog->button[FT_BUTTON_LOAD_LIST],TRUE); |
525 | gtk_widget_set_sensitive(dialog->button[FT_BUTTON_REMOVE_FILE],TRUE); | 546 | gtk_widget_set_sensitive(dialog->button[FT_BUTTON_REMOVE_FILE],TRUE); |
@@ -703,7 +724,28 @@ static void v3270ft_init(v3270ft *dialog) { | @@ -703,7 +724,28 @@ static void v3270ft_init(v3270ft *dialog) { | ||
703 | */ | 724 | */ |
704 | LIB3270_EXPORT GtkWidget * v3270ft_new(GtkWidget *parent) { | 725 | LIB3270_EXPORT GtkWidget * v3270ft_new(GtkWidget *parent) { |
705 | 726 | ||
706 | - GtkWidget * dialog = GTK_WIDGET(g_object_new(GTK_TYPE_V3270FT, "use-header-bar", (gint) 1, NULL)); | 727 | +#if GTK_CHECK_VERSION(3,12,0) |
728 | + | ||
729 | + gboolean use_header; | ||
730 | + g_object_get(gtk_settings_get_default(), "gtk-dialogs-use-header", &use_header, NULL); | ||
731 | + | ||
732 | + GtkWidget * dialog = | ||
733 | + GTK_WIDGET(g_object_new( | ||
734 | + GTK_TYPE_V3270FT, | ||
735 | + "use-header-bar", (use_header ? 1 : 0), | ||
736 | + NULL | ||
737 | + )); | ||
738 | + | ||
739 | +#else | ||
740 | + | ||
741 | + GtkWidget * dialog = | ||
742 | + GTK_WIDGET(g_object_new( | ||
743 | + GTK_TYPE_V3270FT, | ||
744 | + NULL | ||
745 | + )); | ||
746 | + | ||
747 | +#endif | ||
748 | + | ||
707 | gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(parent))); | 749 | gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(parent))); |
708 | 750 | ||
709 | return dialog; | 751 | return dialog; |
src/testprogram/toolbar.c
@@ -117,6 +117,7 @@ | @@ -117,6 +117,7 @@ | ||
117 | { | 117 | { |
118 | // v3270_error_popup(terminal,"title","summary","body"); | 118 | // v3270_error_popup(terminal,"title","summary","body"); |
119 | 119 | ||
120 | + /* | ||
120 | { | 121 | { |
121 | GtkWidget * dialog = v3270_dialog_new_with_buttons("Testing dialog", terminal, "Ok", GTK_RESPONSE_OK, "Cancel", GTK_RESPONSE_CANCEL, NULL); | 122 | GtkWidget * dialog = v3270_dialog_new_with_buttons("Testing dialog", terminal, "Ok", GTK_RESPONSE_OK, "Cancel", GTK_RESPONSE_CANCEL, NULL); |
122 | 123 | ||
@@ -126,6 +127,7 @@ | @@ -126,6 +127,7 @@ | ||
126 | gtk_widget_show_all(dialog); | 127 | gtk_widget_show_all(dialog); |
127 | 128 | ||
128 | } | 129 | } |
130 | + */ | ||
129 | 131 | ||
130 | 132 | ||
131 | /* | 133 | /* |
@@ -156,24 +158,25 @@ | @@ -156,24 +158,25 @@ | ||
156 | v3270_ft_activity_set_options(activity,LIB3270_FT_OPTION_RECEIVE|LIB3270_FT_OPTION_ASCII|LIB3270_FT_OPTION_REMAP); | 158 | v3270_ft_activity_set_options(activity,LIB3270_FT_OPTION_RECEIVE|LIB3270_FT_OPTION_ASCII|LIB3270_FT_OPTION_REMAP); |
157 | */ | 159 | */ |
158 | 160 | ||
159 | - /* | ||
160 | - // | ||
161 | - // Test settings dialog | ||
162 | - // | ||
163 | - // GtkWidget * dialog = v3270_ft_settings_dialog_new(terminal); | ||
164 | - // v3270_ft_settings_dialog_append_activity(dialog,activity,NULL); | ||
165 | 161 | ||
166 | - // | ||
167 | - // V5.1 dialog | ||
168 | - // | ||
169 | - GtkWidget *dialog = v3270ft_new(GTK_WIDGET(button)); | ||
170 | - */ | 162 | + { |
163 | + // | ||
164 | + // Test V3270 FT Dialog | ||
165 | + // | ||
166 | + // | ||
167 | + // GtkWidget * dialog = v3270_ft_settings_dialog_new(terminal); | ||
168 | + // v3270_ft_settings_dialog_append_activity(dialog,activity,NULL); | ||
169 | + | ||
170 | + // | ||
171 | + // V5.1 dialog | ||
172 | + // | ||
173 | + GtkWidget *dialog = v3270ft_new(GTK_WIDGET(button)); | ||
174 | + | ||
175 | + g_signal_connect(dialog,"response",G_CALLBACK(gtk_widget_destroy),NULL); | ||
176 | + gtk_widget_show_all(dialog); | ||
177 | + | ||
178 | + } | ||
171 | 179 | ||
172 | - /* | ||
173 | - gtk_widget_show_all(dialog); | ||
174 | - gtk_dialog_run(GTK_DIALOG(dialog)); | ||
175 | - gtk_widget_destroy(dialog); | ||
176 | - */ | ||
177 | 180 | ||
178 | } | 181 | } |
179 | 182 |