| 310 UiEvent evt; |
310 UiEvent evt; |
| 311 evt.obj = data->obj; |
311 evt.obj = data->obj; |
| 312 evt.document = evt.obj->ctx->document; |
312 evt.document = evt.obj->ctx->document; |
| 313 evt.window = evt.obj->window; |
313 evt.window = evt.obj->window; |
| 314 evt.eventdata = NULL; |
314 evt.eventdata = NULL; |
| |
315 evt.eventdatatype = 0; |
| |
316 evt.eventdatatype = 0; |
| 315 evt.intval = 0; |
317 evt.intval = 0; |
| 316 |
318 |
| 317 if(!strcmp(response, "btn1")) { |
319 if(!strcmp(response, "btn1")) { |
| 318 evt.intval = 1; |
320 evt.intval = 1; |
| 319 } else if(!strcmp(response, "btn2")) { |
321 } else if(!strcmp(response, "btn2")) { |
| 321 } |
323 } |
| 322 |
324 |
| 323 if(data->customdata) { |
325 if(data->customdata) { |
| 324 GtkWidget *entry = data->customdata; |
326 GtkWidget *entry = data->customdata; |
| 325 evt.eventdata = (void*)ENTRY_GET_TEXT(GTK_ENTRY(entry)); |
327 evt.eventdata = (void*)ENTRY_GET_TEXT(GTK_ENTRY(entry)); |
| |
328 evt.eventdatatype = UI_EVENT_DATA_STRING; |
| 326 } |
329 } |
| 327 |
330 |
| 328 if(data->callback) { |
331 if(data->callback) { |
| 329 data->callback(&evt, data->userdata); |
332 data->callback(&evt, data->userdata); |
| 330 } |
333 } |
| 334 AdwDialog *dialog = adw_alert_dialog_new(args.title, args.content); |
337 AdwDialog *dialog = adw_alert_dialog_new(args.title, args.content); |
| 335 UiEventData *event = malloc(sizeof(UiEventData)); |
338 UiEventData *event = malloc(sizeof(UiEventData)); |
| 336 event->callback = args.result; |
339 event->callback = args.result; |
| 337 event->userdata = args.resultdata; |
340 event->userdata = args.resultdata; |
| 338 event->customdata = NULL; |
341 event->customdata = NULL; |
| |
342 event->customint = 0; |
| 339 event->value = 0; |
343 event->value = 0; |
| 340 event->obj = parent; |
344 event->obj = parent; |
| 341 |
345 |
| 342 if(args.button1_label) { |
346 if(args.button1_label) { |
| 343 adw_alert_dialog_add_response(ADW_ALERT_DIALOG(dialog), "btn1", args.button1_label); |
347 adw_alert_dialog_add_response(ADW_ALERT_DIALOG(dialog), "btn1", args.button1_label); |
| 359 if(args.input_value) { |
363 if(args.input_value) { |
| 360 ENTRY_SET_TEXT(entry, args.input_value); |
364 ENTRY_SET_TEXT(entry, args.input_value); |
| 361 } |
365 } |
| 362 adw_alert_dialog_set_extra_child(ADW_ALERT_DIALOG(dialog), entry); |
366 adw_alert_dialog_set_extra_child(ADW_ALERT_DIALOG(dialog), entry); |
| 363 event->customdata = entry; |
367 event->customdata = entry; |
| |
368 event->customint = 0; |
| 364 } |
369 } |
| 365 |
370 |
| 366 g_signal_connect( |
371 g_signal_connect( |
| 367 dialog, |
372 dialog, |
| 368 "destroy", |
373 "destroy", |
| 549 |
555 |
| 550 UiEventData *event = malloc(sizeof(UiEventData)); |
556 UiEventData *event = malloc(sizeof(UiEventData)); |
| 551 event->callback = file_selected_callback; |
557 event->callback = file_selected_callback; |
| 552 event->userdata = cbdata; |
558 event->userdata = cbdata; |
| 553 event->customdata = NULL; |
559 event->customdata = NULL; |
| |
560 event->customint = 0; |
| 554 event->value = mode; |
561 event->value = mode; |
| 555 event->obj = obj; |
562 event->obj = obj; |
| 556 |
563 |
| 557 GtkWindow *parent = GTK_WINDOW(gtk_widget_get_root(obj->widget)); |
564 GtkWindow *parent = GTK_WINDOW(gtk_widget_get_root(obj->widget)); |
| 558 GtkFileDialog *dialog = gtk_file_dialog_new(); |
565 GtkFileDialog *dialog = gtk_file_dialog_new(); |