| 143 return GTK_APPLICATION(app); |
144 return GTK_APPLICATION(app); |
| 144 } |
145 } |
| 145 #endif |
146 #endif |
| 146 |
147 |
| 147 void ui_show(UiObject *obj) { |
148 void ui_show(UiObject *obj) { |
| 148 gboolean visible = gtk_widget_is_visible(obj->widget); |
149 gboolean visible = FALSE; |
| 149 |
|
| 150 uic_check_state_widgets(obj->ctx); |
150 uic_check_state_widgets(obj->ctx); |
| 151 #if GTK_MAJOR_VERSION >= 4 |
151 if(obj->widget) { |
| 152 gtk_window_present(GTK_WINDOW(obj->widget)); |
152 visible = gtk_widget_is_visible(obj->widget); |
| |
153 #if GTK_MAJOR_VERSION >= 4 |
| |
154 gtk_window_present(GTK_WINDOW(obj->widget)); |
| 153 #elif GTK_MAJOR_VERSION <= 3 |
155 #elif GTK_MAJOR_VERSION <= 3 |
| 154 gtk_widget_show_all(obj->widget); |
156 gtk_widget_show_all(obj->widget); |
| 155 #endif |
157 #endif |
| 156 |
158 } |
| |
159 |
| 157 if(!visible) { |
160 if(!visible) { |
| 158 obj->ref++; |
161 obj->ref++; |
| 159 } |
162 } |
| 160 } |
163 } |
| 161 |
164 |
| 162 void ui_close(UiObject *obj) { |
165 void ui_close(UiObject *obj) { |
| 163 uic_context_prepare_close(obj->ctx); |
166 uic_context_prepare_close(obj->ctx); // TODO: should this be moved to the close event handler? |
| |
167 if(obj->widget) { |
| 164 #if GTK_CHECK_VERSION(4, 0, 0) |
168 #if GTK_CHECK_VERSION(4, 0, 0) |
| 165 gtk_window_close(GTK_WINDOW(obj->widget)); |
169 gtk_window_close(GTK_WINDOW(obj->widget)); |
| 166 #else |
170 #else |
| 167 gtk_widget_destroy(obj->widget); |
171 gtk_widget_destroy(obj->widget); |
| 168 #endif |
172 #endif |
| |
173 } else { |
| |
174 ui_window_close_request(obj); |
| |
175 } |
| 169 } |
176 } |
| 170 |
177 |
| 171 |
178 |
| 172 static gboolean ui_job_finished(void *data) { |
179 static gboolean ui_job_finished(void *data) { |
| 173 UiJob *job = data; |
180 UiJob *job = data; |