Skip to content

Commit dfd29ff

Browse files
committed
Merge pull request #664 from fdorg/feature/default_build_targets
Added support for default build targets, closes #590
2 parents 0175b3f + 883692e commit dfd29ff

File tree

5 files changed

+31
-13
lines changed

5 files changed

+31
-13
lines changed

External/Plugins/ProjectManager/Controls/FDMenus.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,11 +130,16 @@ public void CloseProject()
130130
public void ProjectChanged(Project project)
131131
{
132132
TargetBuildSelector.Items.Clear();
133-
if (project.MovieOptions.TargetBuildTypes != null)
133+
if (project.MovieOptions.DefaultBuildTargets != null && project.MovieOptions.DefaultBuildTargets.Length > 0)
134+
{
135+
TargetBuildSelector.Items.AddRange(project.MovieOptions.DefaultBuildTargets);
136+
TargetBuildSelector.Text = project.MovieOptions.DefaultBuildTargets[0];
137+
}
138+
else if (project.MovieOptions.TargetBuildTypes != null && project.MovieOptions.TargetBuildTypes.Length > 0)
134139
{
135140
TargetBuildSelector.Items.AddRange(project.MovieOptions.TargetBuildTypes);
136141
string target = project.TargetBuild ?? project.MovieOptions.TargetBuildTypes[0];
137-
if (target != "" && !TargetBuildSelector.Items.Contains(target)) TargetBuildSelector.Items.Insert(0, target);
142+
if (!String.IsNullOrEmpty(target) && !TargetBuildSelector.Items.Contains(target)) TargetBuildSelector.Items.Insert(0, target);
138143
TargetBuildSelector.Text = target;
139144
}
140145
else

External/Plugins/ProjectManager/Projects/MovieOptions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ public abstract class MovieOptions
1717
public string Platform;
1818
public string Background;
1919
public string[] TargetBuildTypes;
20+
public string[] DefaultBuildTargets;
2021

2122
public MovieOptions()
2223
{

External/Plugins/ProjectManager/Projects/ProjectReader.cs

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System.Diagnostics;
44
using System.Text;
55
using System.Xml;
6+
using System.Linq;
67
using System.Collections.Generic;
78

89
namespace ProjectManager.Projects
@@ -175,20 +176,27 @@ public void ReadProjectOptions()
175176
MoveToFirstAttribute();
176177
switch (Name)
177178
{
178-
case "showHiddenPaths": project.ShowHiddenPaths = BoolValue; break;
179-
case "testMovie":
179+
case "showHiddenPaths": project.ShowHiddenPaths = BoolValue;
180+
break;
180181

182+
case "testMovie":
181183
// Be tolerant of unknown strings (older .fdp projects might have these)
182-
List<string> acceptableValues
183-
= new List<string>(Enum.GetNames(typeof(TestMovieBehavior)));
184-
185-
if (acceptableValues.Contains(Value))
186-
project.TestMovieBehavior
187-
= (TestMovieBehavior)Enum.Parse(typeof(TestMovieBehavior), Value, true);
188-
else
189-
project.TestMovieBehavior = TestMovieBehavior.NewTab;
184+
List<string> acceptableValues = new List<string>(Enum.GetNames(typeof(TestMovieBehavior)));
185+
if (acceptableValues.Contains(Value)) project.TestMovieBehavior = (TestMovieBehavior)Enum.Parse(typeof(TestMovieBehavior), Value, true);
186+
else project.TestMovieBehavior = TestMovieBehavior.NewTab;
187+
break;
188+
189+
case "defaultBuildTargets":
190+
if (!String.IsNullOrEmpty(Value.Trim()) && Value.IndexOf(",") > -1)
191+
{
192+
String[] cleaned = Value.Trim().Split(',').Select(x => x.Trim()).ToArray<String>();
193+
project.MovieOptions.DefaultBuildTargets = cleaned;
194+
}
195+
break;
196+
197+
case "testMovieCommand": project.TestMovieCommand = Value;
190198
break;
191-
case "testMovieCommand": project.TestMovieCommand = Value; break;
199+
192200
}
193201
Read();
194202
}

External/Plugins/ProjectManager/Projects/ProjectWriter.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@ public void WriteProjectOptions()
116116
WriteOption("showHiddenPaths",project.ShowHiddenPaths);
117117
WriteOption("testMovie",project.TestMovieBehavior);
118118
WriteOption("testMovieCommand", project.TestMovieCommand ?? "");
119+
if (project.MovieOptions.DefaultBuildTargets != null && project.MovieOptions.DefaultBuildTargets.Length > 0)
120+
{
121+
WriteOption("defaultBuildTargets", String.Join(",", project.MovieOptions.DefaultBuildTargets));
122+
}
119123
WriteEndElement();
120124
}
121125

512 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)