diff --git a/ApplicationView/MainApplicationWidget.cs b/ApplicationView/MainApplicationWidget.cs index 32ff21012..f4b10355b 100644 --- a/ApplicationView/MainApplicationWidget.cs +++ b/ApplicationView/MainApplicationWidget.cs @@ -235,6 +235,7 @@ namespace MatterHackers.MatterControl public SlicePresetsWindow EditQualityPresetsWindow{ get; set;} public ApplicationView MainView; + public event EventHandler ApplicationClosed; event EventHandler unregisterEvents; public bool WidescreenMode { get; set; } @@ -263,6 +264,14 @@ namespace MatterHackers.MatterControl } + public void OnApplicationClosed() + { + if (ApplicationClosed != null) + { + ApplicationClosed(null, null); + } + } + public static ApplicationController Instance { get diff --git a/DataStorage/Datastore.cs b/DataStorage/Datastore.cs index 0a729c47f..361a8a2eb 100644 --- a/DataStorage/Datastore.cs +++ b/DataStorage/Datastore.cs @@ -53,6 +53,19 @@ namespace MatterHackers.MatterControl.DataStorage } } + /// + /// Returns the application temp data folder + /// + /// + public string ApplicationTempDataPath + { + get + { + return Path.Combine(Environment.GetFolderPath(System.Environment.SpecialFolder.LocalApplicationData), applicationDataFolderName,"data", "temp"); + } + } + + public string ApplicationLibraryDataPath { get diff --git a/MatterControl.sln b/MatterControl.sln index 99ae1a34e..c31aa7358 100644 --- a/MatterControl.sln +++ b/MatterControl.sln @@ -1,6 +1,6 @@  -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2012 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatterControl", "MatterControl.csproj", "{0B8D6F56-BD7F-4426-B858-D9292B084656}" ProjectSection(ProjectDependencies) = postProject {F67AE800-B0C7-42A8-836F-597B4E74591C} = {F67AE800-B0C7-42A8-836F-597B4E74591C} @@ -95,6 +95,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "agg-sharp", "agg-sharp", "{ EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InfInstaller", "PrinterDriverInstaller\InfInstaller.csproj", "{990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Nat", "..\Mono.Nat\src\Mono.Nat\Mono.Nat.csproj", "{F5D74163-145F-47BF-83DC-D0E07249C6CA}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -647,12 +649,27 @@ Global {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release64|x64.ActiveCfg = Release64|x64 {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release64|x64.Build.0 = Release64|x64 {990A9AD3-B6A4-407B-9DFC-9C722AF7C9B9}.Release64|x86.ActiveCfg = Release64|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Debug|x64.ActiveCfg = Debug|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Debug|x86.ActiveCfg = Debug|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Debug64|Any CPU.ActiveCfg = Debug|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Debug64|Any CPU.Build.0 = Debug|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Debug64|x64.ActiveCfg = Debug|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Debug64|x86.ActiveCfg = Debug|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Release|Any CPU.Build.0 = Release|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Release|x64.ActiveCfg = Release|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Release|x86.ActiveCfg = Release|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Release64|Any CPU.ActiveCfg = Release|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Release64|Any CPU.Build.0 = Release|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Release64|x64.ActiveCfg = Release|Any CPU + {F5D74163-145F-47BF-83DC-D0E07249C6CA}.Release64|x86.ActiveCfg = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9} = {2AB9B589-5C98-4C05-BBEA-F97DAE168EAB} {670BDDFF-927B-425D-9DD1-22ACB14356EB} = {2AB9B589-5C98-4C05-BBEA-F97DAE168EAB} {D3E41B4E-BFBB-44CA-94C8-95C00F754FDD} = {2AB9B589-5C98-4C05-BBEA-F97DAE168EAB} {545B6912-77FF-4B34-BA76-6C3D6A32BE6A} = {2AB9B589-5C98-4C05-BBEA-F97DAE168EAB} @@ -668,13 +685,15 @@ Global {036BCCBA-52D8-457C-84AE-8821F209FE4A} = {2AB9B589-5C98-4C05-BBEA-F97DAE168EAB} {9B062971-A88E-4A3D-B3C9-12B78D15FA66} = {2AB9B589-5C98-4C05-BBEA-F97DAE168EAB} {DF6845CD-64C6-4263-8357-DA8066855739} = {2AB9B589-5C98-4C05-BBEA-F97DAE168EAB} - {291CD87C-2C58-4369-9D85-238C7EB31542} = {DA2BE4E5-5FB2-4C74-9170-0D2513AAFC84} {A526DC5D-65F3-461B-805F-D3AC9665F5C9} = {2AB9B589-5C98-4C05-BBEA-F97DAE168EAB} + {3E4AABA8-D85F-4922-88C6-5C1B2D2308FB} = {2AB9B589-5C98-4C05-BBEA-F97DAE168EAB} + {AE37DE1F-22F7-49EE-8732-FC6BC8DC58D9} = {2AB9B589-5C98-4C05-BBEA-F97DAE168EAB} + {291CD87C-2C58-4369-9D85-238C7EB31542} = {DA2BE4E5-5FB2-4C74-9170-0D2513AAFC84} {F49EC1DD-D645-4709-8667-B57318AF67B0} = {DA2BE4E5-5FB2-4C74-9170-0D2513AAFC84} {239CC6B1-537C-4998-9AA9-3372A3464498} = {DA2BE4E5-5FB2-4C74-9170-0D2513AAFC84} {BEC6FD13-C765-4B90-836B-53823AC12E20} = {DA2BE4E5-5FB2-4C74-9170-0D2513AAFC84} - {3E4AABA8-D85F-4922-88C6-5C1B2D2308FB} = {2AB9B589-5C98-4C05-BBEA-F97DAE168EAB} {6782BF37-8139-4DC6-885E-98D22D1FB258} = {DA2BE4E5-5FB2-4C74-9170-0D2513AAFC84} + {F5D74163-145F-47BF-83DC-D0E07249C6CA} = {DA2BE4E5-5FB2-4C74-9170-0D2513AAFC84} EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution StartupItem = MatterControl.csproj diff --git a/MatterControlApplication.cs b/MatterControlApplication.cs index e7f0c8ec3..103c75b6f 100644 --- a/MatterControlApplication.cs +++ b/MatterControlApplication.cs @@ -57,7 +57,7 @@ namespace MatterHackers.MatterControl bool firstDraw = true; bool ShowMemoryUsed = false; bool DoCGCollectEveryDraw = false; - public bool RestartOnClose = false; + public bool RestartOnClose = false; static readonly Vector2 minSize = new Vector2(600, 600); @@ -373,6 +373,8 @@ namespace MatterHackers.MatterControl Datastore.Instance.Exit(); PrinterConnectionAndCommunication.Instance.HaltConnectionThread(); SlicingQueue.Instance.ShutDownSlicingThread(); + ApplicationController.Instance.OnApplicationClosed(); + if (RestartOnClose) { string appPathAndFile = System.Reflection.Assembly.GetExecutingAssembly().Location;