Exemple #1
0
        public static bool NewFileDialog(out RibbonTemplate template, out string fileName)
        {
            NewFileForm dialog;
            bool        result;

            template = RibbonTemplate.None;
            fileName = string.Empty;
            dialog   = new NewFileForm();
            try
            {
                result = (dialog.ShowDialog() == DialogResult.OK);
                if (result)
                {
                    int itemIndex = 0;
                    if (dialog.wordPadRadioButton.Checked)
                    {
                        itemIndex = 1;
                    }
                    template = (RibbonTemplate)(itemIndex);
                    fileName = Path.Combine(dialog.EditDirectory.Text, dialog.EditFilename.Text);
                }
            }
            finally
            {
                dialog.Close();
            }
            return(result);
        }
        private void NewFile(bool emptyFile)
        {
            RibbonTemplate template;
            string         fileName, filePath;
            Stream         zipStream;

            if (!CheckSave())
            {
                return;
            }

            if (emptyFile)
            {
                template = RibbonTemplate.None;
                fileName = string.Empty;
            }
            else if (!NewFileForm.NewFileDialog(out template, out fileName))
            {
                return;
            }

            ClearDocument();
            if (template == RibbonTemplate.None)
            {
                if (!string.IsNullOrEmpty(fileName))
                {
                    _document.SaveToFile(fileName);
                }
            }
            else
            {
                this.Cursor = Cursors.WaitCursor;
                try
                {
                    filePath  = Path.GetDirectoryName(fileName);
                    zipStream = Assembly.GetExecutingAssembly().GetManifestResourceStream("UIRibbonTools.Wordpad.zip");
                    string     tmpFile = Path.Combine(Path.GetTempPath(), Path.GetTempFileName());
                    FileStream fs      = File.Create(tmpFile);
                    zipStream.CopyTo(fs);
                    fs.Close();
                    try
                    {
                        string resFolder = Path.Combine(filePath, "Res");
                        if (Directory.Exists(resFolder))
                        {
                            Directory.Delete(resFolder, true);
                            File.Delete(Path.Combine(filePath, "RibbonMarkup.xml"));
                        }
                        ZipFile.ExtractToDirectory(tmpFile, filePath);
                    }
                    finally
                    {
                        zipStream.Close();
                        File.Delete(tmpFile);
                    }
                    File.Move(Path.Combine(filePath, "RibbonMarkup.xml"), fileName);
                    _document.LoadFromFile(fileName);
                }
                finally
                {
                    this.Cursor = Cursors.Default;
                }
            }

            tabControl.SelectedTab = tabPageCommands;
            ActiveControl          = _commandsFrame.ListViewCommands;
            ShowDocument();
            UpdateCaption();
            UpdateControls();
            ClearModified();
            ShowFilename(fileName);
            _buildPreviewHelper.SetRibbonXmlFile(fileName);
        }