[mapguide-commits] r5344 - in sandbox/maestro-3.0: . Maestro.Base Maestro.Base/Commands Maestro.Base/Commands/Conditions Maestro.Base/Commands/SiteExplorer Maestro.Base/Editor Maestro.Base/Properties Maestro.Base/Resources Maestro.Base/Services Maestro.Base/UI SDK

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Thu Oct 28 05:02:19 EDT 2010


Author: jng
Date: 2010-10-28 02:02:19 -0700 (Thu, 28 Oct 2010)
New Revision: 5344

Added:
   sandbox/maestro-3.0/Maestro.Base/Commands/CloseAllDocumentsCommand.cs
   sandbox/maestro-3.0/Maestro.Base/Commands/Conditions/NonZeroDocumentConditionEvaluator.cs
   sandbox/maestro-3.0/Maestro.Base/Commands/SaveAllCommand.cs
   sandbox/maestro-3.0/Maestro.Base/Resources/disks.png
Removed:
   sandbox/maestro-3.0/Maestro.Base/Commands/ValidateResourceCommand.cs
Modified:
   sandbox/maestro-3.0/Maestro.Base/Commands/SiteExplorer/ValidateCommand.cs
   sandbox/maestro-3.0/Maestro.Base/Editor/EditorContentBase.cs
   sandbox/maestro-3.0/Maestro.Base/Maestro.Base.addin
   sandbox/maestro-3.0/Maestro.Base/Maestro.Base.csproj
   sandbox/maestro-3.0/Maestro.Base/Properties/Resources.Designer.cs
   sandbox/maestro-3.0/Maestro.Base/Properties/Resources.resx
   sandbox/maestro-3.0/Maestro.Base/Services/OpenResourceManager.cs
   sandbox/maestro-3.0/Maestro.Base/UI/SiteExplorer.cs
   sandbox/maestro-3.0/Maestro.Base/UI/ValidationResultsDialog.cs
   sandbox/maestro-3.0/Maestro.Base/UI/ValidationResultsDialog.designer.cs
   sandbox/maestro-3.0/Maestro.Base/UI/ValidationResultsDialog.resx
   sandbox/maestro-3.0/SDK/
   sandbox/maestro-3.0/build.bat
Log:
3.0 sandbox changes:
 - Tweak the unsaved changes confirmation prompt to include the name of the resource
 - Update build.bat to build both SDK and Maestro solutions
 - #1508: Add close all and save all documents command with a zero document condition evaluator to enable/disable them
 - #1508: Add missing shortcuts for Save, Save All, Close and Close All commands
 - #1500: Make validation results dialog non-modal and remove a redundant validation command


Added: sandbox/maestro-3.0/Maestro.Base/Commands/CloseAllDocumentsCommand.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Commands/CloseAllDocumentsCommand.cs	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.Base/Commands/CloseAllDocumentsCommand.cs	2010-10-28 09:02:19 UTC (rev 5344)
@@ -0,0 +1,39 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ICSharpCode.Core;
+using Maestro.Base.Services;
+
+namespace Maestro.Base.Commands
+{
+    internal class CloseAllDocumentsCommand : AbstractMenuCommand
+    {
+        public override void Run()
+        {
+            var omgr = ServiceRegistry.GetService<OpenResourceManager>();
+            foreach (var ed in omgr.OpenEditors)
+            {
+                ed.Close(false);
+            }
+        }
+    }
+}

Added: sandbox/maestro-3.0/Maestro.Base/Commands/Conditions/NonZeroDocumentConditionEvaluator.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Commands/Conditions/NonZeroDocumentConditionEvaluator.cs	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.Base/Commands/Conditions/NonZeroDocumentConditionEvaluator.cs	2010-10-28 09:02:19 UTC (rev 5344)
@@ -0,0 +1,36 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ICSharpCode.Core;
+using Maestro.Base.Services;
+
+namespace Maestro.Base.Commands.Conditions
+{
+    internal class NonZeroDocumentConditionEvaluator : IConditionEvaluator
+    {
+        public bool IsValid(object caller, Condition condition)
+        {
+            var omgr = ServiceRegistry.GetService<OpenResourceManager>();
+            return omgr.OpenEditors.Length > 0;
+        }
+    }
+}

Added: sandbox/maestro-3.0/Maestro.Base/Commands/SaveAllCommand.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Commands/SaveAllCommand.cs	                        (rev 0)
+++ sandbox/maestro-3.0/Maestro.Base/Commands/SaveAllCommand.cs	2010-10-28 09:02:19 UTC (rev 5344)
@@ -0,0 +1,42 @@
+#region Disclaimer / License
+// Copyright (C) 2010, Jackie Ng
+// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
+// 
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// 
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+// Lesser General Public License for more details.
+// 
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+// 
+#endregion
+using System;
+using System.Collections.Generic;
+using System.Text;
+using ICSharpCode.Core;
+using Maestro.Base.Services;
+
+namespace Maestro.Base.Commands
+{
+    internal class SaveAllCommand : AbstractMenuCommand
+    {
+        public override void Run()
+        {
+            var omgr = ServiceRegistry.GetService<OpenResourceManager>();
+            foreach (var ed in omgr.OpenEditors)
+            {
+                if (ed.IsDirty)
+                {
+                    ed.EditorService.Save();
+                }
+            }
+        }
+    }
+}

Modified: sandbox/maestro-3.0/Maestro.Base/Commands/SiteExplorer/ValidateCommand.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Commands/SiteExplorer/ValidateCommand.cs	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/Maestro.Base/Commands/SiteExplorer/ValidateCommand.cs	2010-10-28 09:02:19 UTC (rev 5344)
@@ -29,6 +29,7 @@
 using OSGeo.MapGuide.MaestroAPI.Exceptions;
 using OSGeo.MapGuide.ObjectModels.Common;
 using OSGeo.MapGuide.MaestroAPI.Resource.Validation;
+using Maestro.Base.UI;
 
 namespace Maestro.Base.Commands.SiteExplorer
 {
@@ -82,7 +83,7 @@
                         }
 
                         var resDlg = new ValidationResultsDialog(groupedIssues);
-                        resDlg.ShowDialog(wb);
+                        resDlg.Show();
                     }
                     else
                     {

Deleted: sandbox/maestro-3.0/Maestro.Base/Commands/ValidateResourceCommand.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Commands/ValidateResourceCommand.cs	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/Maestro.Base/Commands/ValidateResourceCommand.cs	2010-10-28 09:02:19 UTC (rev 5344)
@@ -1,149 +0,0 @@
-#region Disclaimer / License
-// Copyright (C) 2010, Jackie Ng
-// http://trac.osgeo.org/mapguide/wiki/maestro, jumpinjackie at gmail.com
-// 
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License, or (at your option) any later version.
-// 
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-// Lesser General Public License for more details.
-// 
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-// 
-#endregion
-using System;
-using System.Collections.Generic;
-using System.Text;
-using ICSharpCode.Core;
-using Maestro.Base.Services;
-using OSGeo.MapGuide.MaestroAPI.Resource;
-using OSGeo.MapGuide.ObjectModels.Common;
-using System.ComponentModel;
-using Maestro.Shared.UI;
-using OSGeo.MapGuide.MaestroAPI;
-using OSGeo.MapGuide.MaestroAPI.Exceptions;
-using OSGeo.MapGuide.MaestroAPI.Resource.Validation;
-
-namespace Maestro.Base.Commands
-{
-    internal class ValidateResourceCommand : AbstractMenuCommand
-    {
-        private IServerConnection _conn;
-
-        public override void Run()
-        {
-            var wb = Workbench.Instance;
-            var ed = wb.ActiveEditor;
-            var connMgr = ServiceRegistry.GetService<ServerConnectionManager>();
-
-            //TODO: Will need to look at this again, when we decide to support
-            //multiple connections to different sites from the same session. Right
-            //now this is fine as we can only connect to one site at any time.
-            _conn = connMgr.GetConnection(wb.ActiveSiteExplorer.ConnectionName);
-
-            if (ed != null)
-            {
-                var pdlg = new ProgressDialog();
-                pdlg.CancelAbortsThread = true;
-
-                ed.SyncSessionCopy();
-                var issues = (ValidationIssue[])pdlg.RunOperationAsync(wb, new ProgressDialog.DoBackgroundWork(BackgroundValidate), ed.Resource.ResourceID);
-
-                if (issues != null)
-                {
-                    if (issues.Length > 0)
-                    {
-                        //Sigh! LINQ would've made this code so simple...
-
-                        var sort = new Dictionary<string, List<ValidationIssue>>();
-                        foreach (var issue in issues)
-                        {
-                            string resId = issue.Resource.ResourceID;
-                            if (!sort.ContainsKey(resId))
-                                sort[resId] = new List<ValidationIssue>();
-
-                            sort[resId].Add(issue);
-                        }
-
-                        var groupedIssues = new List<KeyValuePair<string, ValidationIssue[]>>();
-                        foreach (var kvp in sort)
-                        {
-                            groupedIssues.Add(
-                                new KeyValuePair<string, ValidationIssue[]>(
-                                    kvp.Key,
-                                    kvp.Value.ToArray()));
-                        }
-
-                        var resDlg = new ValidationResultsDialog(groupedIssues);
-                        resDlg.ShowDialog(wb);
-                    }
-                    else
-                    {
-                        MessageService.ShowMessage(Properties.Resources.ValidationNoIssues);
-                    }
-                }
-            }
-        }
-
-        private object BackgroundValidate(BackgroundWorker worker, DoWorkEventArgs e, params object[] args)
-        {
-            //Collect all documents to be validated. Some of these selected items
-            //may be folders.
-            var documents = new List<string>();
-            foreach (object a in args)
-            {
-                string rid = a.ToString();
-                if (ResourceIdentifier.Validate(rid))
-                {
-                    var resId = new ResourceIdentifier(rid);
-                    if (resId.IsFolder)
-                    {
-                        foreach (IRepositoryItem o in _conn.ResourceService.GetRepositoryResources((string)args[0]).Children)
-                        {
-                            if (!o.IsFolder)
-                            {
-                                documents.Add(o.ResourceId);
-                            }
-                        }
-                    }
-                    else
-                    {
-                        documents.Add(rid);
-                    }
-                }
-            }
-
-            worker.ReportProgress(0);
-
-            var issues = new List<ValidationIssue>();
-            int i = 0;
-            foreach (string s in documents)
-            {
-                worker.ReportProgress((int)((i / (double)documents.Count) * 100), s);
-                IResource item = null;
-                try
-                {
-                    //TODO: This will validate resources multiple times, if they are referenced by
-                    //resources inside the folder
-                    item = _conn.ResourceService.GetResource(s);
-                    issues.AddRange(ResourceValidatorSet.Validate(item, true));
-                }
-                catch (Exception ex)
-                {
-                    string msg = NestedExceptionMessageProcessor.GetFullMessage(ex);
-                    issues.Add(new ValidationIssue(item, ValidationStatus.Error, string.Format(Properties.Resources.ValidationResourceLoadFailed, msg)));
-                }
-                i++;
-                worker.ReportProgress((int)((i / (double)documents.Count) * 100), s);
-            }
-
-            return issues.ToArray();
-        }
-    }
-}

Modified: sandbox/maestro-3.0/Maestro.Base/Editor/EditorContentBase.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Editor/EditorContentBase.cs	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/Maestro.Base/Editor/EditorContentBase.cs	2010-10-28 09:02:19 UTC (rev 5344)
@@ -29,6 +29,7 @@
 using Maestro.Editors;
 using ICSharpCode.Core;
 using OSGeo.MapGuide.MaestroAPI.Resource.Validation;
+using Maestro.Base.UI;
 
 namespace Maestro.Base.Editor
 {

Modified: sandbox/maestro-3.0/Maestro.Base/Maestro.Base.addin
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Maestro.Base.addin	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/Maestro.Base/Maestro.Base.addin	2010-10-28 09:02:19 UTC (rev 5344)
@@ -20,6 +20,7 @@
             <ConditionEvaluator name="CanPaste" class="Maestro.Base.Commands.Conditions.PasteConditionEvaluator" />
             <ConditionEvaluator name="CanCutOrCopy" class="Maestro.Base.Commands.Conditions.CutCopyConditionEvaluator" />
             <ConditionEvaluator name="MultipleSelected" class="Maestro.Base.Commands.Conditions.MultipleSelectedItemConditionEvaluator" />
+            <ConditionEvaluator name="HasDocuments" class="Maestro.Base.Commands.Conditions.NonZeroDocumentConditionEvaluator" />
         </Import>
     </Runtime>
 
@@ -71,15 +72,43 @@
         <MenuItem id="Menu_File"
                   type="Menu"
                   label="${res:Menu_File}">
-            <MenuItem id="Connect"
-                      label="${res:Menu_File_Connect}"
-                      icon="plug__plus"
-                      class="Maestro.Base.Commands.LoginCommand" />
-            <MenuItem id="NewItem"
-                      label="${res:Menu_File_NewResource}"
-                      icon="document__plus"
-                      class="Maestro.Base.Commands.NewItemCommand" />
+            <Condition action="Disable" name="IsConnected">
+                <MenuItem id="Connect"
+                          label="${res:Menu_File_Connect}"
+                          icon="plug__plus"
+                          class="Maestro.Base.Commands.LoginCommand" />
+            </Condition>
+            <Condition action="Disable" name="NotConnected">
+                <MenuItem id="NewItem"
+                          label="${res:Menu_File_NewResource}"
+                          icon="document__plus"
+                          class="Maestro.Base.Commands.NewItemCommand" />
+            </Condition>
             <MenuItem type="Separator" />
+            <Condition action="Disable" name="EditorFunction">
+                <Condition action="Disable" name="EditorFunction" property="CanSave">
+                    <MenuItem id="Save"
+                              icon="disk"
+                              label="${res:Menu_File_SaveResource}"
+                              tooltip="${res:Menu_File_SaveResource}"
+                              shortcut="Control|S"
+                              class="Maestro.Base.Commands.SaveResourceCommand" />
+                </Condition>
+                <MenuItem id="SaveAs"
+                          icon="disk__arrow"
+                          label="${res:Menu_File_SaveResourceAs}"
+                          tooltip="${res:Menu_File_SaveResourceAs}"
+                          class="Maestro.Base.Commands.SaveResourceAsCommand" />
+                <Condition action="Disable" name="HasDocuments">
+                    <MenuItem id="SaveAll"
+                              icon="disks"
+                              label="${res:Menu_File_SaveAll}"
+                              tooltip="${res:Menu_File_SaveAll}"
+                              shortcut="Control|Shift|S"
+                              class="Maestro.Base.Commands.SaveAllCommand" />
+                </Condition>
+            </Condition>
+            <MenuItem type="Separator" />
             <MenuItem id="Menu_File_Quit"
                       label="${res:Menu_File_Quit}"
                       class="Maestro.Base.Commands.QuitCommand" />
@@ -92,10 +121,12 @@
                     <MenuItem id="CopyItem"
                               icon="document_copy"
                               label="${res:Menu_Edit_Copy}"
+                              shortcut="Control|C"
                               class="Maestro.Base.Commands.CopyCommand" />
                     <MenuItem id="CutItem"
                               label="${res:Menu_Edit_Cut}"
                               icon="scissors_blue"
+                              shortcut="Control|X"
                               class="Maestro.Base.Commands.CutCommand" />
                 </Condition>
             </Condition>
@@ -103,6 +134,7 @@
                 <MenuItem id="PasteItem"
                           label="${res:Menu_Edit_Paste}"
                           icon="clipboard_paste"
+                          shortcut="Control|V"
                           class="Maestro.Base.Commands.PasteCommand" />
             </Condition>
         </MenuItem>
@@ -162,6 +194,26 @@
                       icon="application_task"
                       class="Maestro.Base.Commands.OptionsCommand"/>
         </MenuItem>
+        <MenuItem id="Menu_Window"
+                  type="Menu"
+                  label="${res:Menu_Window}">
+            <Condition action="Disable" name="CanClose">
+                <MenuItem id="CloseDocument"
+                          label="${res:Menu_File_CloseActiveDocument}"
+                          tooltip="${res:Menu_File_CloseActiveDocument}"
+                          shortcut="Control|F4"
+                          icon="cross"
+                          class="Maestro.Base.Commands.CloseActiveDocumentCommand" />
+            </Condition>
+            <Condition action="Disable" name="HasDocuments">
+                <MenuItem id="CloseAll"
+                          label="${res:Menu_File_CloseAll}"
+                          tooltip="${res:Menu_File_CloseAll}"
+                          icon="cross"
+                          shortcut="Control|Shift|F4"
+                          class="Maestro.Base.Commands.CloseAllDocumentsCommand" />
+            </Condition>
+        </MenuItem>
         <MenuItem id="Menu_Package"
                   type="Menu"
                   label="${res:Menu_Package}">
@@ -256,7 +308,14 @@
                          icon="disk__arrow"
                          tooltip="${res:Menu_File_SaveResourceAs}"
                          class="Maestro.Base.Commands.SaveResourceAsCommand" />
+            <Condition action="Disable" name="HasDocuments">
+                <ToolbarItem id="SaveAll"
+                             icon="disks"
+                             tooltip="${res:Menu_File_SaveAll}"
+                             class="Maestro.Base.Commands.SaveAllCommand" />
+            </Condition>
         </Condition>
+        <ToolbarItem type="Separator" />
         <Condition action="Disable" name="EditorFunction" property="CanPreview">
             <ToolbarItem id="Preview"
                          icon="document_search_result"
@@ -279,7 +338,7 @@
             <ToolbarItem id="Validate"
                          icon="tick"
                          tooltip="${res:Menu_File_ValidateResource}"
-                         class="Maestro.Base.Commands.ValidateResourceCommand" />
+                         class="Maestro.Base.Commands.SiteExplorer.ValidateCommand" />
         </Condition>
         <!-- 
         Only needed if our custom drawn close buttons don't appear on document

Modified: sandbox/maestro-3.0/Maestro.Base/Maestro.Base.csproj
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Maestro.Base.csproj	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/Maestro.Base/Maestro.Base.csproj	2010-10-28 09:02:19 UTC (rev 5344)
@@ -68,6 +68,7 @@
     </Compile>
     <Compile Include="Commands\AboutCommand.cs" />
     <Compile Include="Commands\CloseActiveDocumentCommand.cs" />
+    <Compile Include="Commands\CloseAllDocumentsCommand.cs" />
     <Compile Include="Commands\Conditions\ActiveEditorConditionEvaluator.cs" />
     <Compile Include="Commands\Conditions\CloseableDocumentConditionEvaluator.cs" />
     <Compile Include="Commands\Conditions\CutCopyConditionEvaluator.cs" />
@@ -78,6 +79,7 @@
     <Compile Include="Commands\Conditions\PasteConditionEvaluator.cs" />
     <Compile Include="Commands\Conditions\SelectedItemConditionEvaluator.cs" />
     <Compile Include="Commands\Conditions\SelectedRootItemConditionEvaluator.cs" />
+    <Compile Include="Commands\Conditions\NonZeroDocumentConditionEvaluator.cs" />
     <Compile Include="Commands\CopyCommand.cs" />
     <Compile Include="Commands\CreatePackageCommand.cs" />
     <Compile Include="Commands\CutCommand.cs" />
@@ -94,6 +96,7 @@
     <Compile Include="Commands\PreviewResourceCommand.cs" />
     <Compile Include="Commands\ProfileResourceCommand.cs" />
     <Compile Include="Commands\QuitCommand.cs" />
+    <Compile Include="Commands\SaveAllCommand.cs" />
     <Compile Include="Commands\SaveResourceAsCommand.cs" />
     <Compile Include="Commands\SaveResourceCommand.cs" />
     <Compile Include="Commands\ServerMonitorCommand.cs" />
@@ -115,7 +118,6 @@
     <Compile Include="Commands\Test\OpenUnmanagedResourceCommand.cs" />
     <Compile Include="Commands\Test\SelectFdoProviderCommand.cs" />
     <Compile Include="Commands\Test\TestCommands.cs" />
-    <Compile Include="Commands\ValidateResourceCommand.cs" />
     <Compile Include="Commands\XmlEditCommand.cs" />
     <Compile Include="Editor\DrawingSourceEditor.cs">
       <SubType>UserControl</SubType>
@@ -317,7 +319,7 @@
     <Compile Include="UI\ValidationResultsDialog.cs">
       <SubType>Form</SubType>
     </Compile>
-    <Compile Include="UI\ValidationResultsDialog.designer.cs">
+    <Compile Include="UI\ValidationResultsDialog.Designer.cs">
       <DependentUpon>ValidationResultsDialog.cs</DependentUpon>
     </Compile>
     <Compile Include="UI\WelcomeScreen.cs">
@@ -348,6 +350,7 @@
   </ItemGroup>
   <ItemGroup>
     <Content Include="Maestro.Base.addin" />
+    <None Include="Resources\disks.png" />
     <None Include="Resources\box--plus.png" />
     <None Include="Resources\box--arrow.png" />
     <None Include="Resources\folder--plus.png" />

Modified: sandbox/maestro-3.0/Maestro.Base/Properties/Resources.Designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Properties/Resources.Designer.cs	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/Maestro.Base/Properties/Resources.Designer.cs	2010-10-28 09:02:19 UTC (rev 5344)
@@ -283,7 +283,7 @@
         }
         
         /// <summary>
-        ///   Looks up a localized string similar to This resource has unsaved changes. Close and discard these changes?.
+        ///   Looks up a localized string similar to This resource {0} has unsaved changes. Close and discard these changes?.
         /// </summary>
         internal static string CloseUnsavedResource {
             get {
@@ -437,6 +437,13 @@
             }
         }
         
+        internal static System.Drawing.Bitmap disks {
+            get {
+                object obj = ResourceManager.GetObject("disks", resourceCulture);
+                return ((System.Drawing.Bitmap)(obj));
+            }
+        }
+        
         internal static System.Drawing.Bitmap document {
             get {
                 object obj = ResourceManager.GetObject("document", resourceCulture);
@@ -747,6 +754,15 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to Close All Documents.
+        /// </summary>
+        internal static string Menu_File_CloseAll {
+            get {
+                return ResourceManager.GetString("Menu_File_CloseAll", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to Connect.
         /// </summary>
         internal static string Menu_File_Connect {
@@ -819,6 +835,15 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to Save All.
+        /// </summary>
+        internal static string Menu_File_SaveAll {
+            get {
+                return ResourceManager.GetString("Menu_File_SaveAll", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to Save Resource.
         /// </summary>
         internal static string Menu_File_SaveResource {
@@ -918,6 +943,15 @@
         }
         
         /// <summary>
+        ///   Looks up a localized string similar to Window.
+        /// </summary>
+        internal static string Menu_Window {
+            get {
+                return ResourceManager.GetString("Menu_Window", resourceCulture);
+            }
+        }
+        
+        /// <summary>
         ///   Looks up a localized string similar to MgCooker.
         /// </summary>
         internal static string MgCooker {

Modified: sandbox/maestro-3.0/Maestro.Base/Properties/Resources.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Properties/Resources.resx	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/Maestro.Base/Properties/Resources.resx	2010-10-28 09:02:19 UTC (rev 5344)
@@ -674,7 +674,7 @@
     <value>New Resource</value>
   </data>
   <data name="CloseUnsavedResource" xml:space="preserve">
-    <value>This resource has unsaved changes. Close and discard these changes?</value>
+    <value>This resource {0} has unsaved changes. Close and discard these changes?</value>
   </data>
   <data name="FixErrorsBeforeSaving" xml:space="preserve">
     <value>Validation detected errors in your resource, please fix them before saving this resource</value>
@@ -787,4 +787,16 @@
   <data name="XmlEditor" xml:space="preserve">
     <value>XML Editor:</value>
   </data>
+  <data name="disks" type="System.Resources.ResXFileRef, System.Windows.Forms">
+    <value>..\Resources\disks.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
+  </data>
+  <data name="Menu_File_SaveAll" xml:space="preserve">
+    <value>Save All</value>
+  </data>
+  <data name="Menu_File_CloseAll" xml:space="preserve">
+    <value>Close All Documents</value>
+  </data>
+  <data name="Menu_Window" xml:space="preserve">
+    <value>Window</value>
+  </data>
 </root>
\ No newline at end of file

Added: sandbox/maestro-3.0/Maestro.Base/Resources/disks.png
===================================================================
(Binary files differ)


Property changes on: sandbox/maestro-3.0/Maestro.Base/Resources/disks.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Modified: sandbox/maestro-3.0/Maestro.Base/Services/OpenResourceManager.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/Services/OpenResourceManager.cs	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/Maestro.Base/Services/OpenResourceManager.cs	2010-10-28 09:02:19 UTC (rev 5344)
@@ -129,7 +129,8 @@
                 {
                     if (ed.IsDirty && !ed.DiscardChangesOnClose)
                     {
-                        if (!MessageService.AskQuestion(Properties.Resources.CloseUnsavedResource))
+                        string name = ed.IsNew ? string.Empty : "(" + ResourceIdentifier.GetName(ed.EditorService.ResourceID) + ")";
+                        if (!MessageService.AskQuestion(string.Format(Properties.Resources.CloseUnsavedResource, name)))
                         {
                             e.Cancel = true;
                         }

Modified: sandbox/maestro-3.0/Maestro.Base/UI/SiteExplorer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/UI/SiteExplorer.cs	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/Maestro.Base/UI/SiteExplorer.cs	2010-10-28 09:02:19 UTC (rev 5344)
@@ -467,20 +467,8 @@
 
         private void trvResources_KeyUp(object sender, KeyEventArgs e)
         {
-            if (e.Control && e.KeyCode == Keys.C) //Copy
+            if (e.KeyCode == Keys.Delete)
             {
-                new CopyCommand().Run();
-            }
-            else if (e.Control && e.KeyCode == Keys.X) //Cut
-            {
-                new CutCommand().Run();
-            }
-            else if (e.Control && e.KeyCode == Keys.V) //Paste
-            {
-                new PasteCommand().Run();
-            }
-            else if (e.KeyCode == Keys.Delete)
-            {
                 new DeleteSelectedItemsCommand().Run();
             }
         }

Modified: sandbox/maestro-3.0/Maestro.Base/UI/ValidationResultsDialog.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/UI/ValidationResultsDialog.cs	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/Maestro.Base/UI/ValidationResultsDialog.cs	2010-10-28 09:02:19 UTC (rev 5344)
@@ -1,4 +1,4 @@
-#region Disclaimer / License
+#region Disclaimer / License
 // Copyright (C) 2009, Kenneth Skovhede
 // http://www.hexad.dk, opensource at hexad.dk
 // 

Modified: sandbox/maestro-3.0/Maestro.Base/UI/ValidationResultsDialog.designer.cs
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/UI/ValidationResultsDialog.designer.cs	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/Maestro.Base/UI/ValidationResultsDialog.designer.cs	2010-10-28 09:02:19 UTC (rev 5344)
@@ -1,4 +1,4 @@
-namespace Maestro.Base
+namespace Maestro.Base
 {
     partial class ValidationResultsDialog
     {
@@ -91,20 +91,23 @@
             this.imageList1.Images.SetKeyName(1, "Warning.ico");
             this.imageList1.Images.SetKeyName(2, "Error.ico");
             // 
-            // saveFileDialog1
+            // saveFileDialog
             // 
             this.saveFileDialog.DefaultExt = "txt";
-            resources.ApplyResources(this.saveFileDialog, "saveFileDialog1");
+            resources.ApplyResources(this.saveFileDialog, "saveFileDialog");
             // 
-            // ValidationResults
+            // ValidationResultsDialog
             // 
-            resources.ApplyResources(this, "$this");
             this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
             this.CancelButton = this.CancelBtn;
+            resources.ApplyResources(this, "$this");
             this.Controls.Add(this.listView1);
             this.Controls.Add(this.panel1);
-            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
-            this.Name = "ValidationResults";
+            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
+            this.MaximizeBox = false;
+            this.MinimizeBox = false;
+            this.Name = "ValidationResultsDialog";
+            this.ShowIcon = false;
             this.panel1.ResumeLayout(false);
             this.ResumeLayout(false);
 

Modified: sandbox/maestro-3.0/Maestro.Base/UI/ValidationResultsDialog.resx
===================================================================
--- sandbox/maestro-3.0/Maestro.Base/UI/ValidationResultsDialog.resx	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/Maestro.Base/UI/ValidationResultsDialog.resx	2010-10-28 09:02:19 UTC (rev 5344)
@@ -119,11 +119,11 @@
   </resheader>
   <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
   <data name="SaveReportBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Bottom, Right</value>
+    <value>Bottom, Left</value>
   </data>
   <assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="SaveReportBtn.Location" type="System.Drawing.Point, System.Drawing">
-    <value>488, 8</value>
+    <value>12, 8</value>
   </data>
   <data name="SaveReportBtn.Size" type="System.Drawing.Size, System.Drawing">
     <value>91, 23</value>
@@ -148,10 +148,10 @@
     <value>0</value>
   </data>
   <data name="CancelBtn.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
-    <value>Bottom</value>
+    <value>Bottom, Right</value>
   </data>
   <data name="CancelBtn.Location" type="System.Drawing.Point, System.Drawing">
-    <value>256, 8</value>
+    <value>508, 8</value>
   </data>
   <data name="CancelBtn.Size" type="System.Drawing.Size, System.Drawing">
     <value>75, 23</value>
@@ -220,77 +220,77 @@
     <value>595, 232</value>
   </data>
   <metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>17, 17</value>
+    <value>146, 17</value>
   </metadata>
   <data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
     <value>
         AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
         LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
-        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADy
-        DgAAAk1TRnQBSQFMAgEBAwEAAQwBAAEMAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
-        AwABEAMAAQEBAAEgBgABEC4AAwwBEAMVAR0kAAEQAg8BFQMRARcDEQEXAxEBFwMRARcDEQEXAxEBFwMR
-        ARcDEQEXAxEBFwMRARcDFQEdHAADCQEMAxYBHwMWAR8DFgEfAxYBHwMWAR9kAAMSARgBgAEsARoB9wHE
-        AUcBLgH/Ac0BSwExAf8BzgFLATEB/wHKAUoBMAH/AaQBOwEmAf8BSQI0AYYUAAFNATMBNgHNAQIBuwHr
-        Af8BAgG9AewB/wECAcEB7gH/AQIBxAHwAf8BAgHFAfAB/wECAcUB8AH/AQIBxQHwAf8BAgHFAfAB/wEC
-        AcUB8AH/AQIBwwHvAf8BAgG/Ae0B/wECAbsB6wH/AQYBlwG+Af8UAAFSATABMwGrASoBPAG2Af8BLAE/
-        AcAB/wEtAUEBxgH/AS0BQQHHAf8BLAFAAcMB/wErAT4BuwH/ASMBKgGBAf9cAAFKAjQBigHGAUgBLwH/
-        AdcBTgEzAf8B4wFSATYB/wHpAVQBNwH/AeoBVAE3Af8B5gFTATYB/wHdAVABNAH/Ac8BSwExAf8BhQEr
-        ASIB/BAAAQgBggGjAf8BAgG8AewB/wECAcUB8AH/AQIBywHzAf8BAgHOAfUB/wECAdAB9gH/AQIB0AH2
-        Af8BAgHQAfYB/wECAdAB9gH/AQIBzwH2Af8BAgHNAfQB/wECAcgB8gH/AQIBwAHuAf8BAgG7AesB/wMS
-        ARgMAAFSATABMwGrASwBQAHBAf8BLwFEAdAB/wExAUcB2QH/ATIBSQHeAf8BMgFJAd8B/wEyAUgB3AH/
-        ATABRgHVAf8BLQFCAcgB/wEkASwBhAH/VAABOwIyAWMBygFJATAB/wHfAVEBNQH/Ae8BVgE5Af8B+wHx
-        Ae8B/wH9AvkB/wHhAWcBUAH/AfwBWwE8Af8B9QFYAToB/wHnAVMBNwH/AdMBTQEyAf8BhQErASIB/AwA
-        AT4CMwFrAQIBvwHtAf8BAgHJAfIB/wECAdAB9gH/AQIB1AH5Af8BAgHUAfcB/wGFAdwB6wH/AYEB2wHq
-        Af8BAgHQAfMB/wECAdYB+gH/AQIB0gH4Af8BAgHNAfQB/wECAcMB7wH/AQkBgAGdAf8MAAFSATABMwGr
-        ASwBQAHDAf8BMQFGAdYB/wE0AUsB5AH/ATUBTQHsAf8BNgFOAe8B/wE2AU8B8AH/ATYBTgHuAf8BNAFM
-        AeYB/wEyAUkB3QH/AS4BQwHMAf8BJAEsAYQB/1AAAbcBQgErAf8B3QFQATQB/wHyAVcBOQH/Af4BXgFA
-        Cf8B4wGJAXkB/wHoAZsBjQL/AWIBRAH/AfkBWgE7Af8B5wFTATcB/wHPAUsBMQH/AUkCNAGGDAABEgGO
-        Aa4B/wE9AdYB9QH/AUMB3QH5Af8BOQHgAfsB/wEeAc0B6Qn/ASwBygHjAf8BAgHZAfsB/wECAdQB+QH/
-        AQIBzQH1Af8BAgHDAe8B/wEvAisBSQgAAVABMQEzAZ8BKwE/Ab0B/wEwAUYB1QH/ATQBTAHmAf8BqgGz
-        AesB/wGcAaYB6QH/ATkBUgH6Af8BOQFSAfsB/wFZAWsB4AH/AeUB6AH4Af8BNQFMAegB/wEyAUkB3QH/
-        AS0BQgHIAf8BIwEqAYEB/0gAAUcCNAGBAdEBTAEyAf8B6wFUATgB/wH+AVwBPgL/AWgBSwH/AewBsQGl
-        Bf8B8wHMAcQB/wHhAXIBWwH/AfwBagFOAv8BYgFEAf8B9QFYAToB/wHdAVABNAH/AaQBOwEmAf8MAAE9
-        AjMBaAFLAdYB9QH/AVIB3gH5Af8BWAHkAfsB/wFfAegB/QH/AXQB2QHpAf8BgQHeAesB/wELAdsB+wH/
-        AQIB2AH7Af8BAgHTAfgB/wECAcoB8wH/AQkBgQGeAf8MAAEkASwBgwH/AS4BQgHKAf8BMwFKAeAB/wGI
-        AZQB4gn/AZwBpwHsAf8BWgFtAeQJ/wHeAeEB9wH/ATQBTAHoAf8BMAFGAdUB/wErAT4BuwH/AxYBH0QA
-        AYMBJwEfAfsB2gFPATQB/wH0AVcBOQL/AWYBSgL/AXUBWgH/AewBcAFXCf8B+AF2AVsC/wF3AVwC/wFv
-        AVQB/wH8AVsBPAH/AeYBUwE2Af8BygFKATAB/xAAATABlgGwAf8BYAHeAfgB/wFnAeUB+wH/AW4B6QH9
-        Cf8BgQHoAfkB/wFYAeQB+wH/AQIBzwH2Af8BAgHFAfAB/wEuAioBRwwAASUBLgGJAf8BOAFNAdQB/wFG
-        AVwB6QH/AVIBZwH1Af8B1wHbAfcR/wH3AfgB/QH/ATYBTwHwAf8BNgFOAe4B/wEyAUgB3AH/ASwBQAHD
-        Af8DFgEfRAABngE4ASUB/wHfAVEBNQH/AfcBZwFLAv8BeQFgAf8B+AGAAWcB/wHsAXwBZQH/AfwB8wHx
-        Bf8B5gGLAXsC/wGBAWoC/wF9AWUB/wH+AXIBWAH/AeoBVAE3Af8BzgFLATEB/wMVAR0MAAE8AjMBZgFv
-        Ad4B9wH/AXYB5QH6Af8BfQHqAfwJ/wGPAeoB+QH/AZYB7QH8Af8BXQHdAfcB/wEJAYEBngH/EAABMQE5
-        AY8B/wFMAV4B2wH/AVUBaQHtAf8BXgFzAfgB/wFmAXkB/AH/Ad8B4gH5Cf8B/AH9Af4B/wGFAZQB+QH/
-        AXMBgwH8Af8BNgFPAfAB/wEyAUkB3wH/AS0BQQHHAf8DFgEfRAABlwE2ASMB/wHeAVEBNQH/AfgBgAFn
-        Av8BhQFxAf8B/gGNAXkB/wH1AdgB0gH/AecBmwGNBf8B+QHnAeQC/wGOAXoC/wGJAXUB/wH+AYEBagH/
-        Ae0BdgFfAf8BzQFLATEB/wMMARAQAAFAAZoBsQH/AYMB5gH5Af8BigHrAfwJ/wGeAewB+QH/AaQB7gH7
-        Af8BqgHsAfoB/wEtAioBRhAAATYBPQGQAf8BVgFoAdwB/wFgAXMB7QH/AWkBfAH4Af8BhgGTAeoR/wHJ
-        Ac8B9AH/AZkBpgH8Af8BoAGrAfcB/wFYAWsB5AH/AS0BQQHGAf8DFgEfRAABZQEnASMB1QHcAWgBUQH/
-        AfUBjQF8Av8BkwGBAv8BmwGIAf8B/gGeAYoB/wHtAbEBpgH/AfwB9gH0Af8B7wG8AbIC/wGdAYoC/wGX
-        AYQB/wH7AY8BfQH/AewBigF5Af8BxAFHAS4B/xQAATsCMgFlAZIB5gH5Af8BmQHsAfsJ/wGsAe4B+QH/
-        AbIB7wH7Af8BRAGOAaIB/xQAATsBQQGPAf8BYAFwAdoB/wFrAXwB6wH/AYkBlQHmCf8B+gH7Af4B/wHk
-        AecB+gn/AdMB1wH1Af8BrAG1AfcB/wGxAbkB8QH/AWMBcQHPAf8DFgEfRAABHwIeAS0B1AFrAVYB/wHx
-        AZ4BjgH/AfwBogGRAv8BpwGXAv8BqwGbAv8BrQGdAf8B7wG2AasB/wH+Af0B/AH/AfEBpQGXAf8B/gGk
-        AZMB/wH2AZ8BjwH/AekBmwGMAf8BgAEsARoB9xgAAVABnQGyAf8BpwHtAfsJ/wG5Ae8B+QH/Ab4B8AH7
-        Af8BLQIpAUUUAAEyATUBegH/AWsBeQHWAf8BdgGDAecB/wF+AYoB6QH/A/4B/wL7Af4B/wGVAaIB+QH/
-        AZ0BqQH9Af8B6QHrAfoF/wG2Ab0B8AH/AbcBvwH1Af8BvAHDAfAB/wHBAcYB6gH/AwkBDEgAAYQBLQEZ
-        AfkB7AGuAaIB/wH1AbEBpAH/AfwBtAGmAv8BtgGpAv8BuAGrAf8B9wHdAdkF/wH1AdUBzwH/AfkBsgGl
-        Af8B8AGwAaMB/wHeAZgBigH/AxIBGBgAATsCMgFkAbQB7QH6Cf8BxQHwAfoB/wFJAY8BogH/GAADCAEL
-        AVkBYQGqAf8BgQGLAeEB/wGIAZYB7QH/AZABnAHtAf8BmQGkAfQB/wGhAa0B+wH/AagBswH7Af8BrwG5
-        AfoB/wG5AcAB8QH/AbwBwwH3Af8BwQHIAfMB/wHHAcwB7gH/AVMBMAEzAatPAAEBAb4BeQFrAf8B8AHB
-        AbcB/wH2AcIBuQH/AfoBxAG6Af8B/AHEAboB/wH7AcQBugH/AfIBxgG9Af8B9gHCAbkB/wHzAcIBuAH/
-        AewBvgG1Af8BSgI0AYogAAFdAZ8BsgH/AcYB8QH7Af8BywHyAfwB/wHQAfMB/AH/ASwCKQFEHAADCAEL
-        AWgBbwGwAf8BkwGeAeYB/wGcAacB7gH/AaUBrwHzAf8BrAG2AfYB/wGzAbwB9wH/AboBwgH3Af8BwAHH
-        AfUB/wHGAcwB8wH/AcsB0AHwAf8BUwEwATMBq1cAAQEBjAE+ATYB+QHyAdAByQH/AfQB0QHKAf8B9gHS
-        AcoB/wH2AdIBygH/AfUB0QHKAf8B8wHQAcoB/wHUAZ4BkwH/ATsCMgFjJAABOwIyAWQB0QHyAfsB/wHV
-        AfQB/AH/AU8BkAGjAf8kAAMIAQsBdgF7AbMB/wGnAa8B5wH/Aa8BtwHtAf8BtgG+AfAB/wG9AcQB8gH/
-        AcQBygHyAf8BygHPAfEB/wHPAdMB8AH/AVMBMAEzAatgAAEfAh4BLQFmAScBJAHVAakBbQFiAf8BtAF9
-        AXIB/wGMAUYBNQH7AUcCNAGBMAABSQE3AUAB3AFRAZEBpAH/ARYCFQEeKAADCAELAUoBSwGBAf8BbQFv
-        AZ8B/wFwAXMBogH/AXQBdgGkAf8BdwF4AaQB/wF1AXYBoAH/AVABMgEzAZ//AFEAAUIBTQE+BwABPgMA
-        ASgDAAFAAwABEAMAAQEBAAEBBQABgBcAA/8BAAH+AX8BwAEDAfgBHwIAAfABDwGAAQEB8AEPAgAB4AEH
-        AYABAAHgAQcCAAHAAQMBgAEBAcABAwIAAcABAQHAAQEBgAEBAgABgAEBAcABAwGAAwABgAEBAeABAwGA
-        AwABgAEAAeABBwGAAwABgAEAAfABBwGAAwABgAEBAfABDwGAAwABgAEBAfgBDwGAAwABwAEBAfgBHwGA
-        AQECAAHAAQMB/AEfAcABAwIAAeABBwH8AT8B4AEHAgAB+AEfAf4BPwHwAQ8CAAb/AgAL
+        ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADi
+        DgAAAk1TRnQBSQFMAgEBAwEAARQBAAEUAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
+        AwABEAMAAQEBAAEgBgABEC4AAwwBEAMVAR0kAAMQARUDEQEXAxEBFwMRARcDEQEXAxEBFwMRARcDEQEX
+        AxEBFwMRARcDEQEXAxUBHRwAAwkBDAMWAR8DFgEfAxYBHwMWAR8DFgEfZAADEgEYAX8BMAEdAfcBxAFG
+        AS0B/wHNAUoBMAH/Ac4BSgEwAf8BygFJAS8B/wGkAToBJQH/AUgCQgGGFAABUgFAAUMBzQEBAbsB6wH/
+        AQEBvQHsAf8BAQHBAe4B/wEBAcQB8AH/AQEBxQHwAf8BAQHFAfAB/wEBAcUB8AH/AQEBxQHwAf8BAQHF
+        AfAB/wEBAcMB7wH/AQEBvwHtAf8BAQG7AesB/wEFAZcBvgH/FAABUwFEAUUBqwEpATsBtgH/ASsBPgHA
+        Af8BLAFAAcYB/wEsAUABxwH/ASsBPwHDAf8BKgE9AbsB/wEiASkBgQH/XAABSgJDAYoBxgFHAS4B/wHX
+        AU0BMgH/AeMBUQE1Af8B6QFTATYB/wHqAVMBNgH/AeYBUgE1Af8B3QFPATMB/wHPAUoBMAH/AYIBKwEj
+        AfwQAAEHAYIBowH/AQEBvAHsAf8BAQHFAfAB/wEBAcsB8wH/AQEBzgH1Af8BAQHQAfYB/wEBAdAB9gH/
+        AQEB0AH2Af8BAQHQAfYB/wEBAc8B9gH/AQEBzQH0Af8BAQHIAfIB/wEBAcAB7gH/AQEBuwHrAf8DEgEY
+        DAABUwFEAUUBqwErAT8BwQH/AS4BQwHQAf8BMAFGAdkB/wExAUgB3gH/ATEBSAHfAf8BMQFHAdwB/wEv
+        AUUB1QH/ASwBQQHIAf8BIwErAYQB/1QAATsCOQFjAcoBSAEvAf8B3wFQATQB/wHvAVUBOAH/AfsB8QHv
+        Af8B/QL5Af8B4QFmAU8B/wH8AVoBOwH/AfUBVwE5Af8B5wFSATYB/wHTAUwBMQH/AYIBKwEjAfwMAAE+
+        AjwBawEBAb8B7QH/AQEByQHyAf8BAQHQAfYB/wEBAdQB+QH/AQEB1AH3Af8BhQHcAesB/wGBAdsB6gH/
+        AQEB0AHzAf8BAQHWAfoB/wEBAdIB+AH/AQEBzQH0Af8BAQHDAe8B/wEIAYABnQH/DAABUwFEAUUBqwEr
+        AT8BwwH/ATABRQHWAf8BMwFKAeQB/wE0AUwB7AH/ATUBTQHvAf8BNQFOAfAB/wE1AU0B7gH/ATMBSwHm
+        Af8BMQFIAd0B/wEtAUIBzAH/ASMBKwGEAf9QAAG3AUEBKgH/Ad0BTwEzAf8B8gFWATgB/wH+AV0BPwn/
+        AeMBiQF4Af8B6AGbAY0C/wFhAUMB/wH5AVkBOgH/AecBUgE2Af8BzwFKATAB/wFIAkIBhgwAAREBjgGu
+        Af8BPAHWAfUB/wFCAd0B+QH/ATgB4AH7Af8BHQHNAekJ/wErAcoB4wH/AQEB2QH7Af8BAQHUAfkB/wEB
+        Ac0B9QH/AQEBwwHvAf8BLwIuAUkIAAFQAkQBnwEqAT4BvQH/AS8BRQHVAf8BMwFLAeYB/wGqAbMB6wH/
+        AZwBpgHpAf8BOAFRAfoB/wE4AVEB+wH/AVgBagHgAf8B5QHoAfgB/wE0AUsB6AH/ATEBSAHdAf8BLAFB
+        AcgB/wEiASkBgQH/SAABRwJCAYEB0QFLATEB/wHrAVMBNwH/Af4BWwE9Av8BZwFKAf8B7AGxAaUF/wHz
+        AcwBxAH/AeEBcQFaAf8B/AFpAU0C/wFhAUMB/wH1AVcBOQH/Ad0BTwEzAf8BpAE6ASUB/wwAAT0COwFo
+        AUoB1gH1Af8BUQHeAfkB/wFXAeQB+wH/AV4B6AH9Af8BcwHZAekB/wGBAd4B6wH/AQoB2wH7Af8BAQHY
+        AfsB/wEBAdMB+AH/AQEBygHzAf8BCAGBAZ4B/wwAASMBKwGDAf8BLQFBAcoB/wEyAUkB4AH/AYgBlAHi
+        Cf8BnAGnAewB/wFZAWwB5An/Ad4B4QH3Af8BMwFLAegB/wEvAUUB1QH/ASoBPQG7Af8DFgEfRAABggEn
+        ASEB+wHaAU4BMwH/AfQBVgE4Av8BZQFJAv8BdAFZAf8B7AFvAVYJ/wH4AXUBWgL/AXYBWwL/AW4BUwH/
+        AfwBWgE7Af8B5gFSATUB/wHKAUkBLwH/EAABLwGWAbAB/wFfAd4B+AH/AWYB5QH7Af8BbQHpAf0J/wGB
+        AegB+QH/AVcB5AH7Af8BAQHPAfYB/wEBAcUB8AH/AS4CLQFHDAABJAEtAYkB/wE3AUwB1AH/AUUBWwHp
+        Af8BUQFmAfUB/wHXAdsB9xH/AfcB+AH9Af8BNQFOAfAB/wE1AU0B7gH/ATEBRwHcAf8BKwE/AcMB/wMW
+        AR9EAAGeATcBJAH/Ad8BUAE0Af8B9wFmAUoC/wF4AV8B/wH4AYABZgH/AewBewFkAf8B/AHzAfEF/wHm
+        AYsBegL/AYEBaQL/AXwBZAH/Af4BcQFXAf8B6gFTATYB/wHOAUoBMAH/AxUBHQwAATwCOgFmAW4B3gH3
+        Af8BdQHlAfoB/wF8AeoB/An/AY8B6gH5Af8BlgHtAfwB/wFcAd0B9wH/AQgBgQGeAf8QAAEwATgBjwH/
+        AUsBXQHbAf8BVAFoAe0B/wFdAXIB+AH/AWUBeAH8Af8B3wHiAfkJ/wH8Af0B/gH/AYUBlAH5Af8BcgGD
+        AfwB/wE1AU4B8AH/ATEBSAHfAf8BLAFAAccB/wMWAR9EAAGXATUBIgH/Ad4BUAE0Af8B+AGAAWYC/wGF
+        AXAB/wH+AY0BeAH/AfUB2AHSAf8B5wGbAY0F/wH5AecB5AL/AY4BeQL/AYkBdAH/Af4BgQFpAf8B7QF1
+        AV4B/wHNAUoBMAH/AwwBEBAAAT8BmgGxAf8BgwHmAfkB/wGKAesB/An/AZ4B7AH5Af8BpAHuAfsB/wGq
+        AewB+gH/Ay0BRhAAATUBPAGQAf8BVQFnAdwB/wFfAXIB7QH/AWgBewH4Af8BhgGTAeoR/wHJAc8B9AH/
+        AZkBpgH8Af8BoAGrAfcB/wFXAWoB5AH/ASwBQAHGAf8DFgEfRAABYwE4ATQB1QHcAWcBUAH/AfUBjQF7
+        Av8BkwGBAv8BmwGIAf8B/gGeAYoB/wHtAbEBpgH/AfwB9gH0Af8B7wG8AbIC/wGdAYoC/wGXAYQB/wH7
+        AY8BfAH/AewBigF4Af8BxAFGAS0B/xQAATsCOgFlAZIB5gH5Af8BmQHsAfsJ/wGsAe4B+QH/AbIB7wH7
+        Af8BQwGOAaIB/xQAAToBQAGPAf8BXwFvAdoB/wFqAXsB6wH/AYkBlQHmCf8B+gH7Af4B/wHkAecB+gn/
+        AdMB1wH1Af8BrAG1AfcB/wGxAbkB8QH/AWIBcAHPAf8DFgEfRAADHwEtAdQBagFVAf8B8QGeAY4B/wH8
+        AaIBkQL/AacBlwL/AasBmwL/Aa0BnQH/Ae8BtgGrAf8B/gH9AfwB/wHxAaUBlwH/Af4BpAGTAf8B9gGf
+        AY8B/wHpAZsBjAH/AX8BMAEdAfcYAAFPAZ0BsgH/AacB7QH7Cf8BuQHvAfkB/wG+AfAB+wH/AS0CLAFF
+        FAABMQE0AXkB/wFqAXgB1gH/AXUBgwHnAf8BfQGKAekB/wP+Af8C+wH+Af8BlQGiAfkB/wGdAakB/QH/
+        AekB6wH6Bf8BtgG9AfAB/wG3Ab8B9QH/AbwBwwHwAf8BwQHGAeoB/wMJAQxIAAGDAS8BGwH5AewBrgGi
+        Af8B9QGxAaQB/wH8AbQBpgL/AbYBqQL/AbgBqwH/AfcB3QHZBf8B9QHVAc8B/wH5AbIBpQH/AfABsAGj
+        Af8B3gGYAYoB/wMSARgYAAE7AjoBZAG0Ae0B+gn/AcUB8AH6Af8BSAGPAaIB/xgAAwgBCwFYAWABqgH/
+        AYEBiwHhAf8BiAGWAe0B/wGQAZwB7QH/AZkBpAH0Af8BoQGtAfsB/wGoAbMB+wH/Aa8BuQH6Af8BuQHA
+        AfEB/wG8AcMB9wH/AcEByAHzAf8BxwHMAe4B/wFUAUQBRQGrTwABAQG+AXgBagH/AfABwQG3Af8B9gHC
+        AbkB/wH6AcQBugH/AfwBxAG6Af8B+wHEAboB/wHyAcYBvQH/AfYBwgG5Af8B8wHCAbgB/wHsAb4BtQH/
+        AUoCQwGKIAABXAGfAbIB/wHGAfEB+wH/AcsB8gH8Af8B0AHzAfwB/wMsAUQcAAMIAQsBZwFuAbAB/wGT
+        AZ4B5gH/AZwBpwHuAf8BpQGvAfMB/wGsAbYB9gH/AbMBvAH3Af8BugHCAfcB/wHAAccB9QH/AcYBzAHz
+        Af8BywHQAfAB/wFUAUQBRQGrVwABAQGLAUABOAH5AfIB0AHJAf8B9AHRAcoB/wH2AdIBygH/AfYB0gHK
+        Af8B9QHRAcoB/wHzAdABygH/AdQBngGTAf8BOwI5AWMkAAE7AjoBZAHRAfIB+wH/AdUB9AH8Af8BTgGQ
+        AaMB/yQAAwgBCwF1AXoBswH/AacBrwHnAf8BrwG3Ae0B/wG2Ab4B8AH/Ab0BxAHyAf8BxAHKAfIB/wHK
+        Ac8B8QH/Ac8B0wHwAf8BVAFEAUUBq2AAAx8BLQFjATgBNQHVAakBbAFhAf8BtAF8AXEB/wGLAUYBNAH7
+        AUcCQgGBMAABTwFBAUcB3AFQAZEBpAH/AxYBHigAAwgBCwFJAUoBgQH/AWwBbgGfAf8BbwFyAaIB/wFz
+        AXUBpAH/AXYBdwGkAf8BdAF1AaAB/wFQAkQBn/8AUQABQgFNAT4HAAE+AwABKAMAAUADAAEQAwABAQEA
+        AQEFAAGAFwAD/wEAAf4BfwHAAQMB+AEfAgAB8AEPAYABAQHwAQ8CAAHgAQcBgAEAAeABBwIAAcABAwGA
+        AQEBwAEDAgABwAEBAcABAQGAAQECAAGAAQEBwAEDAYADAAGAAQEB4AEDAYADAAGAAQAB4AEHAYADAAGA
+        AQAB8AEHAYADAAGAAQEB8AEPAYADAAGAAQEB+AEPAYADAAHAAQEB+AEfAYABAQIAAcABAwH8AR8BwAED
+        AgAB4AEHAfwBPwHgAQcCAAH4AR8B/gE/AfABDwIABv8CAAs=
 </value>
   </data>
   <data name="listView1.TabIndex" type="System.Int32, mscorlib">
@@ -308,21 +308,18 @@
   <data name="&gt;&gt;listView1.ZOrder" xml:space="preserve">
     <value>0</value>
   </data>
-  <metadata name="saveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
-    <value>122, 17</value>
+  <metadata name="saveFileDialog.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
   </metadata>
-  <data name="saveFileDialog1.Filter" xml:space="preserve">
+  <data name="saveFileDialog.Filter" xml:space="preserve">
     <value>Text files (*.txt)|*.txt|All files (*.*)|*.*</value>
   </data>
-  <data name="saveFileDialog1.Title" xml:space="preserve">
+  <data name="saveFileDialog.Title" xml:space="preserve">
     <value>Select the filename to write the report to</value>
   </data>
   <metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
     <value>True</value>
   </metadata>
-  <data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
-    <value>6, 13</value>
-  </data>
   <data name="$this.ClientSize" type="System.Drawing.Size, System.Drawing">
     <value>595, 274</value>
   </data>
@@ -350,14 +347,14 @@
   <data name="&gt;&gt;imageList1.Type" xml:space="preserve">
     <value>System.Windows.Forms.ImageList, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
-  <data name="&gt;&gt;saveFileDialog1.Name" xml:space="preserve">
-    <value>saveFileDialog1</value>
+  <data name="&gt;&gt;saveFileDialog.Name" xml:space="preserve">
+    <value>saveFileDialog</value>
   </data>
-  <data name="&gt;&gt;saveFileDialog1.Type" xml:space="preserve">
+  <data name="&gt;&gt;saveFileDialog.Type" xml:space="preserve">
     <value>System.Windows.Forms.SaveFileDialog, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </data>
   <data name="&gt;&gt;$this.Name" xml:space="preserve">
-    <value>ValidationResults</value>
+    <value>ValidationResultsDialog</value>
   </data>
   <data name="&gt;&gt;$this.Type" xml:space="preserve">
     <value>System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>


Property changes on: sandbox/maestro-3.0/SDK
___________________________________________________________________
Modified: svn:ignore
   - SDK.suo
bin

   + SDK.suo
bin
*.cache


Modified: sandbox/maestro-3.0/build.bat
===================================================================
--- sandbox/maestro-3.0/build.bat	2010-10-28 00:53:04 UTC (rev 5343)
+++ sandbox/maestro-3.0/build.bat	2010-10-28 09:02:19 UTC (rev 5344)
@@ -3,9 +3,9 @@
 SET TYPEBUILD=Release
 SET PLATFORM=Any CPU
 SET RELEASE_VERSION=Trunk
+SET OLDPATH=%PATH%
+SET PATH=%PATH%;%CD%\Thirdparty\NSIS;C:\Windows\Microsoft.NET\Framework\v3.5
 
-SET PATH=%PATH%;%CD%\Thirdparty\NSIS
-
 :study_params
 if (%1)==() goto start_build
 
@@ -71,6 +71,9 @@
 if "%TYPEACTION%"=="clean" goto clean
 
 :build
+pushd SDK
+%MSBUILD% SDK.sln
+popd
 pushd Maestro
 %MSBUILD% Maestro.sln
 popd
@@ -80,6 +83,9 @@
 goto quit
 
 :clean
+pushd SDK
+%MSBUILD% /t:clean SDK.sln
+popd
 pushd Maestro
 %MSBUILD% /t:clean Maestro.sln
 popd
@@ -104,4 +110,5 @@
 echo Action:                -a[ction]=build(default),
 echo                                  clean
 echo ************************************************************************
-:quit
\ No newline at end of file
+:quit
+SET PATH=%OLDPATH%
\ No newline at end of file



More information about the mapguide-commits mailing list