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 | 352 | // Initialize |
353 | 353 | gtk_window_set_title(GTK_WINDOW(dialog),_( "3270 File transfer")); |
354 | 354 | gtk_window_set_resizable(GTK_WINDOW(dialog),FALSE); |
355 | - gtk_container_set_border_width(GTK_CONTAINER(box),18); | |
356 | 355 | dialog->files = dialog->active = g_list_append(NULL,v3270ft_create_entry()); |
357 | 356 | |
358 | 357 | // Buttons |
... | ... | @@ -476,50 +475,72 @@ static void v3270ft_init(v3270ft *dialog) { |
476 | 475 | }; |
477 | 476 | |
478 | 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 | 545 | gtk_widget_set_sensitive(dialog->button[FT_BUTTON_LOAD_LIST],TRUE); |
525 | 546 | gtk_widget_set_sensitive(dialog->button[FT_BUTTON_REMOVE_FILE],TRUE); |
... | ... | @@ -703,7 +724,28 @@ static void v3270ft_init(v3270ft *dialog) { |
703 | 724 | */ |
704 | 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 | 749 | gtk_window_set_transient_for(GTK_WINDOW(dialog),GTK_WINDOW(gtk_widget_get_toplevel(parent))); |
708 | 750 | |
709 | 751 | return dialog; | ... | ... |
src/testprogram/toolbar.c
... | ... | @@ -117,6 +117,7 @@ |
117 | 117 | { |
118 | 118 | // v3270_error_popup(terminal,"title","summary","body"); |
119 | 119 | |
120 | + /* | |
120 | 121 | { |
121 | 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 | 127 | gtk_widget_show_all(dialog); |
127 | 128 | |
128 | 129 | } |
130 | + */ | |
129 | 131 | |
130 | 132 | |
131 | 133 | /* |
... | ... | @@ -156,24 +158,25 @@ |
156 | 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 | ... | ... |