bool CPrjDef:: Load(const char *name) { char *line = lineBuffer; FILE *prjFile = fopen(name, "rt"); if (!prjFile) { Warning("CPrjDef::Load", "Unable to open file <%s>. Using the default directory structure", name); // set the defaults - assuming that we are running from models directory acsInstallPath = ".."; interfacePath = "."; projectName = ""; SetProjectPath(this, "..\\runtime"); return false; } while(fgets(line, BUFLEN, prjFile)) { if (line[0] == '#') continue; if (strlen(line) == 0) continue; ParseLine(line); } fclose(prjFile); return true; }
void SProjectPicker::HandleProjectMenuEntryClicked(FString ProjectPath) { if (ProjectPath.IsEmpty()) { FString DefaultPath = FPaths::RootDir(); TSharedPtr<SWindow> ParentWindow = FSlateApplication::Get().FindWidgetWindow(AsShared()); void* ParentWindowHandle = (ParentWindow.IsValid() && ParentWindow->GetNativeWindow().IsValid()) ? ParentWindow->GetNativeWindow()->GetOSWindowHandle() : nullptr; TArray<FString> OutFiles; if (FDesktopPlatformModule::Get()->OpenFileDialog(ParentWindowHandle, LOCTEXT("SelectProjectDialogTitle", "Select a project").ToString(), DefaultPath, TEXT(""), TEXT("Project files (*.uproject)|*.uproject"), EFileDialogFlags::None, OutFiles)) { SetProjectPath(OutFiles[0]); } } else { SetProjectPath(ProjectPath); } }