Пример #1
0
        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;
                }
            }
        }
Пример #2
0
        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);
        }