| 100 return ui_window_close_request(obj); |
100 return ui_window_close_request(obj); |
| 101 } |
101 } |
| 102 #endif |
102 #endif |
| 103 |
103 |
| 104 static UiObject* create_window(const char *title, void *window_data, UiBool sidebar, UiBool simple) { |
104 static UiObject* create_window(const char *title, void *window_data, UiBool sidebar, UiBool simple) { |
| 105 CxMempool *mp = cxMempoolCreateSimple(256); |
105 UiObject *obj = uic_object_new_toplevel(); |
| 106 UiObject *obj = cxCalloc(mp->allocator, 1, sizeof(UiObject)); |
|
| 107 obj->ref = 0; |
|
| 108 |
106 |
| 109 #ifdef UI_LIBADWAITA |
107 #ifdef UI_LIBADWAITA |
| 110 obj->widget = adw_application_window_new(ui_get_application()); |
108 obj->widget = adw_application_window_new(ui_get_application()); |
| 111 #elif !defined(UI_GTK2) |
109 #elif !defined(UI_GTK2) |
| 112 obj->widget = gtk_application_window_new(ui_get_application()); |
110 obj->widget = gtk_application_window_new(ui_get_application()); |
| 113 #else |
111 #else |
| 114 obj->widget = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
112 obj->widget = gtk_window_new(GTK_WINDOW_TOPLEVEL); |
| 115 #endif |
113 #endif |
| 116 |
114 |
| 117 |
|
| 118 obj->ctx = uic_context(obj, mp); |
|
| 119 obj->window = window_data; |
115 obj->window = window_data; |
| 120 |
116 |
| 121 #if GTK_CHECK_VERSION(4, 0, 0) |
117 #if GTK_CHECK_VERSION(4, 0, 0) |
| 122 obj->ctx->action_map = G_ACTION_MAP(obj->widget); |
118 obj->ctx->action_map = G_ACTION_MAP(obj->widget); |
| 123 #endif |
119 #endif |
| 759 gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(parent->widget)); |
755 gtk_window_set_transient_for(GTK_WINDOW(dialog), GTK_WINDOW(parent->widget)); |
| 760 if(args.modal != UI_OFF) { |
756 if(args.modal != UI_OFF) { |
| 761 gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); |
757 gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); |
| 762 } |
758 } |
| 763 |
759 |
| 764 CxMempool *mp = cxMempoolCreateSimple(256); |
760 UiObject *obj = uic_object_new_toplevel(); |
| 765 UiObject *obj = cxCalloc(mp->allocator, 1, sizeof(UiObject)); |
|
| 766 obj->ctx = uic_context(obj, mp); |
|
| 767 obj->widget = dialog; |
761 obj->widget = dialog; |
| 768 obj->ref = 0; |
762 obj->ref = 0; |
| 769 obj->destroy = ui_window_widget_destroy; |
763 obj->destroy = ui_window_widget_destroy; |
| 770 nwindows++; |
764 nwindows++; |
| 771 |
765 |