From e7583a09a562e5e66bf482e85ec495fb8a531dcb Mon Sep 17 00:00:00 2001 From: Alexander Date: Mon, 13 Jan 2020 12:40:14 +0200 Subject: [PATCH] Added able to make editor readonly --- Crypto Notepad/App.config | 3 +++ Crypto Notepad/Crypto Notepad.csproj | 1 + Crypto Notepad/Forms/MainForm.Designer.cs | 12 +++++++++ Crypto Notepad/Forms/MainForm.cs | 25 +++++++++++++++--- Crypto Notepad/Forms/SettingsForm.cs | 8 ++++++ Crypto Notepad/Properties/Resources.resx | 3 +++ .../Properties/Settings.Designer.cs | 12 +++++++++ Crypto Notepad/Properties/Settings.settings | 3 +++ Crypto Notepad/Resources/document--pencil.png | Bin 0 -> 693 bytes 9 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 Crypto Notepad/Resources/document--pencil.png diff --git a/Crypto Notepad/App.config b/Crypto Notepad/App.config index de1d8e5..302f2a2 100644 --- a/Crypto Notepad/App.config +++ b/Crypto Notepad/App.config @@ -171,6 +171,9 @@ False + + True + diff --git a/Crypto Notepad/Crypto Notepad.csproj b/Crypto Notepad/Crypto Notepad.csproj index 0c9912a..3456ad5 100644 --- a/Crypto Notepad/Crypto Notepad.csproj +++ b/Crypto Notepad/Crypto Notepad.csproj @@ -199,6 +199,7 @@ + diff --git a/Crypto Notepad/Forms/MainForm.Designer.cs b/Crypto Notepad/Forms/MainForm.Designer.cs index e9da065..57c7933 100644 --- a/Crypto Notepad/Forms/MainForm.Designer.cs +++ b/Crypto Notepad/Forms/MainForm.Designer.cs @@ -56,6 +56,7 @@ public void InitializeComponent() this.mainMenuSeparator6 = new System.Windows.Forms.ToolStripSeparator(); this.selectAllMainMenu = new System.Windows.Forms.ToolStripMenuItem(); this.wordWrapMainMenu = new System.Windows.Forms.ToolStripMenuItem(); + this.readOnlyMainMenu = new System.Windows.Forms.ToolStripMenuItem(); this.mainMenuSeparator7 = new System.Windows.Forms.ToolStripSeparator(); this.clearMainMenu = new System.Windows.Forms.ToolStripMenuItem(); this.toolsMainMenu = new System.Windows.Forms.ToolStripMenuItem(); @@ -280,6 +281,7 @@ public void InitializeComponent() this.mainMenuSeparator6, this.selectAllMainMenu, this.wordWrapMainMenu, + this.readOnlyMainMenu, this.mainMenuSeparator7, this.clearMainMenu}); this.editMainMenu.ForeColor = System.Drawing.SystemColors.ControlText; @@ -381,6 +383,15 @@ public void InitializeComponent() this.wordWrapMainMenu.Text = "Word Wrap"; this.wordWrapMainMenu.Click += new System.EventHandler(this.WordWrapMainMenu_Click); // + // readOnlyMainMenu + // + this.readOnlyMainMenu.CheckOnClick = true; + this.readOnlyMainMenu.Name = "readOnlyMainMenu"; + this.readOnlyMainMenu.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R))); + this.readOnlyMainMenu.Size = new System.Drawing.Size(180, 22); + this.readOnlyMainMenu.Text = "Readonly"; + this.readOnlyMainMenu.Click += new System.EventHandler(this.ReadOnlyMainMenu_Click); + // // mainMenuSeparator7 // this.mainMenuSeparator7.Name = "mainMenuSeparator7"; @@ -1357,5 +1368,6 @@ public void InitializeComponent() protected internal System.Windows.Forms.PictureBox newToolbarButton; protected internal System.Windows.Forms.ToolStripMenuItem newMainMenu; protected internal System.Windows.Forms.ToolStripMenuItem fileMainMenu; + private System.Windows.Forms.ToolStripMenuItem readOnlyMainMenu; } } diff --git a/Crypto Notepad/Forms/MainForm.cs b/Crypto Notepad/Forms/MainForm.cs index 10c74fc..be18d4f 100644 --- a/Crypto Notepad/Forms/MainForm.cs +++ b/Crypto Notepad/Forms/MainForm.cs @@ -416,6 +416,7 @@ protected internal void StatusPanelFileInfo() StatusPanelTextInfo(); } } + statusPanelReadonlyLabel.Text = "Readonly: " + readOnlyMainMenu.Checked.ToString(); } } @@ -560,6 +561,7 @@ private void LoadSettings() statusPanelLinesLabel.Visible = settings.statusPanelLines; statusPanelModifiedLabel.Visible = settings.statusPanelModified; statusPanelSizeLabel.Visible = settings.statusPanelSize; + statusPanelReadonlyLabel.Visible = settings.statusPanelReadonly; richTextBox.WordWrap = settings.editorWrap; richTextBox.ForeColor = settings.editroForeColor; richTextBox.BackColor = settings.editorBackColor; @@ -596,6 +598,7 @@ public void MenuIcons(bool menuIcons) findMainMenu.Image = Resources.magnifier; selectAllMainMenu.Image = Resources.selection_input; wordWrapMainMenu.Image = Resources.wrap_option; + readOnlyMainMenu.Image = Resources.document__pencil; clearMainMenu.Image = Resources.document; changePasswordMainMenu.Image = Resources.key; lockMainMenu.Image = Resources.lock_warning; @@ -836,6 +839,7 @@ private async void MainWindow_Load(object sender, EventArgs e) Methods.DeleteUpdateFiles(); MenuIcons(settings.menuIcons); ToolbarIcons(settings.oldToolbarIcons); + statusPanelReadonlyLabel.Text = "Readonly: " + readOnlyMainMenu.Checked.ToString(); if (args.Length == 2) /*drag & drop to executable*/ { OpenAsotiations(); @@ -1350,6 +1354,12 @@ private void SelectAllMainMenu_Click(object sender, EventArgs e) } } + private void ReadOnlyMainMenu_Click(object sender, EventArgs e) + { + richTextBox.ReadOnly = readOnlyMainMenu.Checked; + statusPanelReadonlyLabel.Text = "Readonly: " + readOnlyMainMenu.Checked.ToString(); + } + private void WordWrapMainMenu_Click(object sender, EventArgs e) { if (wordWrapMainMenu.Checked) @@ -1363,12 +1373,16 @@ private void WordWrapMainMenu_Click(object sender, EventArgs e) settings.menuWrap = wordWrapMainMenu.Checked; settings.editorWrap = richTextBox.WordWrap; settings.Save(); + statusPanelWordwrapLabel.Text = "Word Wrap: " + wordWrapMainMenu.Checked.ToString(); } private void ClearMainMenu_Click(object sender, EventArgs e) { - richTextBox.SelectAll(); - richTextBox.SelectedText = " "; + if (!readOnlyMainMenu.Checked) + { + richTextBox.SelectAll(); + richTextBox.SelectedText = " "; + } } /*Edit*/ @@ -1549,7 +1563,10 @@ private void RightToLeftContextMenu_Click(object sender, EventArgs e) private void ClearContextMenu_Click(object sender, EventArgs e) { - ClearMainMenu_Click(this, new EventArgs()); + if (!readOnlyMainMenu.Checked) + { + ClearMainMenu_Click(this, new EventArgs()); + } } #endregion @@ -1924,6 +1941,8 @@ private void VariablesMainMenu_Click(object sender, EventArgs e) Debug.WriteLine("metadataCorrupt: " + PublicVar.metadataCorrupt); #endif } + + #endregion diff --git a/Crypto Notepad/Forms/SettingsForm.cs b/Crypto Notepad/Forms/SettingsForm.cs index e5d10b1..a97460a 100644 --- a/Crypto Notepad/Forms/SettingsForm.cs +++ b/Crypto Notepad/Forms/SettingsForm.cs @@ -57,6 +57,7 @@ private void LoadSettings() statusPanelModifiedCheckBox.Checked = settings.statusPanelModified; statusPanelSizeCheckBox.Checked = settings.statusPanelSize; statusPanelLabelsGroupBox.Visible = settings.statusPanelVisible; + statusPanelReadonlyCheckBox.Checked = settings.statusPanelReadonly; encryptionHintLabel.Visible = settings.encryptionHint; } #endregion @@ -556,6 +557,13 @@ private void StatusPanelSizeCheckBox_Click(object sender, EventArgs e) } #endregion + private void StatusPanelReadonlyCheckBox_Click(object sender, EventArgs e) + { + MainForm main = Owner as MainForm; + main.statusPanelReadonlyLabel.Visible = statusPanelReadonlyCheckBox.Checked; + settings.statusPanelReadonly = statusPanelReadonlyCheckBox.Checked; + main.StatusPanelFileInfo(); + } } } \ No newline at end of file diff --git a/Crypto Notepad/Properties/Resources.resx b/Crypto Notepad/Properties/Resources.resx index 474d9c5..a21fe8e 100644 --- a/Crypto Notepad/Properties/Resources.resx +++ b/Crypto Notepad/Properties/Resources.resx @@ -1053,4 +1053,7 @@ xJcYtFboYiS58tuSgL/TRqSIfPg4hwAAAABJRU5ErkJggg== + + ..\Resources\document--pencil.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/Crypto Notepad/Properties/Settings.Designer.cs b/Crypto Notepad/Properties/Settings.Designer.cs index ab2538f..578a04e 100644 --- a/Crypto Notepad/Properties/Settings.Designer.cs +++ b/Crypto Notepad/Properties/Settings.Designer.cs @@ -712,5 +712,17 @@ public bool passwordGeneratorAdditional { this["passwordGeneratorAdditional"] = value; } } + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Configuration.SettingsProviderAttribute(typeof(PortableSettingsProvider))] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("True")] + public bool statusPanelReadonly { + get { + return ((bool)(this["statusPanelReadonly"])); + } + set { + this["statusPanelReadonly"] = value; + } + } } } diff --git a/Crypto Notepad/Properties/Settings.settings b/Crypto Notepad/Properties/Settings.settings index 2f82f62..e29c345 100644 --- a/Crypto Notepad/Properties/Settings.settings +++ b/Crypto Notepad/Properties/Settings.settings @@ -161,5 +161,8 @@ False + + True + \ No newline at end of file diff --git a/Crypto Notepad/Resources/document--pencil.png b/Crypto Notepad/Resources/document--pencil.png new file mode 100644 index 0000000000000000000000000000000000000000..775dfcd7682fb79e65fbe7e5fefc93e90dfb3280 GIT binary patch literal 693 zcmV;m0!safP))kxHaI5K8V zrdvDd+4uFnXFKy?;0w>bv-7>r^F8nL9qo2|JGeAWYonzad)Ip@<$^30p_Ib+SPVKp zaM2p}tnTNW%5&SWxp5se~TSNF0z8huPV&ujs? zBOsV8Y#IC~5)Oy$ar}NiM&j}H3dtgYGAPHAfCCoU=k=mW*P#o+L6`KXmpNA_CTIjw z-#vo6b~|Aa;%N8#`*ARpf?$C%N+ZxoVh<-C`hO~!3>{CU`e^uT!s3uh5RQYrMAp-3 zNiiDoL0edZJWrPW8QNQHyh9 z%Cs!?S4zdb%waAcbchi28O9Ca^Bs1lo=+qm-f7)G_bnTkUfS?4JMU$ouv$naN9pnB bKLG{+rsz%9ZOVz500000NkvXXu0mjfQ5`;D literal 0 HcmV?d00001