| 501 } |
501 } |
| 502 |
502 |
| 503 if(data->callback) { |
503 if(data->callback) { |
| 504 data->callback(&evt, data->userdata); |
504 data->callback(&evt, data->userdata); |
| 505 } |
505 } |
| |
506 |
| |
507 ui_app_unref(); |
| 506 } |
508 } |
| 507 |
509 |
| 508 void ui_dialog_create(UiObject *parent, UiDialogArgs *args) { |
510 void ui_dialog_create(UiObject *parent, UiDialogArgs *args) { |
| 509 AdwDialog *dialog = adw_alert_dialog_new(args->title, args->content); |
511 AdwDialog *dialog = adw_alert_dialog_new(args->title, args->content); |
| 510 UiEventData *event = malloc(sizeof(UiEventData)); |
512 UiEventData *event = malloc(sizeof(UiEventData)); |
| 545 "destroy", |
547 "destroy", |
| 546 G_CALLBACK(ui_destroy_userdata), |
548 G_CALLBACK(ui_destroy_userdata), |
| 547 event); |
549 event); |
| 548 |
550 |
| 549 g_signal_connect(dialog, "response", G_CALLBACK(dialog_response), event); |
551 g_signal_connect(dialog, "response", G_CALLBACK(dialog_response), event); |
| |
552 ui_app_ref(); |
| 550 adw_dialog_present(dialog, parent ? parent->widget : NULL); |
553 adw_dialog_present(dialog, parent ? parent->widget : NULL); |
| 551 |
554 |
| 552 if(entry) { |
555 if(entry) { |
| 553 gtk_entry_grab_focus_without_selecting(GTK_ENTRY(entry)); |
556 gtk_entry_grab_focus_without_selecting(GTK_ENTRY(entry)); |
| 554 } |
557 } |