예제 #1
0
        private static void RelaxModeOn(Form1 form)
        {
            XtraTabControl    pagesTabControl             = form.pagesTabControl;
            ToolStrip         sessionToolStrip            = form.sessionToolStrip;
            ToolStripMenuItem fullscreenToolStripMenuItem = form.fullscreenToolStripMenuItem;

            pagesTabControl.ContextMenuStrip    = null;
            pagesTabControl.ShowTabHeader       = DefaultBoolean.False;
            fullscreenToolStripMenuItem.Text    = LanguageUtil.GetCurrentLanguageString("ExitRelaxMode", className);
            fullscreenToolStripMenuItem.Visible = true;

            WindowManager.CheckToolbar(form, true, false, false);
            WindowManager.CheckStatusBar(form, true, false, false);
            WindowManager.CheckLineNumbers(form, false, false);
            WindowManager.CheckWordWrap(form, false, false);
            WindowManager.CheckInternalExplorer(form, false, false);
            WindowManager.CheckSearchReplacePanel(form, false, false);

            sessionToolStrip.Visible = false;

            form.FormBorderStyle = FormBorderStyle.None;
            form.TopMost         = true;
            form.WindowState     = FormWindowState.Normal;
            form.Size            = new Size(Screen.FromControl(form).Bounds.Width, Screen.FromControl(form).Bounds.Height);
            form.SetDesktopLocation(0, 0);

            #if Debug
            form.TopMost = false;
            #endif

            AddRelaxModeMargins(form);

            if (ColumnRulerManager.IsPanelOpen(pagesTabControl.SelectedTabPage))
            {
                ColumnRulerManager.ClosePanel(pagesTabControl.SelectedTabPage);
            }
            if (CustomFilesManager.IsHostsSectionPanelOpen(form))
            {
                CustomFilesManager.ToggleHostsSectionPanel(form);
            }
            if (CustomFilesManager.IsAnnotationPanelOpen(form))
            {
                CustomFilesManager.HideAnnotationPanel(form);
            }
        }
예제 #2
0
        private static bool SaveFile(bool saveNewRecentFile, Form1 form, bool forceSaveAs, bool forceBackup, bool savingAll = false)
        {
            XtraTabControl       pagesTabControl      = form.pagesTabControl;
            ToolStripStatusLabel toolStripStatusLabel = form.toolStripStatusLabel;
            ToolStripProgressBar toolStripProgressBar = form.toolStripProgressBar;
            SaveFileDialog       saveFileDialog       = form.saveFileDialog;

            try
            {
                String fileName;

                if (String.IsNullOrEmpty(ProgramUtil.GetFilenameTabPage(pagesTabControl.SelectedTabPage)) || forceSaveAs)
                {
                    saveFileDialog.InitialDirectory = FileUtil.GetInitialFolder(form);
                    SetFileDialogFilter(saveFileDialog);

                    TabsUpdate(pagesTabControl, savingAll, UpdatePhase.End);   //Useful to save all execution
                    DialogResult saveNewResult = saveFileDialog.ShowDialog();
                    TabsUpdate(pagesTabControl, savingAll, UpdatePhase.Begin); //Useful to save all execution

                    if (saveNewResult != DialogResult.OK)
                    {
                        toolStripProgressBar.Visible = false;
                        return(false);
                    }

                    fileName = saveFileDialog.FileName;
                }
                else
                {
                    fileName = ProgramUtil.GetFilenameTabPage(pagesTabControl.SelectedTabPage);
                }

                //Check that fileName is not already opened into another tab
                foreach (XtraTabPage tabPage in pagesTabControl.TabPages)
                {
                    if (tabPage == pagesTabControl.SelectedTabPage || ProgramUtil.GetFilenameTabPage(tabPage) != fileName)
                    {
                        continue;
                    }

                    pagesTabControl.SelectedTabPage = tabPage;

                    TabsUpdate(pagesTabControl, savingAll, UpdatePhase.End);   //Useful to save all execution
                    WindowManager.ShowAlertBox(form, LanguageUtil.GetCurrentLanguageString("FileAlreadyOpen", className));
                    TabsUpdate(pagesTabControl, savingAll, UpdatePhase.Begin); //Useful to save all execution

                    return(false);
                }

                bool favouriteFile = FavouriteManager.IsFileFavourite(fileName);

                Application.DoEvents();
                toolStripProgressBar.Value   = 0;
                toolStripProgressBar.Visible = true;

                toolStripProgressBar.PerformStep();

                if (!favouriteFile)
                {
                    ConfigUtil.UpdateParameter("LastUserFolder", Path.GetDirectoryName(fileName));
                }

                FileInfo fileInfo = new FileInfo(fileName);
                if (fileInfo.IsReadOnly && fileInfo.Exists)
                {
                    toolStripProgressBar.Visible = false;

                    TabsUpdate(pagesTabControl, savingAll, UpdatePhase.End);   //Useful to save all execution
                    WindowManager.ShowInfoBox(form, LanguageUtil.GetCurrentLanguageString("SavingReadonly", className));
                    TabsUpdate(pagesTabControl, savingAll, UpdatePhase.Begin); //Useful to save all execution

                    return(SaveFile(form, true));
                }

                bool backupConfigActive = ConfigUtil.GetBoolParameter("BackupEnabled");
                if ((!String.IsNullOrEmpty(ProgramUtil.GetFilenameTabPage(pagesTabControl.SelectedTabPage)) && !forceSaveAs) && (forceBackup || backupConfigActive))
                {
                    TabsUpdate(pagesTabControl, savingAll, UpdatePhase.End);   //Useful to save all execution
                    bool saved = BackupFileOnSaving(form, fileName);
                    TabsUpdate(pagesTabControl, savingAll, UpdatePhase.Begin); //Useful to save all execution

                    if (saved == false)
                    {
                        toolStripProgressBar.Visible = false;
                        return(false);
                    }
                }

                toolStripProgressBar.PerformStep();
                if (SaveFileCoreWithEncoding(form, fileName, savingAll) == false)
                {
                    toolStripProgressBar.Visible = false;
                    return(false);
                }

                if (!favouriteFile && saveNewRecentFile)
                {
                    FileListManager.SetNewRecentFile(form, fileName);
                }

                if (CustomFilesManager.IsHostsSectionPanelOpen(form))
                {
                    CustomFilesManager.GetSections(form, false);
                }
                toolStripProgressBar.PerformStep();

                CustomRichTextBox pageTextBox = ProgramUtil.GetPageTextBox(pagesTabControl.SelectedTabPage);

                ProgramUtil.SetFilenameTabPage(pagesTabControl.SelectedTabPage, fileName);
                pagesTabControl.SelectedTabPage.ImageIndex = 0;
                pagesTabControl.SelectedTabPage.Text       = Path.GetFileName(fileName);
                pageTextBox.CustomModified = false;
                pageTextBox.CustomOriginal = ProgramUtil.GetPageTextBox(pagesTabControl.SelectedTabPage).Text.GetHashCode().ToString();
                form.Text = String.Format("DtPad - {0}", Path.GetFileName(fileName));
                toolStripStatusLabel.Text = String.Format("{0} \"{1}\" {2}", LanguageUtil.GetCurrentLanguageString("File", className), Path.GetFileName(fileName), LanguageUtil.GetCurrentLanguageString("Saved", className));
                TabManager.ToggleTabFileTools(form, true);

                toolStripProgressBar.PerformStep();
                toolStripProgressBar.Visible = false;
            }
            catch (Exception exception)
            {
                TabManager.ToggleTabFileTools(form, false);
                toolStripProgressBar.Visible = false;

                TabsUpdate(pagesTabControl, savingAll, UpdatePhase.End);   //Useful to save all execution
                WindowManager.ShowErrorBox(form, exception.Message, exception);
                TabsUpdate(pagesTabControl, savingAll, UpdatePhase.Begin); //Useful to save all execution

                return(false);
            }

            return(true);
        }
예제 #3
0
        private static void NoteModeOn(Form1 form)
        {
            MenuStrip           menuStrip              = form.menuStrip;
            ToolStrip           toolStrip              = form.toolStrip;
            XtraTabControl      pagesTabControl        = form.pagesTabControl;
            SplitContainer      verticalSplitContainer = form.verticalSplitContainer;
            ToolStrip           sessionToolStrip       = form.sessionToolStrip;
            Panel               searchReplacePanel     = form.searchReplacePanel;
            StatusStrip         statusStrip            = form.statusStrip;
            PictureBox          zoomPictureBox         = form.zoomPictureBox;
            ZoomTrackBarControl zoomTrackBarControl    = form.zoomTrackBarControl;

            if (ConfigUtil.GetBoolParameter("NoteModeTabs"))
            {
                ContextMenuStrip smallPageContextMenuStrip = new ContextMenuStrip();
                for (int i = 0; i < 2; i++)
                {
                    smallPageContextMenuStrip.Items.Add(
                        ((CustomToolStripMenuItem)form.pageContextMenuStrip.Items[i]).Clone());
                }
                pagesTabControl.ContextMenuStrip = smallPageContextMenuStrip;
                pagesTabControl.CustomHeaderButtons.Clear();
            }
            else
            {
                pagesTabControl.ContextMenuStrip = null;
                pagesTabControl.ShowTabHeader    = DefaultBoolean.False;
            }

            menuStrip.Visible = false;
            toolStrip.Visible = false;
            verticalSplitContainer.Panel1.Padding  = new Padding(0, 0, 0, 0);
            verticalSplitContainer.Panel2Collapsed = true;
            sessionToolStrip.Visible    = false;
            searchReplacePanel.Visible  = false;
            statusStrip.Visible         = false;
            zoomPictureBox.Visible      = false;
            zoomTrackBarControl.Visible = false;
            form.TopMost         = true;
            form.FormBorderStyle = FormBorderStyle.SizableToolWindow;

            #if Debug
            form.TopMost = false;
            #endif

            for (int i = 0; i < pagesTabControl.TabPages.Count; i++)
            {
                CustomLineNumbers customLineNumbers = ProgramUtil.GetCustomLineNumbers(pagesTabControl.TabPages[i]);
                CustomRichTextBox pageTextBox       = ProgramUtil.GetPageTextBox(pagesTabControl.TabPages[i]);

                if (ColumnRulerManager.IsPanelOpen(pagesTabControl.TabPages[i]))
                {
                    ColumnRulerManager.ClosePanel(pagesTabControl.TabPages[i]);
                }

                customLineNumbers.Visible = false;
                pageTextBox.WordWrap      = true;
            }

            form.WindowState = FormWindowState.Normal;
            form.Size        = new Size(ConfigUtil.GetIntParameter("NoteModeSizeX"), ConfigUtil.GetIntParameter("NoteModeSizeY"));
            if (CustomFilesManager.IsHostsSectionPanelOpen(form))
            {
                form.Width += ConstantUtil.hostsPanelWidth; //ProgramUtil.GetSectionsPanel(pagesTabControl.SelectedTabPage).Width;
            }
            if (CustomFilesManager.IsAnnotationPanelOpen(form))
            {
                CustomFilesManager.HideAnnotationPanel(form);
            }
        }
예제 #4
0
        private static void OpenPanel(Form1 form, XtraTabPage tabPage)
        {
            CustomRichTextBox pageTextBox       = ProgramUtil.GetPageTextBox(tabPage);
            CustomLineNumbers customLineNumbers = ProgramUtil.GetCustomLineNumbers(tabPage);

            bool wasHostsSectionOpen = false;

            if (CustomFilesManager.IsHostsSectionPanelOpen(form))
            {
                wasHostsSectionOpen = true;
                CustomFilesManager.ToggleHostsSectionPanel(form, true);
            }
            String annotationText = String.Empty;

            if (CustomFilesManager.IsAnnotationPanelOpen(form))
            {
                annotationText = CustomFilesManager.GetAnnotationPanelText(form);
                CustomFilesManager.ToggleAnnotationPanel(form, true);
            }

            int left = 0;

            if (ConfigUtil.GetBoolParameter("LineNumbersVisible"))
            {
                left = customLineNumbers.Width;
            }

            //Panel
            RichTextBox columnRulerTextBox = new RichTextBox
            {
                Anchor      = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left,
                BackColor   = pageTextBox.BackColor,
                BorderStyle = BorderStyle.None,
                Font        = pageTextBox.Font,
                //ForeColor = pageTextBox.ForeColor,
                ForeColor        = SystemColors.AppWorkspace,
                Height           = Convert.ToInt32(pageTextBox.Font.GetHeight() * 2 + 5),                            //35
                Left             = left,
                Multiline        = true,
                Name             = "columnRulerTextBox",
                ReadOnly         = true,
                ScrollBars       = RichTextBoxScrollBars.None,
                ShortcutsEnabled = false,
                Text             = ConstantUtil.columnsHeader,
                Width            = pageTextBox.Width + 1,
                WordWrap         = false
            };
            CustomPanel columnRulerPanel = new CustomPanel
            {
                Dock                     = DockStyle.Top,
                Height                   = columnRulerTextBox.Height + 1,
                Name                     = "columnRulerPanel",
                Width                    = tabPage.Width,
                HorizontalLine           = true,
                MarginLeftHorizontalLine = tabPage.Width - columnRulerTextBox.Width - 5
            };

            columnRulerPanel.Controls.Add(columnRulerTextBox);
            tabPage.Controls.Add(columnRulerPanel);

            if (wasHostsSectionOpen)
            {
                CustomFilesManager.ToggleHostsSectionPanel(form, true);
            }
            if (!String.IsNullOrEmpty(annotationText))
            {
                CustomFilesManager.ToggleAnnotationPanel(form);
                CustomFilesManager.SetAnnotationPanelText(form, annotationText);
            }

            pageTextBox.Focus();
        }