diff options
author | Michael Hutchinson <mhutchinson@novell.com> | 2007-09-06 00:40:07 +0400 |
---|---|---|
committer | Michael Hutchinson <mhutchinson@novell.com> | 2007-09-06 00:40:07 +0400 |
commit | a7f98fbd645da7765311db8846c7017292c7f843 (patch) | |
tree | 294e5b5c58b25ba9d5dbf03b3fbacaf3287d6a8e /Extras/AspNetAddIn/Project/AspNetAppProject.cs | |
parent | b69715208e9d5c16e7a5584625dc935654964a5b (diff) |
* Project/AspNetAppProject.cs: Set correct BuildAction for added
ASP.NET files. Convert cachedDocuments to generic collection.
svn path=/trunk/monodevelop/; revision=85378
Diffstat (limited to 'Extras/AspNetAddIn/Project/AspNetAppProject.cs')
-rw-r--r-- | Extras/AspNetAddIn/Project/AspNetAppProject.cs | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/Extras/AspNetAddIn/Project/AspNetAppProject.cs b/Extras/AspNetAddIn/Project/AspNetAppProject.cs index 94cb117aff..2c90339372 100644 --- a/Extras/AspNetAddIn/Project/AspNetAppProject.cs +++ b/Extras/AspNetAddIn/Project/AspNetAppProject.cs @@ -32,7 +32,7 @@ using System; using System.IO; using System.Xml; -using System.Collections; +using System.Collections.Generic; using MonoDevelop.Core; using MonoDevelop.Core.Execution; using MonoDevelop.Core.ProgressMonitoring; @@ -51,7 +51,7 @@ namespace AspNetAddIn { //caching to avoid too much reparsing //may have to drop at some point to avoid memory issues - private Hashtable cachedDocuments = new Hashtable (); + private Dictionary<ProjectFile, Document> cachedDocuments = new Dictionary<ProjectFile, Document> (); [ItemProperty("XspParameters")] protected XspParameters xspParameters = new XspParameters (); @@ -213,9 +213,8 @@ namespace AspNetAddIn public Document GetDocument (ProjectFile file) { - Document doc = this.cachedDocuments [file] as Document; - - if (doc != null) + Document doc = null; + if (cachedDocuments.TryGetValue (file, out doc)) return doc; switch (DetermineWebSubtype (file)) { @@ -328,32 +327,34 @@ namespace AspNetAddIn protected override void OnFileAddedToProject (ProjectFileEventArgs e) { - OnFileEvent (e); + SetDefaultBuildAction (e.ProjectFile); + InvalidateDocumentCache (e.ProjectFile); base.OnFileAddedToProject (e); } protected override void OnFileChangedInProject (ProjectFileEventArgs e) { - OnFileEvent (e); + InvalidateDocumentCache (e.ProjectFile); base.OnFileChangedInProject (e); } - protected override void OnFilePropertyChangedInProject (ProjectFileEventArgs e) + //protected override void OnFilePropertyChangedInProject (ProjectFileEventArgs e) + //{ + // base.OnFilePropertyChangedInProject (e); + //} + + void InvalidateDocumentCache (ProjectFile file) { - OnFileEvent (e); - base.OnFilePropertyChangedInProject (e); + if (cachedDocuments.ContainsKey (file)) + cachedDocuments.Remove (file); } - void OnFileEvent (ProjectFileEventArgs e) + void SetDefaultBuildAction (ProjectFile file) { - this.cachedDocuments [e.ProjectFile] = null; - - //WebSubtype type = DetermineWebSubtype (e.ProjectFile); - - //switch (type) - //{ - //special actions for various types - //} + //make sure web files are deployed, not built + WebSubtype type = DetermineWebSubtype (file); + if (type != WebSubtype.None) + file.BuildAction = BuildAction.FileCopy; } #endregion |