1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-10 04:22:20 +02:00

Split off ImportFiles so it can be called by script engine

This commit is contained in:
Brian Fiete 2020-07-19 05:50:08 -07:00
parent 09d8d428ec
commit f651a473e6

View file

@ -874,6 +874,61 @@ namespace IDE.ui
return false;
}
public void ImportFiles(ProjectFolder folder, String[] fileList)
{
String fullDir = scope String();
folder.GetFullImportPath(fullDir);
if (mProjectToListViewMap.TryGetValue(folder, var value))
value.mOpenButton.Open(true, false);
/*if (mSelectedParentItem.mOpenButton != null)
mSelectedParentItem.mOpenButton.Open(true, false);*/
String dir = scope String(fullDir);
List<String> alreadyHadFileList = scope List<String>();
defer ClearAndDeleteItems(alreadyHadFileList);
for (String fileNameIn in fileList)
{
String fileName = scope String(fileNameIn);
String relFilePath = scope String();
folder.mProject.GetProjectRelPath(fileName, relFilePath);
if (AlreadyHasPath(folder.mProject, relFilePath))
{
alreadyHadFileList.Add(new String(fileName));
continue;
}
ProjectSource projectSource = new ProjectSource();
int32 lastSlashIdx = (int32)fileName.LastIndexOf(IDEUtils.cNativeSlash);
if (lastSlashIdx != -1)
{
projectSource.mName.Clear();
projectSource.mName.Append(fileName, lastSlashIdx + 1);
dir.Clear();
dir.Append(fileName, 0, lastSlashIdx);
}
else
projectSource.mName.Set(fileName);
projectSource.mIncludeKind = .Manual;
projectSource.mProject = folder.mProject;
projectSource.mPath = new String(relFilePath);
folder.AddChild(projectSource);
AddProjectItem(projectSource);
if (projectSource.mIncludeKind != .Auto)
folder.mProject.SetChanged();
}
ShowAlreadyHadFileError(alreadyHadFileList, fileList.Count);
folder.mProject.GetProjectRelPath(scope String(dir), dir);
//folder.mLastImportDir.Set(dir);
//folder.mProject.mLastImportDir.Set(dir);
Sort();
}
public void ImportFile(ProjectFolder folder)
{
#if !CLI
@ -911,51 +966,7 @@ namespace IDE.ui
gApp.GetActiveWindow().PreModalChild();
if (fileDialog.ShowDialog(gApp.GetActiveWindow()).GetValueOrDefault() == .OK)
{
if (mSelectedParentItem.mOpenButton != null)
mSelectedParentItem.mOpenButton.Open(true, false);
String dir = scope String(fileDialog.InitialDirectory);
List<String> alreadyHadFileList = scope List<String>();
defer ClearAndDeleteItems(alreadyHadFileList);
for (String fileNameIn in fileDialog.FileNames)
{
String fileName = scope String(fileNameIn);
String relFilePath = scope String();
folder.mProject.GetProjectRelPath(fileName, relFilePath);
if (AlreadyHasPath(folder.mProject, relFilePath))
{
alreadyHadFileList.Add(new String(fileName));
continue;
}
ProjectSource projectSource = new ProjectSource();
int32 lastSlashIdx = (int32)fileName.LastIndexOf(IDEUtils.cNativeSlash);
if (lastSlashIdx != -1)
{
projectSource.mName.Clear();
projectSource.mName.Append(fileName, lastSlashIdx + 1);
dir.Clear();
dir.Append(fileName, 0, lastSlashIdx);
}
else
projectSource.mName.Set(fileName);
projectSource.mIncludeKind = .Manual;
projectSource.mProject = folder.mProject;
projectSource.mPath = new String(relFilePath);
folder.AddChild(projectSource);
AddProjectItem(projectSource);
if (projectSource.mIncludeKind != .Auto)
folder.mProject.SetChanged();
}
ShowAlreadyHadFileError(alreadyHadFileList, fileDialog.FileNames.Count);
folder.mProject.GetProjectRelPath(scope String(dir), dir);
//folder.mLastImportDir.Set(dir);
//folder.mProject.mLastImportDir.Set(dir);
Sort();
ImportFiles(folder, fileDialog.FileNames);
}
#endif
}