private void FileViewEditDialog_FormClosing(object sender, FormClosingEventArgs e) { Options.SaveWindowState("View", this); if ((e.CloseReason == CloseReason.TaskManagerClosing) || (e.CloseReason == CloseReason.WindowsShutDown)) { return; } if (!(TextViewControl.EditEnable)) { return; } var edit_stream = (EditStream)text_provider.GetBaseStream(); if (edit_stream.IsHaveChanges) { if (Messages.ShowQuestionYesNo (Options.GetLiteral(Options.LANG_HAVE_UNSAVED_CHANGES), Options.GetLiteral(Options.LANG_FILE_EDIT)) == DialogResult.No) { e.Cancel = true; } } }
private void internal_delete_selected() { if (listViewStreams.SelectedItems.Count == 0) { return; } if (Messages.ShowQuestionYesNo (Options.GetLiteral(Options.LANG_DELETE_PROMPT), Options.GetLiteral(Options.LANG_DELETE)) != DialogResult.Yes) { return; } var stream_info = new NT_FILE_STREAM_INFORMATION(); foreach (InternalListViewItem item in listViewStreams.SelectedItems) { try { stream_info = item.InternalData; if (stream_info.StreamName.StartsWith("::$")) { Messages.ShowMessage(Options.GetLiteral(Options.LANG_CANNOT_DELETE_DEFAULT_DATA_STREAM)); } else { var del_name = string.Format("{0}{1}", FileName, stream_info.StreamName); var res = WinApiFS.DeleteFile(del_name); if (res == 0) { throw new Win32Exception(Marshal.GetLastWin32Error()); } } } catch (Exception ex) { Messages.ShowException (ex, string.Format (Options.GetLiteral(Options.LANG_CANNOT_DELETE_DEFAULT_DATA_STREAM), stream_info.StreamName)); } } //update list FillContents(FileName); }