1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-30 05:15:59 +02:00

Improved handling of platform configs

This commit is contained in:
Brian Fiete 2020-05-15 08:52:48 -07:00
parent e8fd27fb0c
commit 0113ce7115
4 changed files with 103 additions and 85 deletions

View file

@ -166,17 +166,7 @@ namespace IDE.ui
public override void GetPlatformList(List<String> platformNames)
{
/*var configName = mConfigNames[0];
for (var platformName in mProject.mConfigs[configName].mPlatforms.Keys)
platformNames.Add(platformName);*/
HashSet<String> platformSet = scope .();
for (var config in mProject.mConfigs.Values)
{
for (var platform in config.mPlatforms.Keys)
if (platformSet.Add(platform))
platformNames.Add(platform);
}
gApp.mWorkspace.GetPlatformList(platformNames);
}
public override bool CreateNewConfig(String name, String copiedFromConfig)
@ -307,6 +297,9 @@ namespace IDE.ui
if ((!entry.mDelete) && (entry.mNewName == null))
continue;
if (entry.mDelete)
gApp.mWorkspace.mExtraPlatforms.Remove(entry.mOrigName);
ConfigLoop: for (var configName in mConfigNames)
{
Project.Config config;
@ -392,14 +385,12 @@ namespace IDE.ui
name.Trim();
if (name.Length > 0)
{
for (var projectConfig in mProject.mConfigs.Values)
{
Project.Options projectOptions = new Project.Options();
projectConfig.mPlatforms[new String(name)] = projectOptions;
}
mProject.SetChanged();
SelectPlatform(name);
if (gApp.mWorkspace.mExtraPlatforms.TryAdd(name, var entryPtr))
{
*entryPtr = new String(name);
gApp.mWorkspace.SetChanged();
}
gApp.mWorkspace.MarkPlatformNamesDirty();
}
}

View file

@ -141,11 +141,6 @@ namespace IDE.ui
public override void GetPlatformList(List<String> platformNames)
{
/*var configName = mConfigNames[0];
for (var platformName in gApp.mWorkspace.mConfigs[configName].mPlatforms.Keys)
platformNames.Add(platformName);
if (platformNames.IsEmpty)
platformNames.Add(IDEApp.sPlatform64Name);*/
gApp.mWorkspace.GetPlatformList(platformNames);
}
@ -358,36 +353,17 @@ namespace IDE.ui
String platformName = scope String(name);
platformName.Trim();
if (!platformName.IsEmpty)
{
/*for (var workspaceConfig in workspace.mConfigs)
{
if (!workspaceConfig.value.mPlatforms.ContainsKey(useName))
{
Workspace.Options workspaceOptions = new Workspace.Options();
workspace.SetupDefault(workspaceOptions, workspaceConfig.key, useName);
workspaceConfig.value.mPlatforms[new String(useName)] = workspaceOptions;
}
}
for (var project in workspace.mProjects)
{
for (var projectConfigKV in project.mConfigs)
{
let projectConfig = projectConfigKV.value;
if (!projectConfig.mPlatforms.ContainsKey(useName))
{
project.CreateConfig(projectConfigKV.key, useName);
}
}
}*/
//IDEApp.sApp.mWorkspace.SetChanged();
{
gApp.mWorkspace.FixOptionsForPlatform(platformName);
gApp.mWorkspace.SetChanged();
SelectPlatform(platformName);
gApp.mWorkspace.MarkPlatformNamesDirty();
if (!gApp.mWorkspace.mUserPlatforms.Contains(platformName))
gApp.mWorkspace.mUserPlatforms.Add(new String(platformName));
if (gApp.mWorkspace.mExtraPlatforms.TryAdd(platformName, var entryPtr))
{
*entryPtr = new String(platformName);
gApp.mWorkspace.SetChanged();
}
}
}
}