| 1439 | } |
| 1440 | |
| 1441 | ProjectExportDialog::ProjectExportDialog() { |
| 1442 | set_title(TTR("Export")); |
| 1443 | set_clamp_to_embedder(true); |
| 1444 | |
| 1445 | VBoxContainer *main_vb = memnew(VBoxContainer); |
| 1446 | add_child(main_vb); |
| 1447 | |
| 1448 | HSplitContainer *hbox = memnew(HSplitContainer); |
| 1449 | main_vb->add_child(hbox); |
| 1450 | hbox->set_v_size_flags(Control::SIZE_EXPAND_FILL); |
| 1451 | if (EDITOR_GET("interface/touchscreen/enable_touch_optimizations")) { |
| 1452 | hbox->set_touch_dragger_enabled(true); |
| 1453 | } |
| 1454 | |
| 1455 | // Presets list. |
| 1456 | |
| 1457 | VBoxContainer *preset_vb = memnew(VBoxContainer); |
| 1458 | preset_vb->set_h_size_flags(Control::SIZE_EXPAND_FILL); |
| 1459 | hbox->add_child(preset_vb); |
| 1460 | |
| 1461 | Label *l = memnew(Label(TTR("Presets"))); |
| 1462 | l->set_theme_type_variation("HeaderSmall"); |
| 1463 | |
| 1464 | HBoxContainer *preset_hb = memnew(HBoxContainer); |
| 1465 | preset_hb->add_child(l); |
| 1466 | preset_hb->add_spacer(); |
| 1467 | preset_vb->add_child(preset_hb); |
| 1468 | |
| 1469 | add_preset = memnew(MenuButton); |
| 1470 | add_preset->set_text(TTR("Add...")); |
| 1471 | add_preset->get_popup()->connect("index_pressed", callable_mp(this, &ProjectExportDialog::_add_preset)); |
| 1472 | preset_hb->add_child(add_preset); |
| 1473 | MarginContainer *mc = memnew(MarginContainer); |
| 1474 | preset_vb->add_child(mc); |
| 1475 | mc->set_v_size_flags(Control::SIZE_EXPAND_FILL); |
| 1476 | presets = memnew(ItemList); |
| 1477 | presets->set_theme_type_variation("ItemListSecondary"); |
| 1478 | presets->set_auto_translate_mode(AUTO_TRANSLATE_MODE_DISABLED); |
| 1479 | SET_DRAG_FORWARDING_GCD(presets, ProjectExportDialog); |
| 1480 | mc->add_child(presets); |
| 1481 | presets->connect(SceneStringName(item_selected), callable_mp(this, &ProjectExportDialog::_edit_preset)); |
| 1482 | duplicate_preset = memnew(Button); |
| 1483 | duplicate_preset->set_tooltip_text(TTR("Duplicate")); |
| 1484 | duplicate_preset->set_flat(true); |
| 1485 | preset_hb->add_child(duplicate_preset); |
| 1486 | duplicate_preset->connect(SceneStringName(pressed), callable_mp(this, &ProjectExportDialog::_duplicate_preset)); |
| 1487 | delete_preset = memnew(Button); |
| 1488 | delete_preset->set_tooltip_text(TTR("Delete")); |
| 1489 | delete_preset->set_flat(true); |
| 1490 | preset_hb->add_child(delete_preset); |
| 1491 | delete_preset->connect(SceneStringName(pressed), callable_mp(this, &ProjectExportDialog::_delete_preset)); |
| 1492 | |
| 1493 | // Preset settings. |
| 1494 | |
| 1495 | VBoxContainer *settings_vb = memnew(VBoxContainer); |
| 1496 | settings_vb->set_h_size_flags(Control::SIZE_EXPAND_FILL); |
| 1497 | hbox->add_child(settings_vb); |
| 1498 |
nothing calls this directly
no test coverage detected