| 930 GtkWidget *c = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); |
947 GtkWidget *c = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); |
| 931 gtk_container_remove(GTK_CONTAINER(dialog), c); |
948 gtk_container_remove(GTK_CONTAINER(dialog), c); |
| 932 #endif |
949 #endif |
| 933 |
950 |
| 934 GtkWidget *content_vbox = ui_gtk_vbox_new(0); |
951 GtkWidget *content_vbox = ui_gtk_vbox_new(0); |
| 935 obj->container = ui_box_container(obj, content_vbox, UI_CONTAINER_VBOX); |
952 UiContainerX *container = ui_box_container(obj, content_vbox, UI_CONTAINER_VBOX); |
| |
953 uic_object_push_container(obj, container); |
| 936 if(args->lbutton1 || args->lbutton2 || args->rbutton3 || args->rbutton4) { |
954 if(args->lbutton1 || args->lbutton2 || args->rbutton3 || args->rbutton4) { |
| 937 #if GTK_CHECK_VERSION(3, 10, 0) |
955 #if GTK_CHECK_VERSION(3, 10, 0) |
| 938 if(args->titlebar_buttons != UI_OFF) { |
956 if(args->titlebar_buttons != UI_OFF) { |
| 939 GtkWidget *headerbar = gtk_header_bar_new(); |
957 GtkWidget *headerbar = gtk_header_bar_new(); |
| 940 gtk_window_set_titlebar(GTK_WINDOW(dialog), headerbar); |
958 gtk_window_set_titlebar(GTK_WINDOW(dialog), headerbar); |
| 941 if(args->show_closebutton == UI_OFF) { |
959 if(args->show_closebutton == UI_OFF) { |
| 942 HEADERBAR_SHOW_CLOSEBUTTON(headerbar, FALSE); |
960 HEADERBAR_SHOW_CLOSEBUTTON(headerbar, FALSE); |
| 943 } |
961 } |
| 944 |
962 |
| 945 if(args->lbutton1) { |
963 if(args->lbutton1) { |
| 946 GtkWidget *button = ui_create_button(obj, args->lbutton1, NULL, args->onclick, args->onclickdata, 1, args->default_button == 1); |
964 GtkWidget *button = ui_create_button(obj, args->lbutton1, NULL, NULL/*tooltip*/, args->onclick, args->onclickdata, 1, args->default_button == 1); |
| 947 gtk_header_bar_pack_start(GTK_HEADER_BAR(headerbar), button); |
965 gtk_header_bar_pack_start(GTK_HEADER_BAR(headerbar), button); |
| 948 if(args->default_button == 1) { |
966 if(args->default_button == 1) { |
| 949 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
967 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
| 950 DEFAULT_BUTTON(dialog, button); |
968 DEFAULT_BUTTON(dialog, button); |
| 951 } |
969 } |
| 952 } |
970 } |
| 953 if(args->lbutton2) { |
971 if(args->lbutton2) { |
| 954 GtkWidget *button = ui_create_button(obj, args->lbutton2, NULL, args->onclick, args->onclickdata, 2, args->default_button == 2); |
972 GtkWidget *button = ui_create_button(obj, args->lbutton2, NULL, NULL/*tooltip*/, args->onclick, args->onclickdata, 2, args->default_button == 2); |
| 955 gtk_header_bar_pack_start(GTK_HEADER_BAR(headerbar), button); |
973 gtk_header_bar_pack_start(GTK_HEADER_BAR(headerbar), button); |
| 956 if(args->default_button == 2) { |
974 if(args->default_button == 2) { |
| 957 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
975 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
| 958 DEFAULT_BUTTON(dialog, button); |
976 DEFAULT_BUTTON(dialog, button); |
| 959 } |
977 } |
| 960 } |
978 } |
| 961 |
979 |
| 962 if(args->rbutton4) { |
980 if(args->rbutton4) { |
| 963 GtkWidget *button = ui_create_button(obj, args->rbutton4, NULL, args->onclick, args->onclickdata, 4, args->default_button == 4); |
981 GtkWidget *button = ui_create_button(obj, args->rbutton4, NULL, NULL/*tooltip*/, args->onclick, args->onclickdata, 4, args->default_button == 4); |
| 964 gtk_header_bar_pack_end(GTK_HEADER_BAR(headerbar), button); |
982 gtk_header_bar_pack_end(GTK_HEADER_BAR(headerbar), button); |
| 965 if(args->default_button == 4) { |
983 if(args->default_button == 4) { |
| 966 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
984 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
| 967 DEFAULT_BUTTON(dialog, button); |
985 DEFAULT_BUTTON(dialog, button); |
| 968 } |
986 } |
| 969 } |
987 } |
| 970 if(args->rbutton3) { |
988 if(args->rbutton3) { |
| 971 GtkWidget *button = ui_create_button(obj, args->rbutton3, NULL, args->onclick, args->onclickdata, 3, args->default_button == 3); |
989 GtkWidget *button = ui_create_button(obj, args->rbutton3, NULL, NULL/*tooltip*/, args->onclick, args->onclickdata, 3, args->default_button == 3); |
| 972 gtk_header_bar_pack_end(GTK_HEADER_BAR(headerbar), button); |
990 gtk_header_bar_pack_end(GTK_HEADER_BAR(headerbar), button); |
| 973 if(args->default_button == 3) { |
991 if(args->default_button == 3) { |
| 974 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
992 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
| 975 DEFAULT_BUTTON(dialog, button); |
993 DEFAULT_BUTTON(dialog, button); |
| 976 } |
994 } |
| 983 WINDOW_SET_CONTENT(obj->widget, vbox); |
1001 WINDOW_SET_CONTENT(obj->widget, vbox); |
| 984 |
1002 |
| 985 GtkWidget *separator = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); |
1003 GtkWidget *separator = gtk_separator_new(GTK_ORIENTATION_HORIZONTAL); |
| 986 |
1004 |
| 987 GtkWidget *grid = ui_create_grid_widget(10, 10); |
1005 GtkWidget *grid = ui_create_grid_widget(10, 10); |
| 988 GtkWidget *widget = ui_box_set_margin(grid, 16); |
1006 GtkWidget *widget = ui_gtk_set_margin(grid, 16, 0, 0, 0, 0); |
| 989 gtk_grid_set_column_homogeneous(GTK_GRID(grid), TRUE); |
1007 gtk_grid_set_column_homogeneous(GTK_GRID(grid), TRUE); |
| 990 |
1008 |
| 991 if(args->lbutton1) { |
1009 if(args->lbutton1) { |
| 992 GtkWidget *button = ui_create_button(obj, args->lbutton1, NULL, args->onclick, args->onclickdata, 1, args->default_button == 1); |
1010 GtkWidget *button = ui_create_button(obj, args->lbutton1, NULL, NULL/*tooltip*/, args->onclick, args->onclickdata, 1, args->default_button == 1); |
| 993 gtk_grid_attach(GTK_GRID(grid), button, 0, 0, 1, 1); |
1011 gtk_grid_attach(GTK_GRID(grid), button, 0, 0, 1, 1); |
| 994 if(args->default_button == 1) { |
1012 if(args->default_button == 1) { |
| 995 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
1013 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
| 996 DEFAULT_BUTTON(dialog, button); |
1014 DEFAULT_BUTTON(dialog, button); |
| 997 } |
1015 } |
| 998 } |
1016 } |
| 999 if(args->lbutton2) { |
1017 if(args->lbutton2) { |
| 1000 GtkWidget *button = ui_create_button(obj, args->lbutton2, NULL, args->onclick, args->onclickdata, 2, args->default_button == 2); |
1018 GtkWidget *button = ui_create_button(obj, args->lbutton2, NULL, NULL/*tooltip*/, args->onclick, args->onclickdata, 2, args->default_button == 2); |
| 1001 gtk_grid_attach(GTK_GRID(grid), button, 1, 0, 1, 1); |
1019 gtk_grid_attach(GTK_GRID(grid), button, 1, 0, 1, 1); |
| 1002 if(args->default_button == 2) { |
1020 if(args->default_button == 2) { |
| 1003 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
1021 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
| 1004 DEFAULT_BUTTON(dialog, button); |
1022 DEFAULT_BUTTON(dialog, button); |
| 1005 } |
1023 } |
| 1006 } |
1024 } |
| 1007 GtkWidget *space = gtk_label_new(NULL); |
1025 GtkWidget *space = gtk_label_new(NULL); |
| 1008 gtk_widget_set_hexpand(space, TRUE); |
1026 gtk_widget_set_hexpand(space, TRUE); |
| 1009 gtk_grid_attach(GTK_GRID(grid), space, 2, 0, 1, 1); |
1027 gtk_grid_attach(GTK_GRID(grid), space, 2, 0, 1, 1); |
| 1010 if(args->rbutton3) { |
1028 if(args->rbutton3) { |
| 1011 GtkWidget *button = ui_create_button(obj, args->rbutton3, NULL, args->onclick, args->onclickdata, 3, args->default_button == 3); |
1029 GtkWidget *button = ui_create_button(obj, args->rbutton3, NULL, NULL/*tooltip*/, args->onclick, args->onclickdata, 3, args->default_button == 3); |
| 1012 gtk_grid_attach(GTK_GRID(grid), button, 3, 0, 1, 1); |
1030 gtk_grid_attach(GTK_GRID(grid), button, 3, 0, 1, 1); |
| 1013 if(args->default_button == 3) { |
1031 if(args->default_button == 3) { |
| 1014 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
1032 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
| 1015 DEFAULT_BUTTON(dialog, button); |
1033 DEFAULT_BUTTON(dialog, button); |
| 1016 } |
1034 } |
| 1017 } |
1035 } |
| 1018 if(args->rbutton4) { |
1036 if(args->rbutton4) { |
| 1019 GtkWidget *button = ui_create_button(obj, args->rbutton4, NULL, args->onclick, args->onclickdata, 4, args->default_button == 4); |
1037 GtkWidget *button = ui_create_button(obj, args->rbutton4, NULL, NULL/*tooltip*/, args->onclick, args->onclickdata, 4, args->default_button == 4); |
| 1020 gtk_grid_attach(GTK_GRID(grid), button, 4, 0, 1, 1); |
1038 gtk_grid_attach(GTK_GRID(grid), button, 4, 0, 1, 1); |
| 1021 if(args->default_button == 4) { |
1039 if(args->default_button == 4) { |
| 1022 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
1040 WIDGET_ADD_CSS_CLASS(button, "suggested-action"); |
| 1023 DEFAULT_BUTTON(dialog, button); |
1041 DEFAULT_BUTTON(dialog, button); |
| 1024 } |
1042 } |