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

Function Window_OpenFileDialog

src/Window_Win.c:702–726  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

700}
701
702cc_result Window_OpenFileDialog(const struct OpenFileDialogArgs* args) {
703 const char* const* fileExts = args->filters;
704 cc_string filters; char buffer[NATIVE_STR_LEN];
705 int i;
706
707 /* Filter tokens are \0 separated - e.g. "Maps (*.cw;*.dat)\0*.cw;*.dat\0 */
708 String_InitArray(filters, buffer);
709 String_Format1(&filters, "%c (", args->description);
710 for (i = 0; fileExts[i]; i++)
711 {
712 if (i) String_Append(&filters, ';');
713 String_Format1(&filters, "*%c", fileExts[i]);
714 }
715 String_Append(&filters, ')');
716 String_Append(&filters, '\0');
717
718 for (i = 0; fileExts[i]; i++)
719 {
720 if (i) String_Append(&filters, ';');
721 String_Format1(&filters, "*%c", fileExts[i]);
722 }
723 String_Append(&filters, '\0');
724
725 return OpenSaveFileDialog(&filters, args->Callback, true, fileExts, &String_Empty);
726}
727
728cc_result Window_SaveFileDialog(const struct SaveFileDialogArgs* args) {
729 const char* const* titles = args->titles;

Callers

nothing calls this directly

Calls 3

String_Format1Function · 0.85
String_AppendFunction · 0.85
OpenSaveFileDialogFunction · 0.70

Tested by

no test coverage detected