void SaveAsync(SaveOptionsVM[] mods)
        {
            try {
                moduleSaver = new ModuleSaver(mods);
                moduleSaver.OnProgressUpdated += moduleSaver_OnProgressUpdated;
                moduleSaver.OnLogMessage      += moduleSaver_OnLogMessage;
                moduleSaver.OnWritingFile     += moduleSaver_OnWritingFile;
                moduleSaver.SaveAll();
                AsyncAddMessage("All files written to disk.", false, false);
            }
            catch (TaskCanceledException) {
                AsyncAddMessage("Save was canceled by user.", true, false);
            }
            catch (UnauthorizedAccessException ex) {
                AsyncAddMessage(string.Format("Access error: {0}", ex.Message), true, false);
            }
            catch (IOException ex) {
                AsyncAddMessage(string.Format("File error: {0}", ex.Message), true, false);
            }
            catch (Exception ex) {
                AsyncAddMessage(string.Format("An exception occurred\n\n{0}", ex), true, false);
            }
            moduleSaver = null;

            ExecInOldThread(() => {
                CurrentFileName = string.Empty;
                State           = SaveState.Saved;
            });
        }
Example #2
0
        void SaveAsync(SaveOptionsVM[] mods)
        {
            AppCulture.InitializeCulture();
            try {
                moduleSaver = new ModuleSaver(mods);
                moduleSaver.OnProgressUpdated += moduleSaver_OnProgressUpdated;
                moduleSaver.OnLogMessage      += moduleSaver_OnLogMessage;
                moduleSaver.OnWritingFile     += moduleSaver_OnWritingFile;
                moduleSaver.SaveAll();
                AsyncAddMessage(dnSpy_AsmEditor_Resources.SaveModules_Log_AllFilesWritten, false, false);
            }
            catch (TaskCanceledException) {
                AsyncAddMessage(dnSpy_AsmEditor_Resources.SaveModules_Log_SaveWasCanceled, true, false);
            }
            catch (UnauthorizedAccessException ex) {
                AsyncAddMessage(string.Format(dnSpy_AsmEditor_Resources.SaveModules_Log_AccessError, ex.Message), true, false);
            }
            catch (IOException ex) {
                AsyncAddMessage(string.Format(dnSpy_AsmEditor_Resources.SaveModules_Log_FileError, ex.Message), true, false);
            }
            catch (Exception ex) {
                AsyncAddMessage(string.Format(dnSpy_AsmEditor_Resources.SaveModules_Log_Exception, ex), true, false);
            }
            moduleSaver = null;

            ExecInOldThread(() => {
                CurrentFileName = string.Empty;
                State           = SaveState.Saved;
            });
        }
Example #3
0
		void SaveAsync(SaveOptionsVM[] mods) {
			AppCulture.InitializeCulture();
			try {
				moduleSaver = new ModuleSaver(mods);
				moduleSaver.OnProgressUpdated += moduleSaver_OnProgressUpdated;
				moduleSaver.OnLogMessage += moduleSaver_OnLogMessage;
				moduleSaver.OnWritingFile += moduleSaver_OnWritingFile;
				moduleSaver.SaveAll();
				AsyncAddMessage(dnSpy_AsmEditor_Resources.SaveModules_Log_AllFilesWritten, false, false);
			}
			catch (TaskCanceledException) {
				AsyncAddMessage(dnSpy_AsmEditor_Resources.SaveModules_Log_SaveWasCanceled, true, false);
			}
			catch (UnauthorizedAccessException ex) {
				AsyncAddMessage(string.Format(dnSpy_AsmEditor_Resources.SaveModules_Log_AccessError, ex.Message), true, false);
			}
			catch (IOException ex) {
				AsyncAddMessage(string.Format(dnSpy_AsmEditor_Resources.SaveModules_Log_FileError, ex.Message), true, false);
			}
			catch (Exception ex) {
				AsyncAddMessage(string.Format(dnSpy_AsmEditor_Resources.SaveModules_Log_Exception, ex), true, false);
			}
			moduleSaver = null;

			ExecInOldThread(() => {
				CurrentFileName = string.Empty;
				State = SaveState.Saved;
			});
		}
Example #4
0
		void SaveAsync(SaveOptionsVM[] mods) {
			try {
				moduleSaver = new ModuleSaver(mods);
				moduleSaver.OnProgressUpdated += moduleSaver_OnProgressUpdated;
				moduleSaver.OnLogMessage += moduleSaver_OnLogMessage;
				moduleSaver.OnWritingFile += moduleSaver_OnWritingFile;
				moduleSaver.SaveAll();
				AsyncAddMessage("All files written to disk.", false, false);
			}
			catch (TaskCanceledException) {
				AsyncAddMessage("Save was canceled by user.", true, false);
			}
			catch (UnauthorizedAccessException ex) {
				AsyncAddMessage(string.Format("Access error: {0}", ex.Message), true, false);
			}
			catch (IOException ex) {
				AsyncAddMessage(string.Format("File error: {0}", ex.Message), true, false);
			}
			catch (Exception ex) {
				AsyncAddMessage(string.Format("An exception occurred\n\n{0}", ex), true, false);
			}
			moduleSaver = null;

			ExecInOldThread(() => {
				CurrentFileName = string.Empty;
				State = SaveState.Saved;
			});
		}