MCPcopy Create free account
hub / github.com/ClassiCube/ClassiCube / SaveLevelScreen_File

Function SaveLevelScreen_File

src/Menus.c:1446–1468  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1444}
1445
1446static void SaveLevelScreen_File(void* screen, void* b) {
1447 static const char* const titles[] = {
1448 "ClassiCube map", "Minecraft schematic", "Minecraft classic map", NULL
1449 };
1450 static const char* const filters[] = {
1451 ".cw", ".schematic", ".mine", NULL
1452 };
1453 struct SaveLevelScreen* s = (struct SaveLevelScreen*)screen;
1454 struct SaveFileDialogArgs args;
1455 cc_result res;
1456
1457 args.filters = filters;
1458 args.titles = titles;
1459 args.defaultName = s->input.base.text;
1460 args.Callback = SaveLevelScreen_UploadCallback;
1461
1462 res = Window_SaveFileDialog(&args);
1463 if (res == SFD_ERR_NEED_DEFAULT_NAME) {
1464 TextWidget_SetConst(&s->desc, "&ePlease enter a filename", &s->textFont);
1465 } else if (res) {
1466 Logger_SimpleWarn(res, "showing save file dialog");
1467 }
1468}
1469
1470static int SaveLevelScreen_KeyPress(void* screen, char keyChar) {
1471 struct SaveLevelScreen* s = (struct SaveLevelScreen*)screen;

Callers

nothing calls this directly

Calls 3

TextWidget_SetConstFunction · 0.85
Logger_SimpleWarnFunction · 0.85
Window_SaveFileDialogFunction · 0.70

Tested by

no test coverage detected